@jlongo78/agent-spaces 0.7.6 → 0.7.7

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 (259) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  19. package/.next/standalone/.next/server/app/admin/analytics.rsc +1 -1
  20. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  29. package/.next/standalone/.next/server/app/admin/users.rsc +1 -1
  30. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +1 -1
  35. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/analytics.html +1 -1
  39. package/.next/standalone/.next/server/app/analytics.rsc +1 -1
  40. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/cortex.html +1 -1
  48. package/.next/standalone/.next/server/app/cortex.rsc +1 -1
  49. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/login.html +1 -1
  57. package/.next/standalone/.next/server/app/login.rsc +1 -1
  58. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  65. package/.next/standalone/.next/server/app/m/projects.rsc +1 -1
  66. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  72. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  75. package/.next/standalone/.next/server/app/m/sessions.rsc +1 -1
  76. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +1 -1
  80. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  84. package/.next/standalone/.next/server/app/m/settings.rsc +1 -1
  85. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +1 -1
  86. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  87. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  90. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  94. package/.next/standalone/.next/server/app/m/terminal.rsc +2 -2
  95. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +2 -2
  96. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/m.html +1 -1
  103. package/.next/standalone/.next/server/app/m.rsc +1 -1
  104. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  110. package/.next/standalone/.next/server/app/network.html +1 -1
  111. package/.next/standalone/.next/server/app/network.rsc +1 -1
  112. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  113. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  115. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +1 -1
  116. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/projects.html +1 -1
  120. package/.next/standalone/.next/server/app/projects.rsc +1 -1
  121. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  123. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  124. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  125. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/sessions.html +1 -1
  129. package/.next/standalone/.next/server/app/sessions.rsc +1 -1
  130. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  133. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +1 -1
  134. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/settings.html +1 -1
  138. package/.next/standalone/.next/server/app/settings.rsc +1 -1
  139. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  142. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  143. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  146. package/.next/standalone/.next/server/app/terminal.html +1 -1
  147. package/.next/standalone/.next/server/app/terminal.rsc +1 -1
  148. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +1 -1
  152. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +1 -1
  155. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +3 -3
  156. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/vr.html +1 -1
  158. package/.next/standalone/.next/server/app/vr.rsc +2 -2
  159. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +2 -2
  160. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  161. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +1 -1
  162. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  164. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  165. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  166. package/.next/standalone/.next/server/app/workspaces.rsc +1 -1
  167. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  168. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  169. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  170. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +1 -1
  171. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +1 -1
  173. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +1 -1
  174. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +2 -2
  175. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +2 -2
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +3 -3
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10e47926._.js +1 -1
  179. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1665dc78._.js +2 -2
  180. package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +2 -2
  181. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +2 -2
  182. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d359752._.js +2 -2
  183. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e8fabeb._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +2 -2
  185. package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +2 -2
  186. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a386564._.js +2 -2
  188. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c20fb38._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/[root-of-the-server]__33fec964._.js +2 -2
  191. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +2 -2
  192. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3ae92407._.js +2 -2
  193. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4619e9bd._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a051043._.js +2 -2
  196. package/.next/standalone/.next/server/chunks/[root-of-the-server]__508002e4._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +2 -2
  199. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c1f2459._.js +2 -2
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ec8c977._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__63cebc6c._.js +2 -2
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__64d30d4d._.js +1 -1
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6dc1fb7e._.js +2 -2
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6faa04c0._.js +2 -2
  208. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74a34dc3._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +2 -2
  210. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +2 -2
  211. package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +3 -3
  212. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +2 -2
  214. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +2 -2
  215. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +2 -2
  217. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +2 -2
  218. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +2 -2
  219. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4270b77._.js +1 -1
  220. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +1 -1
  221. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +2 -2
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cba5f007._.js +1 -1
  223. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +2 -2
  224. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +2 -2
  225. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +2 -2
  226. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +1 -1
  227. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +1 -1
  228. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d73273ca._.js +2 -2
  229. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8417eb6._.js +2 -2
  230. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +1 -1
  231. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +1 -1
  232. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9223f55._.js +2 -2
  234. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +2 -2
  235. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.js +1 -1
  236. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f26ca49d._.js +1 -1
  237. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f33e1101._.js +2 -2
  238. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f515f865._.js +2 -2
  239. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fceb5d60._.js +1 -1
  240. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fed41403._.js +2 -2
  241. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +2 -2
  242. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  243. package/.next/standalone/.next/server/chunks/ssr/_2230ad2d._.js +1 -1
  244. package/.next/standalone/.next/server/chunks/ssr/_db2fec84._.js +1 -1
  245. package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
  246. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  247. package/.next/standalone/.next/server/pages/404.html +1 -1
  248. package/.next/standalone/.next/server/pages/500.html +2 -2
  249. package/.next/standalone/.next/static/chunks/{aae9e0fa485bd835.js → 158b52b84e647ac1.js} +2 -2
  250. package/.next/standalone/.next/static/chunks/{396eac60f496f178.js → 69606d281c39f9b2.js} +1 -1
  251. package/.next/standalone/.next/static/chunks/{e23f20b51a75a5bb.js → 84fe8d44deeeb74f.js} +2 -2
  252. package/.next/standalone/.next/static/chunks/{7424664c6ffa94bd.js → 9cfa0291d55d8d2a.js} +1 -1
  253. package/.next/standalone/.next/static/chunks/e116953dc83d4eec.js +1 -0
  254. package/.next/standalone/package.json +2 -1
  255. package/package.json +2 -1
  256. package/.next/standalone/.next/static/chunks/7a7c0d9d875332a3.js +0 -1
  257. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → BEY-sql3lQLouidpurSQf}/_buildManifest.js +0 -0
  258. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → BEY-sql3lQLouidpurSQf}/_clientMiddlewareManifest.json +0 -0
  259. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → BEY-sql3lQLouidpurSQf}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);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 c(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=c(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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let s={...d(e),...t},{configPath:a}=c(e);return r.default.writeFileSync(a,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);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 c(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=c(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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let s={...d(e),...t},{configPath:a}=c(e);return r.default.writeFileSync(a,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -93,6 +93,6 @@ module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:r}=e.r(99944),s=r();s&&s.db.runMigrations(t)}catch{}}(c),a.set(n,c),c}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},92687,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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 c(){return n()?.isCortexAvailable()??!1}function l(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>c,"resetCortex",()=>l])},47801,e=>{"use strict";var t=e.i(92687);async function r(...e){return(0,t.getCortexAddon)()?.handleToolCall?.(...e)??{error:"Cortex addon not installed"}}e.s(["CORTEX_TOOLS",0,[],"handleToolCall",()=>r])},39770,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),l=e.i(87718),d=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var R=e.i(220),N=e.i(89171),A=e.i(92687),g=e.i(47801);async function x(e){let{name:t,args:r}=await e.json(),s=await (0,A.getCortex)(),a=await (0,g.handleToolCall)(t,r||{},s);return N.NextResponse.json(a)}e.s(["POST",()=>x],84059);var m=e.i(84059);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/mcp/call/route",pathname:"/api/cortex/mcp/call",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/mcp/call/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:L}=_;function O(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function y(e,t,s){_.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/cortex/mcp/call/route";N=N.replace(/\/index$/,"")||"/";let A=await _.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:g,params:x,nextConfig:m,parsedUrl:I,isDraftMode:S,prerenderManifest:L,routerServerContext:O,isOnDemandRevalidate:y,revalidateOnlyGenerated:v,resolvedPathname:U,clientReferenceManifest:C,serverActionsManifest:w}=A,D=(0,o.normalizeAppPath)(N),b=!!(L.dynamicRoutes[D]||L.routes[U]),X=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,I,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!L.routes[U],t=L.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(m.experimental.adapterPath)return await X();throw new h.NoFallbackError}}let j=null;!b||_.isDev||S||(j="/index"===(j=U)?"/":j);let F=!0===_.isDev||!b,k=b&&!F;w&&C&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:C,serverActionsManifest:w});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:x,prerenderManifest:L,renderOpts:{experimental:{authInterrupts:!!m.experimental.authInterrupts},cacheComponents:!!m.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:m.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>_.onRequestError(e,t,s,a,O)},sharedContext:{buildId:g}},G=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(G,(0,l.signalFromNodeResponse)(t));try{let i=async e=>_.handle(Y,M).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")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${N}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&y&&v&&!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=M.renderOpts.fetchMetrics;let c=M.renderOpts.pendingWaitUntil;c&&s.waitUntil&&(s.waitUntil(c),c=void 0);let l=M.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(G,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,s=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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 _.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,O),t}},d=await _.handleResponse({req:e,nextConfig:m,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:y,revalidateOnlyGenerated:v,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:o});if(!b)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",y?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&b||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,E.sendResponse)(G,K,new Response(d.value.body,{headers:h,status:d.value.status||200})),null};q?await c(q):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}catch(t){if(t instanceof h.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,O),b)throw t;return await (0,E.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>y,"patchFetch",()=>O,"routeModule",()=>_,"serverHooks",()=>L,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],39770)}];
