@jlongo78/agent-spaces 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/.next/standalone/.claude/settings.local.json +17 -4
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/routes-manifest.json +6 -0
  6. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  23. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  31. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  32. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  35. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  39. package/.next/standalone/.next/server/app/admin/analytics.rsc +2 -2
  40. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +2 -2
  45. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  47. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  49. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  57. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/analytics.html +1 -1
  59. package/.next/standalone/.next/server/app/analytics.rsc +2 -2
  60. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
  64. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  66. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  67. package/.next/standalone/.next/server/app/api/analytics/overview/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +1 -1
  74. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/bulk/route.js +1 -1
  80. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/config/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/cortex/context/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +1 -1
  88. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +1 -1
  90. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/cortex/export/route.js +1 -1
  96. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/import/route.js +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/cortex/search/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/cortex/settings/route.js +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/cortex/status/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/cortex/usage/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/files/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/folders/route.js +1 -1
  156. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/network/handshake/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/network/panes/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/network/panes/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/network/projects/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/network/search/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/network/sessions/route.js +1 -1
  172. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +1 -1
  176. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/panes/[id]/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/panes/route.js +1 -1
  182. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  184. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js +1 -1
  188. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/search/route.js +2 -2
  190. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js +1 -1
  194. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
  196. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/api/sessions/route.js +2 -2
  198. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/sync/route.js +1 -1
  200. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/app/api/tags/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/tier/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/whisper/config/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/whisper/config/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/wizard/chart/route/app-paths-manifest.json +3 -0
  209. package/.next/standalone/.next/server/app/api/wizard/chart/route/build-manifest.json +11 -0
  210. package/.next/standalone/.next/server/app/api/wizard/chart/route/server-reference-manifest.json +4 -0
  211. package/.next/standalone/.next/server/app/api/wizard/chart/route.js +7 -0
  212. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.map +5 -0
  213. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.nft.json +1 -0
  214. package/.next/standalone/.next/server/app/api/wizard/chart/route_client-reference-manifest.js +2 -0
  215. package/.next/standalone/.next/server/app/api/wizard/chat/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/wizard/chat/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js +1 -1
  218. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js +1 -1
  222. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js +1 -1
  224. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js +1 -1
  226. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  227. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/workspaces/route.js +2 -2
  230. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/cortex.html +1 -1
  232. package/.next/standalone/.next/server/app/cortex.rsc +3 -3
  233. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  234. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  235. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  236. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
  237. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  239. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  240. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/login.html +1 -1
  242. package/.next/standalone/.next/server/app/login.rsc +2 -2
  243. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  244. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  245. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  246. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  247. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  249. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  252. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  253. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  254. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  256. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  260. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  261. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  262. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  264. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  265. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  266. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  270. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  271. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  274. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  275. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  276. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  277. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  278. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  279. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  284. package/.next/standalone/.next/server/app/m/terminal.rsc +3 -3
  285. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
  286. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  287. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  288. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  289. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/m.html +1 -1
  293. package/.next/standalone/.next/server/app/m.rsc +2 -2
  294. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  295. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  297. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  298. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  299. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/network.html +1 -1
  301. package/.next/standalone/.next/server/app/network.rsc +2 -2
  302. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  305. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  306. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  308. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  309. package/.next/standalone/.next/server/app/projects.html +1 -1
  310. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  311. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  312. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  314. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  317. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  318. package/.next/standalone/.next/server/app/sessions.html +1 -1
  319. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  320. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  322. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  325. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  326. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  327. package/.next/standalone/.next/server/app/settings.html +1 -1
  328. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  329. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  331. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  333. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  334. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  335. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  336. package/.next/standalone/.next/server/app/terminal.html +1 -1
  337. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  338. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  339. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  342. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  344. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  345. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +1 -1
  346. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  347. package/.next/standalone/.next/server/app/vr.html +1 -1
  348. package/.next/standalone/.next/server/app/vr.rsc +3 -3
  349. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
  350. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  353. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  354. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  356. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  357. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  363. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  364. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  365. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +98 -0
  366. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +98 -0
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +98 -0
  368. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__bb331da9._.js → [root-of-the-server]__046c9b91._.js} +2 -2
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +98 -0
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
  371. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__186cd0bb._.js → [root-of-the-server]__0ac4ea3f._.js} +2 -2
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +98 -0
  373. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d95165f0._.js → [root-of-the-server]__0facd39e._.js} +2 -2
  374. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__69d315e5._.js → [root-of-the-server]__10bc76a3._.js} +2 -2
  375. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__9d68157b._.js → [root-of-the-server]__115f3934._.js} +2 -2
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +3 -0
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +22 -33
  378. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__91e23c96._.js → [root-of-the-server]__17a3b966._.js} +2 -2
  379. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__277d9445._.js → [root-of-the-server]__17d3a2b2._.js} +2 -2
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +98 -0
  381. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d0125483._.js → [root-of-the-server]__20b5e9c4._.js} +2 -2
  382. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__35f8e77e._.js → [root-of-the-server]__28d6fbd8._.js} +3 -3
  383. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04f04898._.js → [root-of-the-server]__2a3f866b._.js} +2 -2
  384. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a95bb38b._.js → [root-of-the-server]__316617e7._.js} +2 -2
  385. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b689ff5e._.js → [root-of-the-server]__32ad8f71._.js} +3 -11
  386. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__6fe5e6c8._.js → [root-of-the-server]__35457394._.js} +2 -2
  387. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1f054c65._.js → [root-of-the-server]__35de78e6._.js} +2 -2
  388. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2f452778._.js → [root-of-the-server]__3685ffcb._.js} +3 -3
  389. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__614458b7._.js → [root-of-the-server]__38954988._.js} +2 -2
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +106 -0
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +98 -0
  392. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e6fd27f8._.js → [root-of-the-server]__5c6ce9ed._.js} +3 -3
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +98 -0
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +98 -0
  395. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__74084e07._.js → [root-of-the-server]__65676930._.js} +2 -2
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +58 -0
  397. package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +98 -0
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c64af29._.js +131 -0
  399. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d12644e7._.js → [root-of-the-server]__73aed9f5._.js} +3 -3
  400. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__ac84b704._.js → [root-of-the-server]__79b6a9bb._.js} +2 -2
  401. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e56abacf._.js → [root-of-the-server]__7db704c6._.js} +2 -2
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +98 -0
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +98 -0
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +98 -0
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +98 -0
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +98 -0
  407. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +98 -0
  408. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0903a426._.js → [root-of-the-server]__8d536cb5._.js} +3 -3
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +98 -0
  410. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2d7a454e._.js → [root-of-the-server]__8f2ccc41._.js} +2 -2
  411. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2a2c5fc5._.js → [root-of-the-server]__95c9d682._.js} +2 -2
  412. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +98 -0
  413. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cc6e2885._.js → [root-of-the-server]__9edcff87._.js} +2 -2
  414. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__feceb3e4._.js → [root-of-the-server]__a049dfc2._.js} +3 -3
  415. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +98 -0
  416. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__929ea03a._.js → [root-of-the-server]__a83262a1._.js} +2 -2
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +98 -0
  418. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2f300a68._.js → [root-of-the-server]__a9d7f822._.js} +3 -3
  419. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +98 -0
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +98 -0
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +98 -0
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +98 -0
  423. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +98 -0
  424. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__ad4346fa._.js → [root-of-the-server]__c011bf91._.js} +3 -3
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0ac2895._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__563c0817._.js → [root-of-the-server]__c37d6380._.js} +2 -2
  427. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4d5b78d2._.js → [root-of-the-server]__cae392eb._.js} +3 -3
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc2616bb._.js +3 -3
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +98 -0
  430. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d0109b9b._.js → [root-of-the-server]__d59c6c15._.js} +3 -3
  431. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__11c684b1._.js → [root-of-the-server]__d5c1db32._.js} +3 -3
  432. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b43306ee._.js → [root-of-the-server]__dba60c86._.js} +3 -3
  433. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2384f98e._.js → [root-of-the-server]__de14b9ae._.js} +2 -2
  434. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c1deb5f3._.js → [root-of-the-server]__e10643d1._.js} +3 -3
  435. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00fdfbda._.js → [root-of-the-server]__e2a996e5._.js} +2 -2
  436. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4d903941._.js → [root-of-the-server]__e3477417._.js} +2 -2
  437. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__32dc5513._.js → [root-of-the-server]__e4db362e._.js} +2 -2
  438. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__49e42a3a._.js → [root-of-the-server]__e4e70b86._.js} +2 -2
  439. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__ac39ecc7._.js → [root-of-the-server]__e54925af._.js} +2 -2
  440. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a90729a1._.js → [root-of-the-server]__e8edc5b0._.js} +3 -3
  441. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eafd040b._.js → [root-of-the-server]__eab4d83b._.js} +2 -2
  442. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +1 -1
  443. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__194955d4._.js → [root-of-the-server]__f056fd83._.js} +2 -2
  444. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +98 -0
  445. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +98 -0
  446. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c8a62f42._.js → [root-of-the-server]__ff9cd277._.js} +3 -3
  447. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +98 -0
  448. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wizard_chart_route_actions_888e2ec1.js +3 -0
  449. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2cffc362._.js +3 -0
  450. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__f1050870._.js → [root-of-the-server]__47c97637._.js} +2 -2
  451. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  452. package/.next/standalone/.next/server/chunks/ssr/_17b946fd._.js +3 -0
  453. package/.next/standalone/.next/server/chunks/ssr/_2a1d79e7._.js +1 -1
  454. package/.next/standalone/.next/server/chunks/ssr/_5c3c4cfa._.js +7 -5
  455. package/.next/standalone/.next/server/chunks/ssr/_ba432382._.js +7 -5
  456. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
  457. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +4 -4
  458. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  459. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  460. package/.next/standalone/.next/server/pages/404.html +1 -1
  461. package/.next/standalone/.next/server/pages/500.html +2 -2
  462. package/.next/standalone/.next/static/chunks/0852575eb90c1e8d.js +85 -0
  463. package/.next/standalone/.next/static/chunks/{74d0ac0b1d0a1b79.js → 10b00b4f66102dcf.js} +1 -1
  464. package/.next/standalone/.next/static/chunks/{16eb77953dee9ea3.js → 19c71a8376c23c58.js} +1 -1
  465. package/.next/standalone/.next/static/chunks/2b769d1597e4fc1c.css +3 -0
  466. package/.next/standalone/.next/static/chunks/{3e91fc608659c524.js → 350271fe79509caf.js} +1 -1
  467. package/.next/standalone/.next/static/chunks/{70423c7afd8abf5f.js → 597847c22200c212.js} +1 -1
  468. package/.next/standalone/.next/static/chunks/{fb0abd1933b2b2e1.js → 7f6a14f1849fa94d.js} +1 -1
  469. package/.next/standalone/.next/static/chunks/{7ecd9bbb0ce4d68a.js → b7c8fe9b7275a84f.js} +1 -1
  470. package/.next/standalone/.next/static/chunks/{6245135a7afb8c7b.js → c9b10fc55516d142.js} +8 -6
  471. package/.next/standalone/.next/static/chunks/d0065f48eab94944.js +1 -0
  472. package/.next/standalone/.next/static/chunks/{180c1b9ff31b979f.js → f7b34c807badf95d.js} +8 -6
  473. package/.next/standalone/.spaces/cortex-context.md +35 -129
  474. package/.next/standalone/bin/spaces.js +7 -4
  475. package/.next/standalone/bin/terminal-server.js +48 -10
  476. package/.next/standalone/cortex-hook-debug.log +57 -23
  477. package/.next/standalone/package-lock.json +2 -2
  478. package/.next/standalone/package.json +1 -1
  479. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +44 -5
  480. package/.next/standalone/src/app/api/benchmark/run/route.ts +24 -3
  481. package/.next/standalone/src/app/api/cortex/context/route.ts +1 -1
  482. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +1 -1
  483. package/.next/standalone/src/app/api/cortex/search/route.ts +14 -2
  484. package/.next/standalone/src/app/api/folders/route.ts +16 -6
  485. package/.next/standalone/src/app/api/network/panes/[id]/route.ts +27 -11
  486. package/.next/standalone/src/app/api/network/panes/route.ts +25 -14
  487. package/.next/standalone/src/app/api/network/projects/route.ts +11 -4
  488. package/.next/standalone/src/app/api/network/search/route.ts +21 -14
  489. package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +18 -11
  490. package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +16 -9
  491. package/.next/standalone/src/app/api/network/sessions/route.ts +25 -18
  492. package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +21 -12
  493. package/.next/standalone/src/app/api/network/workspaces/route.ts +16 -14
  494. package/.next/standalone/src/app/api/whisper/config/route.ts +16 -8
  495. package/.next/standalone/src/app/api/wizard/chart/route.ts +129 -0
  496. package/.next/standalone/src/components/cortex/benchmark-tab.tsx +14 -0
  497. package/.next/standalone/src/components/terminal/terminal-pane.tsx +78 -12
  498. package/.next/standalone/src/components/wizard/chart-wizard.tsx +405 -0
  499. package/.next/standalone/src/hooks/use-benchmark.ts +1 -0
  500. package/.next/standalone/src/hooks/use-speech-recognition.ts +2 -1
  501. package/.next/standalone/src/lib/cortex/benchmark.ts +17 -1
  502. package/.next/standalone/src/lib/cortex/index.ts +54 -1
  503. package/.next/standalone/src/lib/db/queries.ts +2 -89
  504. package/.next/standalone/src/lib/shell-user.ts +101 -0
  505. package/bin/spaces.js +7 -4
  506. package/bin/terminal-server.js +48 -10
  507. package/package.json +1 -1
  508. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09e8ccc9._.js +0 -98
  509. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1572d4ef._.js +0 -98
  510. package/.next/standalone/.next/server/chunks/[root-of-the-server]__212760e6._.js +0 -98
  511. package/.next/standalone/.next/server/chunks/[root-of-the-server]__228595ec._.js +0 -98
  512. package/.next/standalone/.next/server/chunks/[root-of-the-server]__283c890f._.js +0 -3
  513. package/.next/standalone/.next/server/chunks/[root-of-the-server]__379fc2e9._.js +0 -98
  514. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3b40d79f._.js +0 -98
  515. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3d3dca2b._.js +0 -98
  516. package/.next/standalone/.next/server/chunks/[root-of-the-server]__54163e52._.js +0 -98
  517. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5812f90a._.js +0 -98
  518. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c5e87f5._.js +0 -98
  519. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60d15b16._.js +0 -98
  520. package/.next/standalone/.next/server/chunks/[root-of-the-server]__71f29038._.js +0 -98
  521. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7921aa80._.js +0 -98
  522. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e077dd8._.js +0 -98
  523. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7ebc4280._.js +0 -131
  524. package/.next/standalone/.next/server/chunks/[root-of-the-server]__857c60bb._.js +0 -98
  525. package/.next/standalone/.next/server/chunks/[root-of-the-server]__874fe565._.js +0 -98
  526. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8e2171f7._.js +0 -98
  527. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95659b2d._.js +0 -98
  528. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9679b91e._.js +0 -98
  529. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0862d69._.js +0 -98
  530. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba87daaa._.js +0 -98
  531. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0461005._.js +0 -98
  532. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cabaac2b._.js +0 -98
  533. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cb027619._.js +0 -98
  534. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf608218._.js +0 -98
  535. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfc1290d._.js +0 -98
  536. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d048ee6b._.js +0 -98
  537. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3cc946c._.js +0 -98
  538. package/.next/standalone/.next/server/chunks/[root-of-the-server]__efb8251e._.js +0 -98
  539. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f44c6882._.js +0 -98
  540. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f85283de._.js +0 -98
  541. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__843070a6._.js +0 -3
  542. package/.next/standalone/.next/server/chunks/ssr/_e84a0c06._.js +0 -3
  543. package/.next/standalone/.next/static/chunks/9d4164833c2c1fd6.js +0 -85
  544. package/.next/standalone/.next/static/chunks/bffaf378f7745d59.css +0 -3
  545. package/.next/standalone/.next/static/chunks/f091f4bf8d80fd07.js +0 -1
  546. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → u1pHON3drz1mBi7owkbBP}/_buildManifest.js +0 -0
  547. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → u1pHON3drz1mBi7owkbBP}/_clientMiddlewareManifest.json +0 -0
  548. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → u1pHON3drz1mBi7owkbBP}/_ssgManifest.js +0 -0
