@jlongo78/agent-spaces 0.9.9 → 0.9.10

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 (289) 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/api/chat/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/cortex.html +1 -1
  54. package/.next/standalone/.next/server/app/cortex.rsc +1 -1
  55. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/login.html +1 -1
  63. package/.next/standalone/.next/server/app/login.rsc +1 -1
  64. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  71. package/.next/standalone/.next/server/app/m/projects.rsc +1 -1
  72. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  74. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +1 -1
  75. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  80. package/.next/standalone/.next/server/app/m/sessions.rsc +1 -1
  81. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +1 -1
  85. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  86. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  87. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  89. package/.next/standalone/.next/server/app/m/settings.rsc +1 -1
  90. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +1 -1
  93. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +1 -1
  94. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  95. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  98. package/.next/standalone/.next/server/app/m/terminal.rsc +1 -1
  99. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +1 -1
  100. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +1 -1
  103. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
  104. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/m.html +1 -1
  107. package/.next/standalone/.next/server/app/m.rsc +1 -1
  108. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  110. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +1 -1
  111. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  113. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/network.html +1 -1
  115. package/.next/standalone/.next/server/app/network.rsc +1 -1
  116. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +1 -1
  120. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +1 -1
  123. package/.next/standalone/.next/server/app/projects.html +1 -1
  124. package/.next/standalone/.next/server/app/projects.rsc +1 -1
  125. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  129. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  130. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/sessions.html +1 -1
  133. package/.next/standalone/.next/server/app/sessions.rsc +1 -1
  134. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  139. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/settings.html +1 -1
  142. package/.next/standalone/.next/server/app/settings.rsc +1 -1
  143. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  146. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  147. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  148. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/terminal.html +1 -1
  151. package/.next/standalone/.next/server/app/terminal.rsc +1 -1
  152. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  155. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +1 -1
  156. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  157. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +1 -1
  158. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +1 -1
  159. package/.next/standalone/.next/server/app/vr.html +1 -1
  160. package/.next/standalone/.next/server/app/vr.rsc +1 -1
  161. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +1 -1
  162. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +1 -1
  164. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +1 -1
  165. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +1 -1
  166. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  167. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  168. package/.next/standalone/.next/server/app/workspaces.rsc +1 -1
  169. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  170. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  171. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +1 -1
  173. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  174. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +1 -1
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +1 -1
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +1 -1
  179. package/.next/standalone/.next/server/chunks/[root-of-the-server]__046c9b91._.js +3 -3
  180. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +1 -1
  181. package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
  182. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ac4ea3f._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0facd39e._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10bc76a3._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/[root-of-the-server]__115f3934._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +1 -1
  188. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17a3b966._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17d3a2b2._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +2 -2
  191. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e2a996e5._.js → [root-of-the-server]__1fe0f452._.js} +4 -4
  192. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20b5e9c4._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28d6fbd8._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a3f866b._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/[root-of-the-server]__316617e7._.js +3 -3
  196. package/.next/standalone/.next/server/chunks/[root-of-the-server]__32ad8f71._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35457394._.js +2 -2
  198. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35de78e6._.js +1 -1
  199. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3685ffcb._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/[root-of-the-server]__38954988._.js +2 -2
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a32b624._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +1 -1
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +1 -1
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c6ce9ed._.js +2 -2
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +1 -1
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65676930._.js +1 -1
  208. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c64af29._.js +2 -2
  211. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73aed9f5._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79b6a9bb._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7db704c6._.js +1 -1
  214. package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +1 -1
  215. package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +1 -1
  217. package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +1 -1
  218. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +1 -1
  219. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +2 -2
  220. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c2e1260._.js +2 -2
  221. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d536cb5._.js +2 -2
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +2 -2
  223. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f2ccc41._.js +2 -2
  224. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95c9d682._.js +2 -2
  225. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +1 -1
  226. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9edcff87._.js +1 -1
  227. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a049dfc2._.js +1 -1
  228. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +3 -3
  229. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a83262a1._.js +2 -2
  230. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +1 -1
  231. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d7f822._.js +2 -2
  232. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +1 -1
  234. package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +2 -2
  235. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +1 -1
  236. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +1 -1
  237. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bfcd7fd4._.js +13 -0
  238. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c011bf91._.js +1 -1
  239. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c37d6380._.js +1 -1
  240. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cae392eb._.js +1 -1
  241. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +1 -1
  242. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d59c6c15._.js +3 -3
  243. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5c1db32._.js +2 -2
  244. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dba60c86._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/[root-of-the-server]__de14b9ae._.js +1 -1
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e10643d1._.js +1 -1
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3477417._.js +1 -1
  248. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4db362e._.js +1 -1
  249. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4e70b86._.js +1 -1
  250. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e54925af._.js +1 -1
  251. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8cbeaca._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8edc5b0._.js +1 -1
  253. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eab4d83b._.js +2 -2
  254. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f056fd83._.js +1 -1
  255. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +2 -2
  256. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +1 -1
  257. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9cd277._.js +1 -1
  258. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +1 -1
  259. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  260. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  261. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__ca3f649e._.js +2 -2
  262. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  263. package/.next/standalone/.next/server/pages/404.html +1 -1
  264. package/.next/standalone/.next/server/pages/500.html +2 -2
  265. package/.next/standalone/bin/cortex-hook.js +8 -3
  266. package/.next/standalone/bin/cortex-learn-hook.js +7 -2
  267. package/.next/standalone/bin/scrub-standalone.js +89 -0
  268. package/.next/standalone/bin/terminal-server.js +44 -16
  269. package/.next/standalone/package-lock.json +2 -2
  270. package/.next/standalone/package.json +2 -2
  271. package/.next/standalone/src/app/api/chat/route.ts +56 -53
  272. package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +2 -1
  273. package/.next/standalone/src/lib/spawn-env.ts +32 -0
  274. package/.next/standalone/src/lib/terminal/server.ts +3 -3
  275. package/.next/standalone/src/middleware.ts +23 -5
  276. package/bin/cortex-hook.js +8 -3
  277. package/bin/cortex-learn-hook.js +7 -2
  278. package/bin/scrub-standalone.js +89 -0
  279. package/bin/terminal-server.js +44 -16
  280. package/package.json +2 -2
  281. package/.next/standalone/.claude/settings.local.json +0 -68
  282. package/.next/standalone/.claude/spaces-env.json +0 -1
  283. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +0 -13
  284. package/.next/standalone/.spaces/cortex-context.md +0 -51
  285. package/.next/standalone/cortex-hook-debug.log +0 -118
  286. package/.next/standalone/docs/plans/2026-03-02-security-audit.md +0 -229
  287. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_buildManifest.js +0 -0
  288. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_clientMiddlewareManifest.json +0 -0
  289. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function d(e){let a,o=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===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 d=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function c(e){let{spacesDir:t}=d(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=d(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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let r={...l(e),...t},{configPath:a}=d(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>d,"readConfig",()=>l,"writeConfig",()=>u])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function d(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>d,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),d=new t.default(o);return d.pragma("journal_mode = WAL"),d.pragma("synchronous = NORMAL"),d.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function d(e){let a,o=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===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 d=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function c(e){let{spacesDir:t}=d(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=d(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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function E(e,t){let r={...l(e),...t},{configPath:a}=d(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>d,"readConfig",()=>l,"writeConfig",()=>E])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function d(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>d,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),d=new t.default(o);return d.pragma("journal_mode = WAL"),d.pragma("synchronous = NORMAL"),d.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,
@@ -106,7 +106,7 @@ module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback
106
106
  content,
107
107
  content_rowid='rowid'
108
108
  );
109
- `)}catch{}try{let{getTeams:s}=e.r(599944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),a.set(n,d),d}function i(){for(let e of a.values())e.close();a.clear()}e.s(["__testing",0,{dbs:a},"closeDb",()=>i,"getDb",()=>n])},233405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},365836,e=>{"use strict";var t=e.i(507304),s=e.i(460569),r=e.i(79832),a=e.i(599944);let n=new Set,i=new Set,o=!1,d=0;async function c(){let c=(0,r.getCurrentUser)();if(n.has(c)){let e=Date.now();e-d>3e5&&(d=e,(0,s.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),n.add(c),!o){o=!0;let s=(0,a.getTeams)();if(s){let{sseManager:r}=await e.A(972354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(c)){i.add(c);try{let e=await (0,s.fullSync)();console.log(`[spaces:${c}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${c}] Enriched ${t} sessions from JSONL`),d=Date.now(),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${c}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${c}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${c}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${c}] Sync error:`,e)}finally{i.delete(c)}}}e.s(["ensureInitialized",()=>c])},713434,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),c=e.i(487718),l=e.i(995169),u=e.i(47587),E=e.i(666012),p=e.i(570101),T=e.i(626937),f=e.i(10372),N=e.i(193695);e.i(52474);var h=e.i(600220),R=e.i(233405),g=e.i(79832),m=e.i(365836),A=e.i(550837);async function S(t,{params:s}){let r=(0,g.getAuthUser)(t);return(0,g.withUser)(r,async()=>{await (0,m.ensureInitialized)();let{id:r}=await s,{message:a,cwd:n}=await t.json();if(!a||"string"!=typeof a)return new Response(JSON.stringify({error:"Message is required"}),{status:400,headers:{"Content-Type":"application/json"}});let i=(0,A.getSessionById)(r),o=n||i?.projectPath||e.r(446786).homedir(),d=new TextEncoder;return new Response(new ReadableStream({start(e){let s={...process.env};delete s.CLAUDECODE;let n=(0,R.spawn)("claude",["--resume",r,"-p",a,"--output-format","stream-json","--verbose"],{cwd:o,env:s,stdio:["pipe","pipe","pipe"]});n.stdin.end();let i=setTimeout(()=>{e.enqueue(d.encode(`data: ${JSON.stringify({type:"error",text:"Timed out after 5 minutes"})}
109
+ `)}catch{}try{let{getTeams:s}=e.r(599944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),a.set(n,d),d}function i(){for(let e of a.values())e.close();a.clear()}e.s(["__testing",0,{dbs:a},"closeDb",()=>i,"getDb",()=>n])},233405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},365836,e=>{"use strict";var t=e.i(507304),s=e.i(460569),r=e.i(79832),a=e.i(599944);let n=new Set,i=new Set,o=!1,d=0;async function c(){let c=(0,r.getCurrentUser)();if(n.has(c)){let e=Date.now();e-d>3e5&&(d=e,(0,s.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),n.add(c),!o){o=!0;let s=(0,a.getTeams)();if(s){let{sseManager:r}=await e.A(972354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(c)){i.add(c);try{let e=await (0,s.fullSync)();console.log(`[spaces:${c}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${c}] Enriched ${t} sessions from JSONL`),d=Date.now(),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${c}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${c}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${c}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${c}] Sync error:`,e)}finally{i.delete(c)}}}e.s(["ensureInitialized",()=>c])},463222,e=>{"use strict";let t=new Set(["HOME","USER","LOGNAME","SHELL","PATH","PWD","OLDPWD","HOSTNAME","LANG","LC_ALL","LC_CTYPE","LC_MESSAGES","LC_COLLATE","LC_TIME","LC_NUMERIC","LC_MONETARY","TZ","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_CACHE_HOME","XDG_RUNTIME_DIR","XDG_STATE_HOME","TERM","TERM_PROGRAM","TERM_PROGRAM_VERSION","COLORTERM","COLUMNS","LINES","NODE_ENV","NVM_DIR","NVM_BIN"]);function s(e={}){let r={};for(let e of t){let t=process.env[e];void 0!==t&&(r[e]=t)}for(let[t,s]of Object.entries(e))void 0!==s&&(r[t]=s);return r}e.s(["buildSpawnEnv",()=>s])},713434,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),c=e.i(487718),l=e.i(995169),E=e.i(47587),u=e.i(666012),p=e.i(570101),T=e.i(626937),N=e.i(10372),f=e.i(193695);e.i(52474);var R=e.i(600220),h=e.i(233405),A=e.i(79832),g=e.i(365836),_=e.i(550837),S=e.i(463222);async function m(t,{params:s}){let r=(0,A.getAuthUser)(t);return(0,A.withUser)(r,async()=>{await (0,g.ensureInitialized)();let{id:r}=await s,{message:a,cwd:n}=await t.json();if(!a||"string"!=typeof a)return new Response(JSON.stringify({error:"Message is required"}),{status:400,headers:{"Content-Type":"application/json"}});let i=(0,_.getSessionById)(r),o=n||i?.projectPath||e.r(446786).homedir(),d=new TextEncoder;return new Response(new ReadableStream({start(e){let s=(0,S.buildSpawnEnv)();delete s.CLAUDECODE;let n=(0,h.spawn)("claude",["--resume",r,"-p",a,"--output-format","stream-json","--verbose"],{cwd:o,env:s,stdio:["pipe","pipe","pipe"]});n.stdin.end();let i=setTimeout(()=>{e.enqueue(d.encode(`data: ${JSON.stringify({type:"error",text:"Timed out after 5 minutes"})}
110
110
 
111
111
  `)),n.kill("SIGTERM")},3e5),c="";n.stdout.on("data",t=>{let s=(c+=t.toString()).split("\n");for(let t of(c=s.pop()||"",s))if(t.trim())try{let s=JSON.parse(t);e.enqueue(d.encode(`data: ${JSON.stringify(s)}
112
112
 
@@ -122,6 +122,6 @@ module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback
122
122
 
123
123
  `)),e.close()}),n.on("error",t=>{clearTimeout(i),e.enqueue(d.encode(`data: ${JSON.stringify({type:"error",text:t.message})}
124
124
 
125
- `)),e.close()}),t.signal.addEventListener("abort",()=>{clearTimeout(i),n.kill("SIGTERM")})}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})})}e.s(["POST",()=>S,"dynamic",0,"force-dynamic"],446898);var _=e.i(446898);let I=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/chat/route",pathname:"/api/sessions/[id]/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/[id]/chat/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:x,workUnitAsyncStorage:y,serverHooks:L}=I;function O(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:y})}async function w(e,t,r){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/sessions/[id]/chat/route";R=R.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:A,nextConfig:S,parsedUrl:_,isDraftMode:x,prerenderManifest:y,routerServerContext:L,isOnDemandRevalidate:O,revalidateOnlyGenerated:w,resolvedPathname:v,clientReferenceManifest:U,serverActionsManifest:C}=g,D=(0,o.normalizeAppPath)(R),b=!!(y.dynamicRoutes[D]||y.routes[v]),X=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,_,!1):t.end("This page could not be found"),null);if(b&&!x){let e=!!y.routes[v],t=y.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await X();throw new N.NoFallbackError}}let F=null;!b||I.isDev||x||(F="/index"===(F=v)?"/":F);let j=!0===I.isDev||!b,k=b&&!j;C&&U&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:U,serverActionsManifest:C});let P=e.method||"GET",q=(0,n.getTracer)(),M=q.getActiveScopeSpan(),G={params:A,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>I.onRequestError(e,t,r,a,L)},sharedContext:{buildId:m}},H=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let i=async e=>I.handle(K,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=q.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==l.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"),d=async a=>{var n,d;let c=async({previousCacheEntry:s})=>{try{if(!o&&O&&w&&!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=G.renderOpts.fetchMetrics;let d=G.renderOpts.pendingWaitUntil;d&&r.waitUntil&&(r.waitUntil(d),d=void 0);let c=G.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(H,$,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.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!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:h.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:O})},!1,L),t}},l=await I.handleResponse({req:e,nextConfig:S,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:w,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let N=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&b||N.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||N.get("Cache-Control")||N.set("Cache-Control",(0,T.getCacheControlHeader)(l.cacheControl)),await (0,E.sendResponse)(H,$,new Response(l.value.body,{headers:N,status:l.value.status||200})),null};M?await d(M):await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof N.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:O})},!1,L),b)throw t;return await (0,E.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>O,"routeModule",()=>I,"serverHooks",()=>L,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>y],713434)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
125
+ `)),e.close()}),t.signal.addEventListener("abort",()=>{clearTimeout(i),n.kill("SIGTERM")})}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})})}e.s(["POST",()=>m,"dynamic",0,"force-dynamic"],446898);var I=e.i(446898);let L=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/chat/route",pathname:"/api/sessions/[id]/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/[id]/chat/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:O,workUnitAsyncStorage:x,serverHooks:y}=L;function w(){return(0,r.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:x})}async function C(e,t,r){L.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/sessions/[id]/chat/route";h=h.replace(/\/index$/,"")||"/";let A=await L.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,params:_,nextConfig:S,parsedUrl:m,isDraftMode:I,prerenderManifest:O,routerServerContext:x,isOnDemandRevalidate:y,revalidateOnlyGenerated:w,resolvedPathname:C,clientReferenceManifest:v,serverActionsManifest:D}=A,U=(0,o.normalizeAppPath)(h),b=!!(O.dynamicRoutes[U]||O.routes[C]),X=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,m,!1):t.end("This page could not be found"),null);if(b&&!I){let e=!!O.routes[C],t=O.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await X();throw new f.NoFallbackError}}let F=null;!b||L.isDev||I||(F="/index"===(F=C)?"/":F);let j=!0===L.isDev||!b,k=b&&!j;D&&v&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:v,serverActionsManifest:D});let M=e.method||"GET",P=(0,n.getTracer)(),G=P.getActiveScopeSpan(),q={params:_,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>L.onRequestError(e,t,r,a,x)},sharedContext:{buildId:g}},H=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let i=async e=>L.handle(Y,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=P.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==l.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=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${h}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),d=async a=>{var n,d;let c=async({previousCacheEntry:s})=>{try{if(!o&&y&&w&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=q.renderOpts.fetchMetrics;let d=q.renderOpts.pendingWaitUntil;d&&r.waitUntil&&(r.waitUntil(d),d=void 0);let c=q.renderOpts.collectedTags;if(!b)return await (0,u.sendResponse)(H,$,n,q.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[N.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=N.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,r=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=N.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await L.onRequestError(e,t,{routerKind:"App Router",routePath:h,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,x),t}},l=await L.handleResponse({req:e,nextConfig:S,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:y,revalidateOnlyGenerated:w,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",y?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&b||f.delete(N.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,T.getCacheControlHeader)(l.cacheControl)),await (0,u.sendResponse)(H,$,new Response(l.value.body,{headers:f,status:l.value.status||200})),null};G?await d(G):await P.withPropagatedContext(e.headers,()=>P.trace(l.BaseServerSpan.handleRequest,{spanName:`${M} ${h}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},d))}catch(t){if(t instanceof f.NoFallbackError||await L.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,x),b)throw t;return await (0,u.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>w,"routeModule",()=>L,"serverHooks",()=>y,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>x],713434)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
126
126
 
127
- //# sourceMappingURL=%5Broot-of-the-server%5D__e2a996e5._.js.map
127
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1fe0f452._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let n=null,s=!1;function a(){if(!s){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{n=(0,t.createRequire)(e)("@spaces/teams");break}catch{}s=!0}return n}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),n=e.i(446786),s=e.i(254799),a=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function l(e){let s,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===n.default.userInfo().username)s=n.default.homedir();else if(1){let e=t.default.dirname(n.default.homedir()),a=t.default.join(e,o);s=r.default.existsSync(a)?a:n.default.homedir()}else s=`/home/${o}`;let l=o===n.default.userInfo().username?t.default.join(n.default.homedir(),".spaces"):t.default.join(n.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(s,".claude"),claudeProjectsDir:t.default.join(s,".claude","projects"),statsPath:t.default.join(s,".claude","stats-cache.json"),codexDir:t.default.join(s,".codex"),codexSessionsDir:t.default.join(s,".codex","sessions"),geminiDir:t.default.join(s,".gemini"),geminiChatsBaseDir:t.default.join(s,".gemini","tmp"),geminiProjectsRegistry:t.default.join(s,".gemini","projects.json"),forgeDir:t.default.join(s,".forge"),forgeConversationsDir:t.default.join(s,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function d(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function u(e){let{configPath:t,spacesDir:n}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||s.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(n)||r.default.mkdirSync(n,{recursive:!0});let a={installId:s.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function c(e,t){let n={...u(e),...t},{configPath:s}=l(e);return r.default.writeFileSync(s,JSON.stringify(n,null,2)),n}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>l,"readConfig",()=>u,"writeConfig",()=>c])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,n="federation"===t,s=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:n,hasMultiuser:r,hasCortex:s,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,s,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,n,"IS_DESKTOP",0,a,"IS_FEDERATION",0,n,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),n=e.i(717516);let s=new t.AsyncLocalStorage;function a(e){return n.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return s.run(e,t)}function o(e){return n.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=s.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>a,"getCurrentUser",()=>l,"withUser",()=>i])},237765,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),s=e.i(759756),a=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),g=e.i(10372),x=e.i(193695);e.i(52474);var m=e.i(600220),v=e.i(89171),y=e.i(79832),R=e.i(798003);async function b(e){let t=(0,y.getAuthUser)(e);return(0,y.withUser)(t,()=>{let e=(0,R.readConfig)(t);return v.NextResponse.json(e)})}async function A(t){let r=(0,y.getAuthUser)(t);return(0,y.withUser)(r,async()=>{let n=await t.json(),s={};if("boolean"==typeof n.telemetryOptOut&&(s.telemetryOptOut=n.telemetryOptOut),Array.isArray(n.devDirectories)){let{isAbsolute:t,resolve:r}=e.r(814747);s.devDirectories=n.devDirectories.filter(e=>"string"==typeof e&&t(e)).map(e=>r(e))}"boolean"==typeof n.todosEnabled&&(s.todosEnabled=n.todosEnabled);let a=(0,R.writeConfig)(r,s);return v.NextResponse.json(a)})}e.s(["GET",()=>b,"PUT",()=>A],577025);var E=e.i(577025);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/config/route",pathname:"/api/config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/config/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:S,workUnitAsyncStorage:j,serverHooks:C}=w;function T(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:j})}async function O(e,t,n){w.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/config/route";v=v.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:b,nextConfig:A,parsedUrl:E,isDraftMode:S,prerenderManifest:j,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:_,clientReferenceManifest:k,serverActionsManifest:D}=y,I=(0,o.normalizeAppPath)(v),P=!!(j.dynamicRoutes[I]||j.routes[_]),U=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!S){let e=!!j.routes[_],t=j.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await U();throw new x.NoFallbackError}}let N=null;!P||w.isDev||S||(N="/index"===(N=_)?"/":N);let q=!0===w.isDev||!P,H=P&&!q;D&&k&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:D});let M=e.method||"GET",L=(0,a.getTracer)(),F=L.getActiveScopeSpan(),K={params:b,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>w.onRequestError(e,t,n,s,C)},sharedContext:{buildId:R}},$=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let i=async e=>w.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&T&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)($,B,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,C),t}},u=await w.handleResponse({req:e,nextConfig:A,cacheKey:N,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!P)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&P||x.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)($,B,new Response(u.value.body,{headers:x,status:u.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,C),P)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>T,"routeModule",()=>w,"serverHooks",()=>C,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>j],237765)}];
1
+ module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let n=null,s=!1;function a(){if(!s){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{n=(0,t.createRequire)(e)("@spaces/teams");break}catch{}s=!0}return n}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),n=e.i(446786),s=e.i(254799),a=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function l(e){let s,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===n.default.userInfo().username)s=n.default.homedir();else if(1){let e=t.default.dirname(n.default.homedir()),a=t.default.join(e,o);s=r.default.existsSync(a)?a:n.default.homedir()}else s=`/home/${o}`;let l=o===n.default.userInfo().username?t.default.join(n.default.homedir(),".spaces"):t.default.join(n.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(s,".claude"),claudeProjectsDir:t.default.join(s,".claude","projects"),statsPath:t.default.join(s,".claude","stats-cache.json"),codexDir:t.default.join(s,".codex"),codexSessionsDir:t.default.join(s,".codex","sessions"),geminiDir:t.default.join(s,".gemini"),geminiChatsBaseDir:t.default.join(s,".gemini","tmp"),geminiProjectsRegistry:t.default.join(s,".gemini","projects.json"),forgeDir:t.default.join(s,".forge"),forgeConversationsDir:t.default.join(s,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function d(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function u(e){let{configPath:t,spacesDir:n}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||s.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(n)||r.default.mkdirSync(n,{recursive:!0});let a={installId:s.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function c(e,t){let n={...u(e),...t},{configPath:s}=l(e);return r.default.writeFileSync(s,JSON.stringify(n,null,2)),n}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>l,"readConfig",()=>u,"writeConfig",()=>c])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,n="federation"===t,s=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:n,hasMultiuser:r,hasCortex:s,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,s,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,n,"IS_DESKTOP",0,a,"IS_FEDERATION",0,n,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),n=e.i(717516);let s=new t.AsyncLocalStorage;function a(e){return n.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return s.run(e,t)}function o(e){return n.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=s.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>a,"getCurrentUser",()=>l,"withUser",()=>i])},237765,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),s=e.i(759756),a=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),g=e.i(10372),x=e.i(193695);e.i(52474);var m=e.i(600220),v=e.i(89171),y=e.i(79832),R=e.i(798003);async function b(e){let t=(0,y.getAuthUser)(e);return(0,y.withUser)(t,()=>{let e=(0,R.readConfig)(t);return v.NextResponse.json(e)})}async function A(t){let r=(0,y.getAuthUser)(t);return(0,y.withUser)(r,async()=>{let n=await t.json(),s={};if("boolean"==typeof n.telemetryOptOut&&(s.telemetryOptOut=n.telemetryOptOut),Array.isArray(n.devDirectories)){let{isAbsolute:t,resolve:r}=e.r(814747);s.devDirectories=n.devDirectories.filter(e=>"string"==typeof e&&t(e)).map(e=>r(e))}"boolean"==typeof n.todosEnabled&&(s.todosEnabled=n.todosEnabled);let a=(0,R.writeConfig)(r,s);return v.NextResponse.json(a)})}e.s(["GET",()=>b,"PUT",()=>A],577025);var E=e.i(577025);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/config/route",pathname:"/api/config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/config/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:S,workUnitAsyncStorage:j,serverHooks:C}=w;function T(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:j})}async function O(e,t,n){w.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/config/route";v=v.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:b,nextConfig:A,parsedUrl:E,isDraftMode:S,prerenderManifest:j,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:_,clientReferenceManifest:k,serverActionsManifest:D}=y,I=(0,o.normalizeAppPath)(v),P=!!(j.dynamicRoutes[I]||j.routes[_]),U=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!S){let e=!!j.routes[_],t=j.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await U();throw new x.NoFallbackError}}let N=null;!P||w.isDev||S||(N="/index"===(N=_)?"/":N);let q=!0===w.isDev||!P,H=P&&!q;D&&k&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:D});let M=e.method||"GET",L=(0,a.getTracer)(),F=L.getActiveScopeSpan(),K={params:b,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>w.onRequestError(e,t,n,s,C)},sharedContext:{buildId:R}},$=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let i=async e=>w.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&T&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)($,B,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,C),t}},u=await w.handleResponse({req:e,nextConfig:A,cacheKey:N,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!P)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&P||x.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)($,B,new Response(u.value.body,{headers:x,status:u.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,C),P)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>T,"routeModule",()=>w,"serverHooks",()=>C,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>j],237765)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__20b5e9c4._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[324725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[324725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let a=null,s=!1;function n(){if(!s){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{a=(0,t.createRequire)(e)("@spaces/teams");break}catch{}s=!0}return a}function o(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>o])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),a=e.i(446786),s=e.i(254799),n=e.i(717516),o=e.i(599944);let i={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 s,i=e;if(n.HAS_MULTIUSER)try{let t=(0,o.getTeams)();t&&(i=t.admin.resolveShellUser(e))}catch{}if(i===a.default.userInfo().username)s=a.default.homedir();else if(1){let e=t.default.dirname(a.default.homedir()),n=t.default.join(e,i);s=r.default.existsSync(n)?n:a.default.homedir()}else s=`/home/${i}`;let l=i===a.default.userInfo().username?t.default.join(a.default.homedir(),".spaces"):t.default.join(a.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(s,".claude"),claudeProjectsDir:t.default.join(s,".claude","projects"),statsPath:t.default.join(s,".claude","stats-cache.json"),codexDir:t.default.join(s,".codex"),codexSessionsDir:t.default.join(s,".codex","sessions"),geminiDir:t.default.join(s,".gemini"),geminiChatsBaseDir:t.default.join(s,".gemini","tmp"),geminiProjectsRegistry:t.default.join(s,".gemini","projects.json"),forgeDir:t.default.join(s,".forge"),forgeConversationsDir:t.default.join(s,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function c(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:a}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||s.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(a)||r.default.mkdirSync(a,{recursive:!0});let n={installId:s.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let a={...d(e),...t},{configPath:s}=l(e);return r.default.writeFileSync(s,JSON.stringify(a,null,2)),a}e.s(["config",0,i,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>l,"readConfig",()=>d,"writeConfig",()=>u])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,a="federation"===t,s=r||"1"===process.env.SPACES_HAS_CORTEX,n=!r;function o(){let o="0.0.0";try{o=e.r(804730).version}catch{}return{tier:t,version:o,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:a,hasMultiuser:r,hasCortex:s,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,s,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,a,"IS_DESKTOP",0,n,"IS_FEDERATION",0,a,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>o])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),a=e.i(717516);let s=new t.AsyncLocalStorage;function n(e){return a.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function o(e,t){return s.run(e,t)}function i(e){return a.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=s.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>i,"getAuthUser",()=>n,"getCurrentUser",()=>l,"withUser",()=>o])},435333,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),c=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),g=e.i(10372),m=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),y=e.i(79832),w=e.i(798003);let R=`You are a project planning assistant for Agent Spaces — a workspace manager for AI coding agents.
1
+ module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let a=null,s=!1;function n(){if(!s){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{a=(0,t.createRequire)(e)("@spaces/teams");break}catch{}s=!0}return a}function o(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>o])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),a=e.i(446786),s=e.i(254799),n=e.i(717516),o=e.i(599944);let i={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 s,i=e;if(n.HAS_MULTIUSER)try{let t=(0,o.getTeams)();t&&(i=t.admin.resolveShellUser(e))}catch{}if(i===a.default.userInfo().username)s=a.default.homedir();else if(1){let e=t.default.dirname(a.default.homedir()),n=t.default.join(e,i);s=r.default.existsSync(n)?n:a.default.homedir()}else s=`/home/${i}`;let l=i===a.default.userInfo().username?t.default.join(a.default.homedir(),".spaces"):t.default.join(a.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(s,".claude"),claudeProjectsDir:t.default.join(s,".claude","projects"),statsPath:t.default.join(s,".claude","stats-cache.json"),codexDir:t.default.join(s,".codex"),codexSessionsDir:t.default.join(s,".codex","sessions"),geminiDir:t.default.join(s,".gemini"),geminiChatsBaseDir:t.default.join(s,".gemini","tmp"),geminiProjectsRegistry:t.default.join(s,".gemini","projects.json"),forgeDir:t.default.join(s,".forge"),forgeConversationsDir:t.default.join(s,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function c(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:a}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||s.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(a)||r.default.mkdirSync(a,{recursive:!0});let n={installId:s.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function u(e,t){let a={...d(e),...t},{configPath:s}=l(e);return r.default.writeFileSync(s,JSON.stringify(a,null,2)),a}e.s(["config",0,i,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>l,"readConfig",()=>d,"writeConfig",()=>u])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,a="federation"===t,s=r||"1"===process.env.SPACES_HAS_CORTEX,n=!r;function o(){let o="0.0.0";try{o=e.r(804730).version}catch{}return{tier:t,version:o,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:a,hasMultiuser:r,hasCortex:s,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,s,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,a,"IS_DESKTOP",0,n,"IS_FEDERATION",0,a,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>o])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),a=e.i(717516);let s=new t.AsyncLocalStorage;function n(e){return a.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function o(e,t){return s.run(e,t)}function i(e){return a.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=s.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>i,"getAuthUser",()=>n,"getCurrentUser",()=>l,"withUser",()=>o])},435333,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),c=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),g=e.i(10372),m=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),y=e.i(79832),w=e.i(798003);let b=`You are a project planning assistant for Agent Spaces — a workspace manager for AI coding agents.
2
2
 
3
3
  Your job: help the user plan a new project workspace through conversation. Ask 1-2 questions at a time (not a wall). Converge toward a concrete plan.
4
4
 
@@ -28,11 +28,11 @@ Guidelines:
28
28
  - Use sensible defaults (color #6366f1, cwd based on project name)
29
29
  - Keep pane count reasonable (2-5 for most projects)
30
30
  - For initialPrompt, write what the agent should start working on
31
- - When the plan looks solid, suggest the user review it`;async function A(t){let r=(0,y.getAuthUser)(t);return(0,y.withUser)(r,async()=>{let{configPath:a}=(0,w.getUserPaths)(r),s={};try{let{readCortexConfig:t}=await e.A(93818);s=t(a)}catch{}let n=s.anthropic_api_key||process.env.ANTHROPIC_API_KEY;if(!n)return v.NextResponse.json({error:"No API key configured. Add your Anthropic key in Settings > Cortex."},{status:400});let{messages:o,currentPlan:i}=await t.json(),l=o.map(e=>({role:e.role,content:e.content})),c=R;i&&(c+=`
31
+ - When the plan looks solid, suggest the user review it`;async function R(t){let r=(0,y.getAuthUser)(t);return(0,y.withUser)(r,async()=>{let{configPath:a}=(0,w.getUserPaths)(r),s={};try{let{readCortexConfig:t}=await e.A(93818);s=t(a)}catch{}let n=s.anthropic_api_key||process.env.ANTHROPIC_API_KEY;if(!n)return v.NextResponse.json({error:"No API key configured. Add your Anthropic key in Settings > Cortex."},{status:400});let{messages:o,currentPlan:i}=await t.json(),l=o.map(e=>({role:e.role,content:e.content})),c=b;i&&(c+=`
32
32
 
33
33
  Current plan state:
34
34
  \`\`\`json
35
35
  ${JSON.stringify(i,null,2)}
36
- \`\`\``);try{let e=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":n,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:"claude-haiku-4-5-20251001",max_tokens:2048,system:c,messages:l}),signal:AbortSignal.timeout(3e4)});if(!e.ok)return await e.text(),v.NextResponse.json({error:`API error: ${e.status}`},{status:502});let t=await e.json(),r=t.content?.[0]?.text||"",a=i,s=r.match(/```json\s*([\s\S]*?)```/);if(s)try{a=JSON.parse(s[1])}catch{}let o=r.replace(/```json[\s\S]*?```/g,"").trim();return v.NextResponse.json({reply:o,plan:a})}catch(e){return v.NextResponse.json({error:e.message},{status:500})}})}e.s(["POST",()=>A,"dynamic",0,"force-dynamic"],880713);var b=e.i(880713);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wizard/chat/route",pathname:"/api/wizard/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wizard/chat/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:S,workUnitAsyncStorage:E,serverHooks:C}=j;function k(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:E})}async function T(e,t,a){j.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wizard/chat/route";v=v.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:A,parsedUrl:b,isDraftMode:S,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:O,serverActionsManifest:P}=y,I=(0,i.normalizeAppPath)(v),N=!!(E.dynamicRoutes[I]||E.routes[_]),U=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(N&&!S){let e=!!E.routes[_],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await U();throw new m.NoFallbackError}}let D=null;!N||j.isDev||S||(D="/index"===(D=_)?"/":D);let q=!0===j.isDev||!N,H=N&&!q;P&&O&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:P});let M=e.method||"GET",L=(0,n.getTracer)(),F=L.getActiveScopeSpan(),K={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>j.onRequestError(e,t,a,s,C)},sharedContext:{buildId:w}},$=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let o=async e=>j.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.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 a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&k&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=K.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)($,B,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[g.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),t}},d=await j.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==x.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});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||m.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)($,B,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),N)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>k,"routeModule",()=>j,"serverHooks",()=>C,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>E],435333)},93818,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__cc2616bb._.js"].map(t=>e.l(t))).then(()=>t(176050)))}];
36
+ \`\`\``);try{let e=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":n,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:"claude-haiku-4-5-20251001",max_tokens:2048,system:c,messages:l}),signal:AbortSignal.timeout(3e4)});if(!e.ok)return await e.text(),v.NextResponse.json({error:`API error: ${e.status}`},{status:502});let t=await e.json(),r=t.content?.[0]?.text||"",a=i,s=r.match(/```json\s*([\s\S]*?)```/);if(s)try{a=JSON.parse(s[1])}catch{}let o=r.replace(/```json[\s\S]*?```/g,"").trim();return v.NextResponse.json({reply:o,plan:a})}catch(e){return v.NextResponse.json({error:e.message},{status:500})}})}e.s(["POST",()=>R,"dynamic",0,"force-dynamic"],880713);var A=e.i(880713);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wizard/chat/route",pathname:"/api/wizard/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wizard/chat/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:S,workUnitAsyncStorage:E,serverHooks:C}=j;function k(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:E})}async function T(e,t,a){j.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wizard/chat/route";v=v.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:b,nextConfig:R,parsedUrl:A,isDraftMode:S,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:O,serverActionsManifest:P}=y,I=(0,i.normalizeAppPath)(v),N=!!(E.dynamicRoutes[I]||E.routes[_]),U=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,A,!1):t.end("This page could not be found"),null);if(N&&!S){let e=!!E.routes[_],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await U();throw new m.NoFallbackError}}let D=null;!N||j.isDev||S||(D="/index"===(D=_)?"/":D);let q=!0===j.isDev||!N,H=N&&!q;P&&O&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:P});let M=e.method||"GET",L=(0,n.getTracer)(),F=L.getActiveScopeSpan(),K={params:b,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>j.onRequestError(e,t,a,s,C)},sharedContext:{buildId:w}},$=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let o=async e=>j.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.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 a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&k&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=K.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)($,B,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[g.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),t}},d=await j.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==x.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});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||m.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)($,B,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),N)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>k,"routeModule",()=>j,"serverHooks",()=>C,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>E],435333)},93818,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__cc2616bb._.js"].map(t=>e.l(t))).then(()=>t(176050)))}];
37
37
 
38
38
  //# sourceMappingURL=%5Broot-of-the-server%5D__316617e7._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function 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"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),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):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};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])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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,