96
+ `)}catch{}try{let{getTeams:r}=e.r(99944),s=r();s&&s.db.runMigrations(t)}catch{}}(c),a.set(n,c),c}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},92687,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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 c(){return n()?.isCortexAvailable()??!1}function l(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>c,"resetCortex",()=>l])},47801,e=>{"use strict";var t=e.i(92687);async function r(...e){return(0,t.getCortexAddon)()?.handleToolCall?.(...e)??{error:"Cortex addon not installed"}}e.s(["CORTEX_TOOLS",0,[],"handleToolCall",()=>r])},39770,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),l=e.i(87718),d=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var R=e.i(220),N=e.i(89171),A=e.i(92687),g=e.i(47801);async function x(e){let{name:t,args:r}=await e.json(),s=await (0,A.getCortex)(),a=await (0,g.handleToolCall)(t,r||{},s);return N.NextResponse.json(a)}e.s(["POST",()=>x],84059);var m=e.i(84059);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/mcp/call/route",pathname:"/api/cortex/mcp/call",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/mcp/call/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:L}=_;function O(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function v(e,t,s){_.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/cortex/mcp/call/route";N=N.replace(/\/index$/,"")||"/";let A=await _.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:g,params:x,nextConfig:m,parsedUrl:I,isDraftMode:S,prerenderManifest:L,routerServerContext:O,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,resolvedPathname:U,clientReferenceManifest:C,serverActionsManifest:w}=A,D=(0,o.normalizeAppPath)(N),b=!!(L.dynamicRoutes[D]||L.routes[U]),X=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,I,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!L.routes[U],t=L.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(m.experimental.adapterPath)return await X();throw new h.NoFallbackError}}let j=null;!b||_.isDev||S||(j="/index"===(j=U)?"/":j);let F=!0===_.isDev||!b,k=b&&!F;w&&C&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:C,serverActionsManifest:w});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:x,prerenderManifest:L,renderOpts:{experimental:{authInterrupts:!!m.experimental.authInterrupts},cacheComponents:!!m.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:m.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>_.onRequestError(e,t,s,a,O)},sharedContext:{buildId:g}},G=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(G,(0,l.signalFromNodeResponse)(t));try{let i=async e=>_.handle(Y,M).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")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${N}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&v&&y&&!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=M.renderOpts.fetchMetrics;let c=M.renderOpts.pendingWaitUntil;c&&s.waitUntil&&(s.waitUntil(c),c=void 0);let l=M.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(G,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,s=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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 _.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:v})},!1,O),t}},d=await _.handleResponse({req:e,nextConfig:m,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:o});if(!b)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",v?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&b||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,E.sendResponse)(G,K,new Response(d.value.body,{headers:h,status:d.value.status||200})),null};q?await c(q):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}catch(t){if(t instanceof h.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:v})},!1,O),b)throw t;return await (0,E.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>v,"patchFetch",()=>O,"routeModule",()=>_,"serverHooks",()=>L,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],39770)}];
97
97
 
98
98
  //# sourceMappingURL=%5Broot-of-the-server%5D__5913e097._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...l(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...l(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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"),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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};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])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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"),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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};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])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -93,6 +93,6 @@ module.exports=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:s}=e.r(99944),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])},92687,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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])},76050,e=>{"use strict";var t=e.i(92687);let s={enabled:!1,debug:!1,anthropic_api_key:"",openai_api_key:"",embedding:{provider:"auto",model:null,fallback:"local",dimensions:null},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(["readCortexConfig",()=>r,"writeCortexConfig",()=>a])},75766,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),E=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(89171),_=e.i(79832),m=e.i(92687),N=e.i(15286),x=e.i(76050),A=e.i(22734),y=e.i(14747);function S(e){let t=0;try{for(let s of A.default.readdirSync(e,{withFileTypes:!0})){let r=y.default.join(e,s.name);if(s.isDirectory())t+=S(r);else try{t+=A.default.statSync(r).size}catch{}}}catch{}return t}async function I(t){let s=(0,_.getAuthUser)(t);return(0,_.withUser)(s,async()=>{if(!(0,m.isCortexAvailable)())return R.NextResponse.json({error:"Cortex unavailable"},{status:403});let t=await (0,m.getCortex)();if(!t)return R.NextResponse.json({enabled:!1,status:"disabled"});let{spacesDir:r,configPath:a}=(0,N.getUserPaths)(s),n=(0,x.readCortexConfig)(a),i=y.default.join(r,"cortex"),o=new Map;try{let t=(await e.A(32989)).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 (legacy)",team:"Team"};for(let e of["personal","workspace","team"]){let s=y.default.join(i,e);if(!A.default.existsSync(s))continue;let r=y.default.join(s,"knowledge.lance");if(A.default.existsSync(r))try{let r=await t.store.getTable?.(e)??null,a=r?await r.countRows():0;l[e]={count:a,sizeBytes:S(s),label:c[e]||e}}catch{l[e]={count:0,sizeBytes:S(s),label:e}}if("workspace"===e)try{for(let e of A.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(A.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{A.default.existsSync(u)&&(d=JSON.parse(A.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 R.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],39880);var w=e.i(39880);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 R="/api/cortex/status/route";R=R.replace(/\/index$/,"")||"/";let _=await v.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:N,nextConfig:x,parsedUrl:A,isDraftMode:y,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,resolvedPathname:O,clientReferenceManifest:L,serverActionsManifest:U}=_,b=(0,o.normalizeAppPath)(R),D=!!(S.dynamicRoutes[b]||S.routes[O]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,A,!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(x.experimental.adapterPath)return await j();throw new h.NoFallbackError}}let k=null;!D||v.isDev||y||(k="/index"===(k=O)?"/":k);let F=!0===v.isDev||!D,X=D&&!F;U&&L&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:L,serverActionsManifest:U});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:N,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.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:m}},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,M).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} ${R}`)}),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=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=M.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,B,n,M.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!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:w})},!1,I),t}},d=await v.handleResponse({req:e,nextConfig:x,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};q?await l(q):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,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:X,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],75766)},32989,e=>{e.v(e=>Promise.resolve().then(()=>e(7304)))}];
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),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])},92687,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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])},76050,e=>{"use strict";var t=e.i(92687);let s={enabled:!1,debug:!1,anthropic_api_key:"",openai_api_key:"",embedding:{provider:"auto",model:null,fallback:"local",dimensions:null},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(["readCortexConfig",()=>r,"writeCortexConfig",()=>a])},75766,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),E=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(89171),_=e.i(79832),m=e.i(92687),x=e.i(15286),N=e.i(76050),A=e.i(22734),y=e.i(14747);function S(e){let t=0;try{for(let s of A.default.readdirSync(e,{withFileTypes:!0})){let r=y.default.join(e,s.name);if(s.isDirectory())t+=S(r);else try{t+=A.default.statSync(r).size}catch{}}}catch{}return t}async function I(t){let s=(0,_.getAuthUser)(t);return(0,_.withUser)(s,async()=>{if(!(0,m.isCortexAvailable)())return R.NextResponse.json({error:"Cortex unavailable"},{status:403});let t=await (0,m.getCortex)();if(!t)return R.NextResponse.json({enabled:!1,status:"disabled"});let{spacesDir:r,configPath:a}=(0,x.getUserPaths)(s),n=(0,N.readCortexConfig)(a),i=y.default.join(r,"cortex"),o=new Map;try{let t=(await e.A(32989)).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 (legacy)",team:"Team"};for(let e of["personal","workspace","team"]){let s=y.default.join(i,e);if(!A.default.existsSync(s))continue;let r=y.default.join(s,"knowledge.lance");if(A.default.existsSync(r))try{let r=await t.store.getTable?.(e)??null,a=r?await r.countRows():0;l[e]={count:a,sizeBytes:S(s),label:c[e]||e}}catch{l[e]={count:0,sizeBytes:S(s),label:e}}if("workspace"===e)try{for(let e of A.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(A.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{A.default.existsSync(u)&&(d=JSON.parse(A.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 R.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],39880);var w=e.i(39880);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 R="/api/cortex/status/route";R=R.replace(/\/index$/,"")||"/";let _=await v.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:x,nextConfig:N,parsedUrl:A,isDraftMode:y,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,resolvedPathname:O,clientReferenceManifest:L,serverActionsManifest:U}=_,b=(0,o.normalizeAppPath)(R),D=!!(S.dynamicRoutes[b]||S.routes[O]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,A,!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 F=!0===v.isDev||!D,X=D&&!F;U&&L&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:L,serverActionsManifest:U});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:x,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:F,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:m}},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,M).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} ${R}`)}),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=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=M.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,B,n,M.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!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,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};q?await l(q):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,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:X,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],75766)},32989,e=>{e.v(e=>Promise.resolve().then(()=>e(7304)))}];
97
97
 
98
98
  //# sourceMappingURL=%5Broot-of-the-server%5D__5c1f2459._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...l(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...l(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);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 c(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=c(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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let s={...d(e),...t},{configPath:a}=c(e);return r.default.writeFileSync(a,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);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 c(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:s}=c(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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let s={...l(e),...t},{configPath:a}=c(e);return r.default.writeFileSync(a,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -93,6 +93,6 @@ module.exports=[24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:r}=e.r(99944),s=r();s&&s.db.runMigrations(t)}catch{}}(c),a.set(n,c),c}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},92687,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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 c(){return n()?.isCortexAvailable()??!1}function l(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>c,"resetCortex",()=>l])},47801,e=>{"use strict";var t=e.i(92687);async function r(...e){return(0,t.getCortexAddon)()?.handleToolCall?.(...e)??{error:"Cortex addon not installed"}}e.s(["CORTEX_TOOLS",0,[],"handleToolCall",()=>r])},31589,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),l=e.i(87718),d=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var R=e.i(220),N=e.i(89171),A=e.i(79832),g=e.i(92687),x=e.i(47801);async function _(e){let t=(0,A.getAuthUser)(e);return(0,A.withUser)(t,async()=>{if(!(0,g.isCortexAvailable)())return N.NextResponse.json({error:"Cortex unavailable"},{status:403});let t=await (0,g.getCortex)();if(!t)return N.NextResponse.json({error:"Cortex disabled"},{status:503});let r=await e.json(),s=await (0,x.handleToolCall)("cortex_refine",r,t);return s.isError?N.NextResponse.json({error:JSON.parse(s.content[0].text)},{status:400}):N.NextResponse.json(JSON.parse(s.content[0].text))})}e.s(["POST",()=>_],87098);var m=e.i(87098);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/curation/refine/route",pathname:"/api/cortex/curation/refine",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/curation/refine/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:S,workUnitAsyncStorage:O,serverHooks:L}=I;function v(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:O})}async function y(e,t,s){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/cortex/curation/refine/route";N=N.replace(/\/index$/,"")||"/";let A=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:g,params:x,nextConfig:_,parsedUrl:m,isDraftMode:S,prerenderManifest:O,routerServerContext:L,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,resolvedPathname:C,clientReferenceManifest:U,serverActionsManifest:w}=A,D=(0,o.normalizeAppPath)(N),b=!!(O.dynamicRoutes[D]||O.routes[C]),X=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,m,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!O.routes[C],t=O.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await X();throw new h.NoFallbackError}}let j=null;!b||I.isDev||S||(j="/index"===(j=C)?"/":j);let F=!0===I.isDev||!b,k=b&&!F;w&&U&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:U,serverActionsManifest:w});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:x,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>I.onRequestError(e,t,s,a,L)},sharedContext:{buildId:g}},G=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(G,(0,l.signalFromNodeResponse)(t));try{let i=async e=>I.handle(Y,M).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")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${N}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&v&&y&&!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=M.renderOpts.fetchMetrics;let c=M.renderOpts.pendingWaitUntil;c&&s.waitUntil&&(s.waitUntil(c),c=void 0);let l=M.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(G,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,s=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:v})},!1,L),t}},d=await I.handleResponse({req:e,nextConfig:_,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:o});if(!b)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",v?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&b||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,E.sendResponse)(G,K,new Response(d.value.body,{headers:h,status:d.value.status||200})),null};q?await c(q):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}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:v})},!1,L),b)throw t;return await (0,E.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>y,"patchFetch",()=>v,"routeModule",()=>I,"serverHooks",()=>L,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>O],31589)}];
96
+ `)}catch{}try{let{getTeams:r}=e.r(99944),s=r();s&&s.db.runMigrations(t)}catch{}}(c),a.set(n,c),c}function i(){for(let e of a.values())e.close();a.clear()}e.s(["closeDb",()=>i,"getDb",()=>n])},92687,e=>{"use strict";var t=e.i(62562),r=e.i(14747);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(15286),a=e.r(7304),n=e.r(17516);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 c(){return n()?.isCortexAvailable()??!1}function d(){n()?.resetCortex()}e.s(["getCortex",()=>o,"getCortexAddon",()=>i,"isCortexAvailable",()=>c,"resetCortex",()=>d])},47801,e=>{"use strict";var t=e.i(92687);async function r(...e){return(0,t.getCortexAddon)()?.handleToolCall?.(...e)??{error:"Cortex addon not installed"}}e.s(["CORTEX_TOOLS",0,[],"handleToolCall",()=>r])},31589,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(84243),n=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),d=e.i(87718),l=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var R=e.i(220),N=e.i(89171),A=e.i(79832),g=e.i(92687),x=e.i(47801);async function _(e){let t=(0,A.getAuthUser)(e);return(0,A.withUser)(t,async()=>{if(!(0,g.isCortexAvailable)())return N.NextResponse.json({error:"Cortex unavailable"},{status:403});let t=await (0,g.getCortex)();if(!t)return N.NextResponse.json({error:"Cortex disabled"},{status:503});let r=await e.json(),s=await (0,x.handleToolCall)("cortex_refine",r,t);return s.isError?N.NextResponse.json({error:JSON.parse(s.content[0].text)},{status:400}):N.NextResponse.json(JSON.parse(s.content[0].text))})}e.s(["POST",()=>_],87098);var m=e.i(87098);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/curation/refine/route",pathname:"/api/cortex/curation/refine",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/curation/refine/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:S,workUnitAsyncStorage:O,serverHooks:L}=I;function v(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:O})}async function y(e,t,s){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/cortex/curation/refine/route";N=N.replace(/\/index$/,"")||"/";let A=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:g,params:x,nextConfig:_,parsedUrl:m,isDraftMode:S,prerenderManifest:O,routerServerContext:L,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,resolvedPathname:C,clientReferenceManifest:U,serverActionsManifest:w}=A,D=(0,o.normalizeAppPath)(N),b=!!(O.dynamicRoutes[D]||O.routes[C]),X=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,m,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!O.routes[C],t=O.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await X();throw new h.NoFallbackError}}let j=null;!b||I.isDev||S||(j="/index"===(j=C)?"/":j);let F=!0===I.isDev||!b,k=b&&!F;w&&U&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:U,serverActionsManifest:w});let P=e.method||"GET",H=(0,n.getTracer)(),q=H.getActiveScopeSpan(),M={params:x,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>I.onRequestError(e,t,s,a,L)},sharedContext:{buildId:g}},G=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let i=async e=>I.handle(Y,M).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} ${N}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var n,c;let d=async({previousCacheEntry:r})=>{try{if(!o&&v&&y&&!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=M.renderOpts.fetchMetrics;let c=M.renderOpts.pendingWaitUntil;c&&s.waitUntil&&(s.waitUntil(c),c=void 0);let d=M.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(G,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,s=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.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:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:v})},!1,L),t}},l=await I.handleResponse({req:e,nextConfig:_,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,responseGenerator:d,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==(c=l.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",v?"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,p.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,E.sendResponse)(G,K,new Response(l.value.body,{headers:h,status:l.value.status||200})),null};q?await c(q):await H.withPropagatedContext(e.headers,()=>H.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}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:v})},!1,L),b)throw t;return await (0,E.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>y,"patchFetch",()=>v,"routeModule",()=>I,"serverHooks",()=>L,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>O],31589)}];
97
97
 
98
98
  //# sourceMappingURL=%5Broot-of-the-server%5D__63cebc6c._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...d(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);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])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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(4730).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])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);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 c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);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 c(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 c=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"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:r}=c(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}:{}}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...d(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),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),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);let s=null,n=!1;function a(){if(!n){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{}n=!0}return s}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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,n=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function i(){let i="0.0.0";try{i=e.r(4730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:s,hasMultiuser:r,hasCortex:n,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,n,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,s,"IS_DESKTOP",0,a,"IS_FEDERATION",0,s,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.6",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",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:{"@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","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return s.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(e){return s.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=n.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>a,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);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 c(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===s.default.userInfo().username)n=s.default.homedir();else if(1){let e=t.default.dirname(s.default.homedir()),a=t.default.join(e,o);n=r.default.existsSync(a)?a:s.default.homedir()}else n=`/home/${o}`;let c=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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=c(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function u(e,t){let s={...d(e),...t},{configPath:n}=c(e);return r.default.writeFileSync(n,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),s=e.i(79832);let n=new Map;function a(){let a=(0,s.getCurrentUser)(),i=n.get(a);if(i)return i;(0,r.ensureUserSpacesDir)(a);let{dbPath:o}=(0,r.getUserPaths)(a),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
1
+ module.exports=[24725,(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"))},93695,(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"))},18622,(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"))},56704,(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"))},32319,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},62562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},99944,e=>{"use strict";var t=e.i(62562),r=e.i(14747);let s=null,n=!1;function a(){if(!n){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{}n=!0}return s}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17516,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,n=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function i(){let i="0.0.0";try{i=e.r(4730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:s,hasMultiuser:r,hasCortex:n,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,n,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,s,"IS_DESKTOP",0,a,"IS_FEDERATION",0,s,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.7.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",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:{"@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","force-graph":"^1.51.2","node-pty":"^1.1.0",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"}})},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),r=e.i(46786),s=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return s.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(e){return s.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=n.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>a,"getCurrentUser",()=>c,"withUser",()=>i])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),r=e.i(22734),s=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);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 c(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===s.default.userInfo().username)n=s.default.homedir();else if(1){let e=t.default.dirname(s.default.homedir()),a=t.default.join(e,o);n=r.default.existsSync(a)?a:s.default.homedir()}else n=`/home/${o}`;let c=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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function l(e){let{spacesDir:t}=c(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=c(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.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}:{}}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function u(e,t){let s={...d(e),...t},{configPath:n}=c(e);return r.default.writeFileSync(n,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>l,"getUserPaths",()=>c,"readConfig",()=>d,"writeConfig",()=>u])},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),r=e.i(15286),s=e.i(79832);let n=new Map;function a(){let a=(0,s.getCurrentUser)(),i=n.get(a);if(i)return i;(0,r.ensureUserSpacesDir)(a);let{dbPath:o}=(0,r.getUserPaths)(a),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let r;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,