@@ -0,0 +1,101 @@
1
+ import fs from 'fs';
2
+ import os from 'os';
3
+ import path from 'path';
4
+ import { spawnSync } from 'child_process';
5
+
6
+ const ADMIN_DB_PATH = path.join(os.homedir(), '.spaces', 'admin.db');
7
+ const SERVICE_KEY = path.join(os.homedir(), '.spaces', 'service_key');
8
+ const KNOWN_HOSTS = path.join(os.homedir(), '.spaces', 'known_hosts');
9
+
10
+ type AdminDb = {
11
+ prepare: (sql: string) => { get: (...args: unknown[]) => unknown };
12
+ };
13
+
14
+ let _adminDb: AdminDb | null = null;
15
+
16
+ function getAdminDb(): AdminDb | null {
17
+ if (_adminDb) return _adminDb;
18
+ if (!fs.existsSync(ADMIN_DB_PATH)) return null;
19
+ try {
20
+ const Database = require('better-sqlite3');
21
+ _adminDb = new Database(ADMIN_DB_PATH, { readonly: true, fileMustExist: true }) as AdminDb;
22
+ return _adminDb;
23
+ } catch {
24
+ return null;
25
+ }
26
+ }
27
+
28
+ /** Map an app-level username to the OS shell user (falls back to the same name). */
29
+ export function lookupShellUser(appUsername: string): string {
30
+ const db = getAdminDb();
31
+ if (!db) return appUsername;
32
+ try {
33
+ const row = db.prepare('SELECT shell_user FROM users WHERE username = ?').get(appUsername) as
34
+ | { shell_user?: string }
35
+ | undefined;
36
+ return row?.shell_user || appUsername;
37
+ } catch {
38
+ return appUsername;
39
+ }
40
+ }
41
+
42
+ /** Resolve a shell user's home directory via getent; falls back to platform convention. */
43
+ export function resolveHome(shellUser: string): string {
44
+ if (shellUser === os.userInfo().username) return os.homedir();
45
+ try {
46
+ const r = spawnSync('getent', ['passwd', shellUser], { encoding: 'utf-8', timeout: 5000 });
47
+ const home = (r.stdout || '').split(':')[5];
48
+ if (home) return home.trim();
49
+ } catch { /* fall through */ }
50
+ return process.platform === 'darwin' ? `/Users/${shellUser}` : `/home/${shellUser}`;
51
+ }
52
+
53
+ function shellQuote(s: string): string {
54
+ return "'" + s.replace(/'/g, "'\\''") + "'";
55
+ }
56
+
57
+ export interface ExecResult {
58
+ status: number;
59
+ stdout: string;
60
+ stderr: string;
61
+ }
62
+
63
+ /**
64
+ * Run a command as the given shell user.
65
+ * When the target matches the server process user, spawns directly.
66
+ * Otherwise SSHes to localhost using the Spaces service key — the same mechanism terminal panes use.
67
+ */
68
+ export function execAsUser(shellUser: string, argv: string[], opts: { timeoutMs?: number } = {}): ExecResult {
69
+ const timeout = opts.timeoutMs ?? 10000;
70
+ const processUser = os.userInfo().username;
71
+
72
+ if (shellUser === processUser) {
73
+ const [cmd, ...rest] = argv;
74
+ const r = spawnSync(cmd, rest, { encoding: 'utf-8', timeout });
75
+ return {
76
+ status: r.status ?? (r.error ? 1 : 0),
77
+ stdout: r.stdout || '',
78
+ stderr: r.stderr || (r.error?.message ?? ''),
79
+ };
80
+ }
81
+
82
+ const remoteCmd = argv.map(shellQuote).join(' ');
83
+ const r = spawnSync(
84
+ 'ssh',
85
+ [
86
+ '-4',
87
+ '-o', 'StrictHostKeyChecking=accept-new',
88
+ '-o', `UserKnownHostsFile=${KNOWN_HOSTS}`,
89
+ '-o', 'BatchMode=yes',
90
+ '-i', SERVICE_KEY,
91
+ `${shellUser}@localhost`,
92
+ remoteCmd,
93
+ ],
94
+ { encoding: 'utf-8', timeout },
95
+ );
96
+ return {
97
+ status: r.status ?? (r.error ? 1 : 0),
98
+ stdout: r.stdout || '',
99
+ stderr: r.stderr || (r.error?.message ?? ''),
100
+ };
101
+ }
package/bin/spaces.js CHANGED
@@ -58,7 +58,7 @@ setInterval(() => logMemory(), 60000);
58
58
  const SPACES_DIR = path.join(os.homedir(), '.spaces');
59
59
  const CONFIG_PATH = path.join(SPACES_DIR, 'server.json');
60
60
  const SESSION_SECRET_PATH = path.join(SPACES_DIR, 'session_secret');
61
- const NEXT_INTERNAL_PORT = 3400;
61
+ let NEXT_INTERNAL_PORT = 3400;
62
62
  const projectDir = path.join(__dirname, '..');
63
63
  const MANAGED_PACKAGES = path.join(SPACES_DIR, 'packages');
64
64
  const MANAGED_NODE_MODULES = path.join(MANAGED_PACKAGES, 'node_modules');
@@ -227,8 +227,11 @@ function startServer() {
227
227
  || savedConfig.allowedOrigins
228
228
  || '';
229
229
 
230
+ // Use a unique internal port so multiple instances don't collide
231
+ NEXT_INTERNAL_PORT = PORT - 57; // 3457→3400, 3458→3401, etc.
232
+
230
233
  // ─── Kill any existing server on this port ───────────────────
231
- stopServer();
234
+ stopServer(PORT);
232
235
 
233
236
  // ─── Resolve optional packages once ─────────────────────────
234
237
  const proPath = resolveSpacesPro();
@@ -704,12 +707,12 @@ function findPidsOnPort(port) {
704
707
  return [...pids].filter(p => !isNaN(p) && p > 0);
705
708
  }
706
709
 
707
- function stopServer() {
710
+ function stopServer(overridePort) {
708
711
  let savedConfig = {};
709
712
  if (fs.existsSync(CONFIG_PATH)) {
710
713
  try { savedConfig = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf-8')); } catch {}
711
714
  }
712
- const port = parseInt(process.env.SPACES_PORT || '', 10) || savedConfig.port || 3457;
715
+ const port = overridePort || parseInt(process.env.SPACES_PORT || '', 10) || savedConfig.port || 3457;
713
716
  const ports = [port, NEXT_INTERNAL_PORT];
714
717
  let killed = 0;
715
718
 
@@ -479,7 +479,7 @@ const AGENTS = {
479
479
  gemini: { command: 'gemini', resumeFlag: '--resume', resumeStyle: 'flag' },
480
480
  aider: { command: 'aider', resumeFlag: '', resumeStyle: '' },
481
481
  forge: { command: 'forge', resumeFlag: '--cid', resumeStyle: 'flag' },
482
- pi: { command: 'pi', resumeFlag: '--continue', resumeStyle: 'bare' },
482
+ pi: { command: 'pi', resumeFlag: '--session', resumeStyle: 'flag' },
483
483
  custom: { command: '', resumeFlag: '', resumeStyle: '' },
484
484
  };
485
485
 
@@ -1441,6 +1441,14 @@ function handleConnection(wss, ws, req) {
1441
1441
  // Check for existing session to reattach
1442
1442
  const existing = sessions.get(paneId);
1443
1443
  if (existing && existing.pty && !existing.exited) {
1444
+ // SECURITY: only the original owner may reattach. Without this, any
1445
+ // authenticated user who learns a paneId could hijack another user's PTY.
1446
+ if (existing.username !== username) {
1447
+ console.log(`[WS] REJECTED reattach pane=${paneId.slice(0,8)} — owner=${existing.username} requester=${username}`);
1448
+ ws.send(JSON.stringify({ type: 'error', data: 'Pane belongs to a different user' }));
1449
+ ws.close();
1450
+ return;
1451
+ }
1444
1452
  console.log(`[WS] Reattach pane=${paneId.slice(0,8)} buffer=${existing.buffer.length} chunks`);
1445
1453
  existing.ws = ws;
1446
1454
 
@@ -1732,15 +1740,22 @@ function handleConnection(wss, ws, req) {
1732
1740
 
1733
1741
  if (agentSession && agentSession !== 'new' && agent.resumeFlag) {
1734
1742
  // Resume an existing session
1735
- if (agentType === 'claude') {
1736
- // Claude needs to be run from the correct project CWD
1737
- const sessionCwd = findSessionCwd(agentSession, username);
1738
-
1739
- // Verify the session actually exists on disk before attempting resume.
1740
- // If the .jsonl file is gone (cleanup, etc.), fall back to `--continue`
1741
- // which resumes the most recent conversation in this project — much
1742
- // better than starting completely fresh.
1743
- const sessionExists = sessionCwd !== null || findSessionFile(agentSession, username);
1743
+ if (agentType === 'claude' || agentType === 'pi') {
1744
+ let sessionCwd = null;
1745
+ let sessionExists = false;
1746
+
1747
+ if (agentType === 'claude') {
1748
+ // Claude needs to be run from the correct project CWD
1749
+ sessionCwd = findSessionCwd(agentSession, username);
1750
+
1751
+ // Verify the session actually exists on disk before attempting resume.
1752
+ // If the .jsonl file is gone (cleanup, etc.), fall back to `--continue`
1753
+ // which resumes the most recent conversation in this project — much
1754
+ // better than starting completely fresh.
1755
+ sessionExists = sessionCwd !== null || findSessionFile(agentSession, username);
1756
+ } else if (agentType === 'pi') {
1757
+ sessionExists = findPiSessionFile(agentSession, username, safeCwd);
1758
+ }
1744
1759
 
1745
1760
  if (!sessionExists) {
1746
1761
  console.log(`[Resume] Session ${agentSession.slice(0, 8)} not found on disk for pane ${paneId.slice(0, 8)} — falling back to --continue`);
@@ -1915,6 +1930,29 @@ function findSessionFile(sessionId, username) {
1915
1930
  return false;
1916
1931
  }
1917
1932
 
1933
+ function findPiSessionFile(sessionId, username, cwd) {
1934
+ const homeDir = getUserHome(username);
1935
+ const globalSessionsDir = path.join(homeDir, '.pi', 'agent', 'sessions');
1936
+ const projectSessionsDir = path.join(cwd, '.pi', 'sessions');
1937
+
1938
+ for (const dir of [globalSessionsDir, projectSessionsDir]) {
1939
+ try {
1940
+ if (fs.existsSync(dir)) {
1941
+ for (const sub of fs.readdirSync(dir, { withFileTypes: true })) {
1942
+ if (sub.isDirectory()) {
1943
+ for (const file of fs.readdirSync(path.join(dir, sub.name))) {
1944
+ if (file.endsWith('.jsonl') && file.includes(sessionId)) return true;
1945
+ }
1946
+ } else if (sub.isFile() && sub.name.endsWith('.jsonl') && sub.name.includes(sessionId)) {
1947
+ return true;
1948
+ }
1949
+ }
1950
+ }
1951
+ } catch { /* ignore */ }
1952
+ }
1953
+ return false;
1954
+ }
1955
+
1918
1956
  function findSessionCwd(sessionId, username) {
1919
1957
  const claudeProjectsDir = path.join(getUserHome(username), '.claude', 'projects');
1920
1958
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jlongo78/agent-spaces",
3
- "version": "0.9.7",
3
+ "version": "0.9.8",
4
4
  "description": "Agent workspace manager for Claude, Codex, Gemini, and more",
5
5
  "bin": {
6
6
  "spaces": "./bin/spaces.js"
@@ -1,98 +0,0 @@
1
- module.exports=[324725,(e,t,s)=>{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"))},193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{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,s)=>{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,s)=>{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,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function l(e){let a,o=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)a=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),n=t.default.join(e,o);a=s.default.existsSync(n)?n:r.default.homedir()}else a=`/home/${o}`;let l=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function c(e){let{spacesDir:t}=l(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:r}=l(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||a.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],customModels:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...d(e),...t},{configPath:a}=l(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>l,"readConfig",()=>d,"writeConfig",()=>u])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.7",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.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",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","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"}})},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>l,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),l=new t.default(o);return l.pragma("journal_mode = WAL"),l.pragma("synchronous = NORMAL"),l.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
- CREATE TABLE IF NOT EXISTS projects (
3
- id TEXT PRIMARY KEY,
4
- name TEXT NOT NULL,
5
- path TEXT NOT NULL,
6
- claude_path TEXT NOT NULL,
7
- session_count INTEGER DEFAULT 0,
8
- last_activity TEXT
9
- );
10
-
11
- CREATE TABLE IF NOT EXISTS sessions (
12
- id TEXT PRIMARY KEY,
13
- session_id TEXT NOT NULL,
14
- project_id TEXT NOT NULL,
15
- first_prompt TEXT,
16
- summary TEXT,
17
- message_count INTEGER DEFAULT 0,
18
- created TEXT,
19
- modified TEXT,
20
- git_branch TEXT,
21
- project_path TEXT,
22
- full_path TEXT NOT NULL,
23
- starred INTEGER DEFAULT 0,
24
- custom_name TEXT,
25
- notes TEXT,
26
- FOREIGN KEY (project_id) REFERENCES projects(id)
27
- );
28
-
29
- CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
30
- CREATE INDEX IF NOT EXISTS idx_sessions_created ON sessions(created);
31
- CREATE INDEX IF NOT EXISTS idx_sessions_modified ON sessions(modified);
32
- CREATE INDEX IF NOT EXISTS idx_sessions_starred ON sessions(starred);
33
-
34
- CREATE TABLE IF NOT EXISTS workspaces (
35
- id INTEGER PRIMARY KEY AUTOINCREMENT,
36
- name TEXT NOT NULL,
37
- description TEXT DEFAULT '',
38
- color TEXT DEFAULT '#6366f1',
39
- created TEXT DEFAULT (datetime('now'))
40
- );
41
-
42
- CREATE TABLE IF NOT EXISTS workspace_sessions (
43
- workspace_id INTEGER NOT NULL,
44
- session_id TEXT NOT NULL,
45
- PRIMARY KEY (workspace_id, session_id),
46
- FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
47
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
48
- );
49
-
50
- CREATE TABLE IF NOT EXISTS tags (
51
- id INTEGER PRIMARY KEY AUTOINCREMENT,
52
- name TEXT NOT NULL UNIQUE,
53
- color TEXT DEFAULT '#8b5cf6'
54
- );
55
-
56
- CREATE TABLE IF NOT EXISTS session_tags (
57
- session_id TEXT NOT NULL,
58
- tag_id INTEGER NOT NULL,
59
- PRIMARY KEY (session_id, tag_id),
60
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,
61
- FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
62
- );
63
-
64
- CREATE TABLE IF NOT EXISTS sync_state (
65
- file_path TEXT PRIMARY KEY,
66
- mtime INTEGER,
67
- byte_offset INTEGER DEFAULT 0,
68
- last_synced TEXT DEFAULT (datetime('now'))
69
- );
70
-
71
- CREATE TABLE IF NOT EXISTS panes (
72
- id TEXT PRIMARY KEY,
73
- title TEXT NOT NULL DEFAULT 'Terminal',
74
- color TEXT NOT NULL DEFAULT '#6366f1',
75
- cwd TEXT NOT NULL,
76
- claude_session_id TEXT,
77
- grid_col INTEGER NOT NULL DEFAULT 0,
78
- grid_row INTEGER NOT NULL DEFAULT 0,
79
- sort_order INTEGER NOT NULL DEFAULT 0,
80
- shell TEXT,
81
- created TEXT DEFAULT (datetime('now'))
82
- );
83
-
84
- CREATE TABLE IF NOT EXISTS totp (
85
- username TEXT PRIMARY KEY,
86
- secret TEXT NOT NULL,
87
- enabled INTEGER DEFAULT 0,
88
- created TEXT DEFAULT (datetime('now'))
89
- );
90
- `);let r=(e,s,r)=>{try{t.exec(`ALTER TABLE ${e} ADD COLUMN ${s} ${r}`)}catch{}};r("workspaces","is_active","INTEGER DEFAULT 0"),r("workspaces","updated","TEXT"),r("workspaces","lobe_config","TEXT DEFAULT '{}'"),r("panes","workspace_id","INTEGER"),r("panes","is_popout","INTEGER DEFAULT 0"),r("panes","win_x","INTEGER"),r("panes","win_y","INTEGER"),r("panes","win_width","INTEGER DEFAULT 800"),r("panes","win_height","INTEGER DEFAULT 600"),r("panes","agent_type","TEXT DEFAULT 'shell'"),r("panes","custom_command","TEXT"),r("panes","node_id","TEXT"),r("sessions","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_path","TEXT");try{t.exec("UPDATE projects SET agent_path = claude_path WHERE agent_path IS NULL AND claude_path IS NOT NULL")}catch{}r("workspaces","collaboration","INTEGER DEFAULT 0"),r("panes","is_collaborating","INTEGER DEFAULT 0"),r("panes","diff_baseline_sha","TEXT"),r("panes","custom_model_id","TEXT");try{t.exec("CREATE INDEX IF NOT EXISTS idx_sessions_agent_type ON sessions(agent_type)")}catch{}try{t.exec("CREATE INDEX IF NOT EXISTS idx_projects_agent_type ON projects(agent_type)")}catch{}let a=t.prepare("SELECT id FROM workspaces WHERE name = 'Default'").get();a?(s=a.id,t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()||t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(s)):s=Number(t.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES ('Default', 'Default workspace', '#6366f1', 1)").run().lastInsertRowid);let n=t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();n&&t.prepare("UPDATE panes SET workspace_id = ? WHERE workspace_id IS NULL").run(n.id);try{t.exec(`
91
- CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
92
- session_id,
93
- content,
94
- content_rowid='rowid'
95
- );
96
- `)}catch{}try{let{getTeams:s}=e.r(599944),r=s();r&&r.db.runMigrations(t)}catch{}}(l),a.set(n,l),l}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},792687,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){let n=[s.default.join(process.cwd(),"package.json")];for(let e of(process.env.NODE_PATH||"").split(s.default.delimiter))e&&n.push(s.default.join(e,"_anchor.js"));for(let e of n)try{r=(0,t.createRequire)(e)("@spaces/cortex");break}catch{}if(a=!0,r&&!r.hasHostAdapter())try{let t=e.r(79832),s=e.r(798003),a=e.r(507304),n=e.r(717516);r.setHostAdapter({getAuthUser:e=>t.getAuthUser(e),withUser:(e,s)=>t.withUser(e,s),getCurrentUser:()=>t.getCurrentUser(),getUserPaths:e=>s.getUserPaths(e),getDb:()=>a.getDb(),hasCortex:()=>n.HAS_CORTEX,isFederation:()=>n.IS_FEDERATION})}catch{}}return r}function i(){return n()}async function o(){return n()?.getCortex()??null}function l(){return n()?.isCortexAvailable()??!1}function c(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>l,"resetCortex",()=>c])},176050,e=>{"use strict";var t=e.i(792687);let s={enabled:!1,debug:!1,anthropic_api_key:"",openai_api_key:"",embedding:{provider:"voyage",dimensions:512},injection:{enabled:!0,max_tokens:5e3,max_results:10,min_confidence:.3},ingestion:{auto_ingest:!0,distillation:!0,distillation_model:"auto"},layers:{personal:!0,workspace:!0,team:!0},staleness:{decision_halflife_days:180,pattern_halflife_days:90,context_halflife_days:30,conversation_halflife_days:14},federation:{sync_mode:"query-only",sync_interval_minutes:5,query_timeout_ms:500},storage:{max_size_mb:2048,warning_threshold_mb:500},policies:[]};function r(e){return(0,t.getCortexAddon)()?.readCortexConfig(e)??{...s}}function a(e,s){(0,t.getCortexAddon)()?.writeCortexConfig(e,s)}e.s(["DEFAULT_CORTEX_CONFIG",0,s,"readCortexConfig",()=>r,"writeCortexConfig",()=>a])},575766,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),c=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),E=e.i(570101),T=e.i(626937),f=e.i(10372),h=e.i(193695);e.i(52474);var g=e.i(600220),_=e.i(89171),m=e.i(79832),R=e.i(792687),A=e.i(798003),N=e.i(176050),x=e.i(522734),y=e.i(814747);function S(e){let t=0;try{for(let s of x.default.readdirSync(e,{withFileTypes:!0})){let r=y.default.join(e,s.name);if(s.isDirectory())t+=S(r);else try{t+=x.default.statSync(r).size}catch{}}}catch{}return t}async function I(t){let s=(0,m.getAuthUser)(t);return(0,m.withUser)(s,async()=>{if(!(0,R.isCortexAvailable)())return _.NextResponse.json({error:"Cortex unavailable"},{status:403});let t=await (0,R.getCortex)();if(!t)return _.NextResponse.json({enabled:!1,status:"disabled"});let{spacesDir:r,configPath:a}=(0,A.getUserPaths)(s),n=(0,N.readCortexConfig)(a),i=y.default.join(r,"cortex"),o=new Map;try{let t=(await e.A(632989)).getDb();if(t)for(let e of t.prepare("SELECT id, name FROM workspaces").all())o.set(String(e.id),e.name)}catch{}let l={},c={personal:"Personal",workspace:"Shared (unscoped)",team:"Team"};for(let e of["personal","workspace","team"]){let s=y.default.join(i,e);if(!x.default.existsSync(s))continue;let r=y.default.join(s,"knowledge.lance");if(x.default.existsSync(r))try{let s=await t.store.getTable?.(e)??null,a=s?await s.countRows():0;l[e]={count:a,sizeBytes:S(r),label:c[e]||e}}catch{l[e]={count:0,sizeBytes:S(r),label:e}}if("workspace"===e)try{for(let e of x.default.readdirSync(s,{withFileTypes:!0}))if(e.isDirectory()&&"knowledge.lance"!==e.name){let r=y.default.join(s,e.name),a=y.default.join(r,"knowledge.lance");if(x.default.existsSync(a)){let s=`workspace/${e.name}`;try{let a=await t.store.getTable?.(s)??null,n=a?await a.countRows():0;l[s]={count:n,sizeBytes:S(r),label:o.get(e.name)||`Workspace ${e.name}`}}catch{l[s]={count:0,sizeBytes:S(r),label:o.get(e.name)||`Workspace ${e.name}`}}}}}catch{}}let d=null,u=y.default.join(i,"usage.json");try{x.default.existsSync(u)&&(d=JSON.parse(x.default.readFileSync(u,"utf-8")))}catch{}let p=Object.values(l).reduce((e,t)=>e+t.sizeBytes,0),E=Object.values(l).reduce((e,t)=>e+t.count,0),T={entities:0,edges:0};try{t.graph&&(T.entities=t.graph.listEntities({}).length,T.edges=t.graph.listEdges?.({})?.length??0)}catch{}let f=null;try{let e=[];for(let s of Object.keys(l))try{let r=await t.store.browse(s,100);e.push(...r)}catch{}if(e.length>0){let t={},s={},r=0,a=0;for(let n of e){t[n.type]=(t[n.type]||0)+1;let e=n.sensitivity||"internal";s[e]=(s[e]||0)+1,r+=n.confidence??0,(n.stale_score??0)>.5&&a++}let n=(t.decision||0)+(t.pattern||0)+(t.preference||0)+(t.error_fix||0);f={coverage_score:e.length>0?n/e.length:0,type_distribution:t,avg_confidence:e.length>0?r/e.length:0,stale_count:a,sensitivity_counts:s,top_accessed:e.filter(e=>(e.access_count??0)>0).sort((e,t)=>(t.access_count??0)-(e.access_count??0)).slice(0,3).map(e=>({text:e.text?.slice(0,120),type:e.type,access_count:e.access_count}))}}}catch{}return _.NextResponse.json({enabled:!0,status:"healthy",embedding_provider:t.embedding.name,embedding_dimensions:t.embedding.dimensions,distillation:n.ingestion?.distillation??!1,lobes:l,totalCount:E,totalSizeBytes:p,usage:d,graph:T,quality:f})})}e.s(["GET",()=>I],639880);var w=e.i(639880);let v=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/cortex/status/route",pathname:"/api/cortex/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/status/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:C,workUnitAsyncStorage:O,serverHooks:L}=v;function U(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:O})}async function b(e,t,r){v.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/cortex/status/route";_=_.replace(/\/index$/,"")||"/";let m=await v.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:A,nextConfig:N,parsedUrl:x,isDraftMode:y,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,resolvedPathname:O,clientReferenceManifest:L,serverActionsManifest:U}=m,b=(0,o.normalizeAppPath)(_),D=!!(S.dynamicRoutes[b]||S.routes[O]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,x,!1):t.end("This page could not be found"),null);if(D&&!y){let e=!!S.routes[O],t=S.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await j();throw new h.NoFallbackError}}let k=null;!D||v.isDev||y||(k="/index"===(k=O)?"/":k);let X=!0===v.isDev||!D,F=D&&!X;U&&L&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:L,serverActionsManifest:U});let P=e.method||"GET",H=(0,n.getTracer)(),M=H.getActiveScopeSpan(),q={params:A,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>v.onRequestError(e,t,r,a,I)},sharedContext:{buildId:R}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let i=async e=>v.handle(K,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=H.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${P} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${_}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var n,l;let c=async({previousCacheEntry:s})=>{try{if(!o&&w&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=q.renderOpts.fetchMetrics;let l=q.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=q.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,B,n,q.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,r=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:w})},!1,I),t}},d=await v.handleResponse({req:e,nextConfig:N,cacheKey:k,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.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",w?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,E.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&D||h.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,T.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,B,new Response(d.value.body,{headers:h,status:d.value.status||200})),null};M?await l(M):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:w})},!1,I),D)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>U,"routeModule",()=>v,"serverHooks",()=>L,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>O],575766)},632989,e=>{e.v(e=>Promise.resolve().then(()=>e(507304)))}];
97
-
98
- //# sourceMappingURL=%5Broot-of-the-server%5D__09e8ccc9._.js.map
@@ -1,98 +0,0 @@
1
- module.exports=[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"))},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"))},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"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let s=null,a=!1;function n(){if(!a){for(let e of function(){let e=[r.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(r.default.delimiter))t&&e.push(r.default.join(t,"_anchor.js"));return e}())try{s=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return s}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),s=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function d(e){let a,o=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===s.default.userInfo().username)a=s.default.homedir();else if(1){let e=t.default.dirname(s.default.homedir()),n=t.default.join(e,o);a=r.default.existsSync(n)?n:s.default.homedir()}else a=`/home/${o}`;let d=o===s.default.userInfo().username?t.default.join(s.default.homedir(),".spaces"):t.default.join(s.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function c(e){let{spacesDir:t}=d(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:s}=d(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||a.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],customModels:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let s={...l(e),...t},{configPath:a}=d(e);return r.default.writeFileSync(a,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>d,"readConfig",()=>l,"writeConfig",()=>u])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,s="federation"===t,a=r||"1"===process.env.SPACES_HAS_CORTEX,n=!r;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:s,hasMultiuser:r,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,s,"IS_DESKTOP",0,n,"IS_FEDERATION",0,s,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.7",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.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",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","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"}})},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),s=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return s.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return s.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function d(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>d,"withUser",()=>i])},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),r=e.i(798003),s=e.i(79832);let a=new Map;function n(){let n=(0,s.getCurrentUser)(),i=a.get(n);if(i)return i;(0,r.ensureUserSpacesDir)(n);let{dbPath:o}=(0,r.getUserPaths)(n),d=new t.default(o);return d.pragma("journal_mode = WAL"),d.pragma("synchronous = NORMAL"),d.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
2
- CREATE TABLE IF NOT EXISTS projects (
3
- id TEXT PRIMARY KEY,
4
- name TEXT NOT NULL,
5
- path TEXT NOT NULL,
6
- claude_path TEXT NOT NULL,
7
- session_count INTEGER DEFAULT 0,
8
- last_activity TEXT
9
- );
10
-
11
- CREATE TABLE IF NOT EXISTS sessions (
12
- id TEXT PRIMARY KEY,
13
- session_id TEXT NOT NULL,
14
- project_id TEXT NOT NULL,
15
- first_prompt TEXT,
16
- summary TEXT,
17
- message_count INTEGER DEFAULT 0,
18
- created TEXT,
19
- modified TEXT,
20
- git_branch TEXT,
21
- project_path TEXT,
22
- full_path TEXT NOT NULL,
23
- starred INTEGER DEFAULT 0,
24
- custom_name TEXT,
25
- notes TEXT,
26
- FOREIGN KEY (project_id) REFERENCES projects(id)
27
- );
28
-
29
- CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
30
- CREATE INDEX IF NOT EXISTS idx_sessions_created ON sessions(created);
31
- CREATE INDEX IF NOT EXISTS idx_sessions_modified ON sessions(modified);
32
- CREATE INDEX IF NOT EXISTS idx_sessions_starred ON sessions(starred);
33
-
34
- CREATE TABLE IF NOT EXISTS workspaces (
35
- id INTEGER PRIMARY KEY AUTOINCREMENT,
36
- name TEXT NOT NULL,
37
- description TEXT DEFAULT '',
38
- color TEXT DEFAULT '#6366f1',
39
- created TEXT DEFAULT (datetime('now'))
40
- );
41
-
42
- CREATE TABLE IF NOT EXISTS workspace_sessions (
43
- workspace_id INTEGER NOT NULL,
44
- session_id TEXT NOT NULL,
45
- PRIMARY KEY (workspace_id, session_id),
46
- FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
47
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
48
- );
49
-
50
- CREATE TABLE IF NOT EXISTS tags (
51
- id INTEGER PRIMARY KEY AUTOINCREMENT,
52
- name TEXT NOT NULL UNIQUE,
53
- color TEXT DEFAULT '#8b5cf6'
54
- );
55
-
56
- CREATE TABLE IF NOT EXISTS session_tags (
57
- session_id TEXT NOT NULL,
58
- tag_id INTEGER NOT NULL,
59
- PRIMARY KEY (session_id, tag_id),
60
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,
61
- FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
62
- );
63
-
64
- CREATE TABLE IF NOT EXISTS sync_state (
65
- file_path TEXT PRIMARY KEY,
66
- mtime INTEGER,
67
- byte_offset INTEGER DEFAULT 0,
68
- last_synced TEXT DEFAULT (datetime('now'))
69
- );
70
-
71
- CREATE TABLE IF NOT EXISTS panes (
72
- id TEXT PRIMARY KEY,
73
- title TEXT NOT NULL DEFAULT 'Terminal',
74
- color TEXT NOT NULL DEFAULT '#6366f1',
75
- cwd TEXT NOT NULL,
76
- claude_session_id TEXT,
77
- grid_col INTEGER NOT NULL DEFAULT 0,
78
- grid_row INTEGER NOT NULL DEFAULT 0,
79
- sort_order INTEGER NOT NULL DEFAULT 0,
80
- shell TEXT,
81
- created TEXT DEFAULT (datetime('now'))
82
- );
83
-
84
- CREATE TABLE IF NOT EXISTS totp (
85
- username TEXT PRIMARY KEY,
86
- secret TEXT NOT NULL,
87
- enabled INTEGER DEFAULT 0,
88
- created TEXT DEFAULT (datetime('now'))
89
- );
90
- `);let s=(e,r,s)=>{try{t.exec(`ALTER TABLE ${e} ADD COLUMN ${r} ${s}`)}catch{}};s("workspaces","is_active","INTEGER DEFAULT 0"),s("workspaces","updated","TEXT"),s("workspaces","lobe_config","TEXT DEFAULT '{}'"),s("panes","workspace_id","INTEGER"),s("panes","is_popout","INTEGER DEFAULT 0"),s("panes","win_x","INTEGER"),s("panes","win_y","INTEGER"),s("panes","win_width","INTEGER DEFAULT 800"),s("panes","win_height","INTEGER DEFAULT 600"),s("panes","agent_type","TEXT DEFAULT 'shell'"),s("panes","custom_command","TEXT"),s("panes","node_id","TEXT"),s("sessions","agent_type","TEXT DEFAULT 'claude'"),s("projects","agent_type","TEXT DEFAULT 'claude'"),s("projects","agent_path","TEXT");try{t.exec("UPDATE projects SET agent_path = claude_path WHERE agent_path IS NULL AND claude_path IS NOT NULL")}catch{}s("workspaces","collaboration","INTEGER DEFAULT 0"),s("panes","is_collaborating","INTEGER DEFAULT 0"),s("panes","diff_baseline_sha","TEXT"),s("panes","custom_model_id","TEXT");try{t.exec("CREATE INDEX IF NOT EXISTS idx_sessions_agent_type ON sessions(agent_type)")}catch{}try{t.exec("CREATE INDEX IF NOT EXISTS idx_projects_agent_type ON projects(agent_type)")}catch{}let a=t.prepare("SELECT id FROM workspaces WHERE name = 'Default'").get();a?(r=a.id,t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()||t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(r)):r=Number(t.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES ('Default', 'Default workspace', '#6366f1', 1)").run().lastInsertRowid);let n=t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();n&&t.prepare("UPDATE panes SET workspace_id = ? WHERE workspace_id IS NULL").run(n.id);try{t.exec(`
91
- CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
92
- session_id,
93
- content,
94
- content_rowid='rowid'
95
- );
96
- `)}catch{}try{let{getTeams:r}=e.r(599944),s=r();s&&s.db.runMigrations(t)}catch{}}(d),a.set(n,d),d}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},792687,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let s=null,a=!1;function n(){if(!a){let n=[r.default.join(process.cwd(),"package.json")];for(let e of(process.env.NODE_PATH||"").split(r.default.delimiter))e&&n.push(r.default.join(e,"_anchor.js"));for(let e of n)try{s=(0,t.createRequire)(e)("@spaces/cortex");break}catch{}if(a=!0,s&&!s.hasHostAdapter())try{let t=e.r(79832),r=e.r(798003),a=e.r(507304),n=e.r(717516);s.setHostAdapter({getAuthUser:e=>t.getAuthUser(e),withUser:(e,r)=>t.withUser(e,r),getCurrentUser:()=>t.getCurrentUser(),getUserPaths:e=>r.getUserPaths(e),getDb:()=>a.getDb(),hasCortex:()=>n.HAS_CORTEX,isFederation:()=>n.IS_FEDERATION})}catch{}}return s}function i(){return n()}async function o(){return n()?.getCortex()??null}function d(){return n()?.isCortexAvailable()??!1}function c(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>d,"resetCortex",()=>c])},837664,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),c=e.i(487718),l=e.i(995169),u=e.i(47587),p=e.i(666012),E=e.i(570101),T=e.i(626937),f=e.i(10372),h=e.i(193695);e.i(52474);var R=e.i(600220),g=e.i(89171),N=e.i(254799),A=e.i(79832),m=e.i(792687);async function x(e){let t=(0,A.getAuthUser)(e);return(0,A.withUser)(t,async()=>{let t=await (0,m.getCortex)();if(!t)return g.NextResponse.json({error:"Cortex disabled"},{status:503});let{knowledge:r,provenance:s}=await e.json();if(!r?.text||!s)return g.NextResponse.json({error:"knowledge and provenance required"},{status:400});if(s.hops&&s.hops.length>=3)return g.NextResponse.json({status:"rejected",reason:"max_hops_exceeded"});let[a]=await t.embedding.embed([r.text]),n=await t.store.search("team",a,5);if(n.some(e=>{var t;return t=e.vector,((0,m.getCortexAddon)()?.cosineSimilarity?.(a,t)??0)>.95}))return g.NextResponse.json({status:"skipped",reason:"duplicate"});let i=(s.hops?.length||0)+1,o=r.confidence*Math.pow(.8,i),d=function(...e){return(0,m.getCortexAddon)()?.detectContradictions?.(...e)??[]}({...r,vector:a,id:"incoming"},n,.85);return d.length>0?(await t.store.add("team",{...r,id:N.default.randomUUID(),vector:a,layer:"team",confidence:o,metadata:{...r.metadata,provenance:s,status:"pending_review",contradicts:d.map(e=>e.existingId)}}),g.NextResponse.json({status:"pending_review",contradictions:d.length})):(await t.store.add("team",{...r,id:N.default.randomUUID(),vector:a,layer:"team",confidence:o,metadata:{...r.metadata,provenance:s,source:"federation_teach"}}),g.NextResponse.json({status:"accepted"}))})}e.s(["POST",()=>x],362984);var _=e.i(362984);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/federation/teach/route",pathname:"/api/cortex/federation/teach",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/federation/teach/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:S,workUnitAsyncStorage:v,serverHooks:y}=I;function U(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:v})}async function w(e,t,s){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/cortex/federation/teach/route";g=g.replace(/\/index$/,"")||"/";let N=await I.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!N)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:x,parsedUrl:_,isDraftMode:S,prerenderManifest:v,routerServerContext:y,isOnDemandRevalidate:U,revalidateOnlyGenerated:w,resolvedPathname:L,clientReferenceManifest:O,serverActionsManifest:C}=N,D=(0,o.normalizeAppPath)(g),b=!!(v.dynamicRoutes[D]||v.routes[L]),j=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,_,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!v.routes[L],t=v.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(x.experimental.adapterPath)return await j();throw new h.NoFallbackError}}let X=null;!b||I.isDev||S||(X="/index"===(X=L)?"/":X);let F=!0===I.isDev||!b,k=b&&!F;C&&O&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:C});let P=e.method||"GET",H=(0,n.getTracer)(),M=H.getActiveScopeSpan(),q={params:m,prerenderManifest:v,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>I.onRequestError(e,t,s,a,y)},sharedContext:{buildId:A}},G=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let i=async e=>I.handle(Y,q).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")!==l.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=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${g}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),d=async a=>{var n,d;let c=async({previousCacheEntry:r})=>{try{if(!o&&U&&w&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=q.renderOpts.fetchMetrics;let d=q.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let c=q.renderOpts.collectedTags;if(!b)return await (0,p.sendResponse)(G,K,n,q.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,s=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:U})},!1,y),t}},l=await I.handleResponse({req:e,nextConfig:x,cacheKey:X,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:v,isRoutePPREnabled:!1,isOnDemandRevalidate:U,revalidateOnlyGenerated:w,responseGenerator:c,waitUntil:s.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",U?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,E.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&b||h.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,T.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(G,K,new Response(l.value.body,{headers:h,status:l.value.status||200})),null};M?await d(M):await H.withPropagatedContext(e.headers,()=>H.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:U})},!1,y),b)throw t;return await (0,p.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>U,"routeModule",()=>I,"serverHooks",()=>y,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>v],837664)}];
97
-
98
- //# sourceMappingURL=%5Broot-of-the-server%5D__1572d4ef._.js.map