@jlongo78/agent-spaces 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/.next/standalone/.claude/settings.local.json +16 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +19 -19
  6. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  20. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  21. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  28. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  29. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  32. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  36. package/.next/standalone/.next/server/app/admin/analytics.rsc +5 -5
  37. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  41. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +5 -5
  42. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +3 -3
  44. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  45. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  46. package/.next/standalone/.next/server/app/admin/users.rsc +5 -5
  47. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +5 -5
  52. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +3 -3
  54. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  55. package/.next/standalone/.next/server/app/analytics.html +1 -1
  56. package/.next/standalone/.next/server/app/analytics.rsc +5 -5
  57. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +5 -5
  61. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +3 -3
  63. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  64. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
  67. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/network/handshake/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/network/projects/route.js +2 -1
  74. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/network/search/route.js +2 -1
  76. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +2 -1
  78. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +2 -1
  80. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/network/sessions/route.js +2 -1
  82. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +2 -1
  84. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +2 -1
  86. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/search/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/sessions/route.js +1 -1
  96. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/tier/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/workspaces/route.js +1 -1
  108. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/login.html +1 -1
  111. package/.next/standalone/.next/server/app/login.rsc +4 -4
  112. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  113. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  115. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  116. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  117. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  121. package/.next/standalone/.next/server/app/m/projects.rsc +5 -5
  122. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +5 -5
  123. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  124. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +3 -3
  125. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  126. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +2 -2
  127. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +2 -2
  129. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  132. package/.next/standalone/.next/server/app/m/sessions.rsc +5 -5
  133. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +5 -5
  134. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +3 -3
  136. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  137. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +2 -2
  138. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  139. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +2 -2
  140. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  142. package/.next/standalone/.next/server/app/m/settings.rsc +5 -5
  143. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +5 -5
  144. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +3 -3
  146. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  147. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +2 -2
  148. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +2 -2
  150. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  152. package/.next/standalone/.next/server/app/m/terminal.rsc +5 -5
  153. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +5 -5
  154. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  155. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +3 -3
  156. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  157. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  158. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  159. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +2 -2
  160. package/.next/standalone/.next/server/app/m.html +1 -1
  161. package/.next/standalone/.next/server/app/m.rsc +5 -5
  162. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +5 -5
  163. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  164. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +3 -3
  165. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  166. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +2 -2
  167. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +2 -2
  168. package/.next/standalone/.next/server/app/network.html +1 -1
  169. package/.next/standalone/.next/server/app/network.rsc +5 -5
  170. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +2 -2
  171. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  173. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +5 -5
  174. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +3 -3
  176. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  177. package/.next/standalone/.next/server/app/projects.html +1 -1
  178. package/.next/standalone/.next/server/app/projects.rsc +5 -5
  179. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +2 -2
  180. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  181. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  182. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +5 -5
  183. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  184. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +3 -3
  185. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  186. package/.next/standalone/.next/server/app/sessions.html +1 -1
  187. package/.next/standalone/.next/server/app/sessions.rsc +5 -5
  188. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +2 -2
  189. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  190. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  191. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +5 -5
  192. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  193. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +3 -3
  194. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  195. package/.next/standalone/.next/server/app/settings.html +1 -1
  196. package/.next/standalone/.next/server/app/settings.rsc +5 -5
  197. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +2 -2
  198. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  200. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +5 -5
  201. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  202. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +3 -3
  203. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  204. package/.next/standalone/.next/server/app/terminal.html +1 -1
  205. package/.next/standalone/.next/server/app/terminal.rsc +5 -5
  206. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  207. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  209. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +5 -5
  210. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  211. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +3 -3
  212. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  213. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  214. package/.next/standalone/.next/server/app/workspaces.rsc +5 -5
  215. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +2 -2
  216. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  217. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +2 -2
  218. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +5 -5
  219. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +3 -3
  221. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d038fdf._.js +106 -0
  223. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0e4c2d35._.js → [root-of-the-server]__12673e47._.js} +2 -2
  224. package/.next/standalone/.next/server/chunks/[root-of-the-server]__130dee4b._.js +2 -2
  225. package/.next/standalone/.next/server/chunks/[root-of-the-server]__142c2f41._.js +2 -2
  226. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2861e096._.js +1 -1
  227. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d3d8d52._.js +2 -2
  228. package/.next/standalone/.next/server/chunks/[root-of-the-server]__45205e47._.js +98 -0
  229. package/.next/standalone/.next/server/chunks/[root-of-the-server]__46b7da42._.js +98 -0
  230. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8765f2fc._.js → [root-of-the-server]__4cf845f6._.js} +3 -3
  231. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57b966d5._.js +2 -2
  232. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5a0020ba._.js +3 -3
  233. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5bd0f118._.js +2 -2
  234. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5bf8f2c0._.js +98 -0
  235. package/.next/standalone/.next/server/chunks/[root-of-the-server]__69eb20b1._.js +98 -0
  236. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74c48d65._.js +2 -2
  237. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7d6610c4._.js +2 -2
  238. package/.next/standalone/.next/server/chunks/[root-of-the-server]__84f3af14._.js +2 -2
  239. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a38f7af1._.js +98 -0
  240. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a6eb742d._.js +3 -3
  241. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4c83e91._.js +3 -3
  242. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7c8a7dd._.js +98 -0
  243. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cae0486f._.js → [root-of-the-server]__c1d7faa6._.js} +4 -4
  244. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c546cf71._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a2ee9884._.js → [root-of-the-server]__c977bf2f._.js} +2 -2
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2f9be33._.js +98 -0
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5615808._.js +2 -2
  248. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d877df12._.js +1 -1
  249. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9d6e526._.js +98 -0
  250. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f66ceeb8._.js +2 -2
  251. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f893957c._.js +3 -3
  252. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fcd26315._.js +2 -2
  253. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd505913._.js +2 -2
  254. package/.next/standalone/.next/server/chunks/[root-of-the-server]__feff7b91._.js +3 -3
  255. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  256. package/.next/standalone/.next/server/chunks/ssr/_1f12caba._.js +1 -1
  257. package/.next/standalone/.next/server/chunks/ssr/_43e7e611._.js +1 -1
  258. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_network_page_tsx_27f035db._.js +1 -1
  259. package/.next/standalone/.next/server/chunks/ssr/src_lib_telemetry_ts_d7f80cd0._.js +1 -1
  260. package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
  261. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  262. package/.next/standalone/.next/server/pages/404.html +1 -1
  263. package/.next/standalone/.next/server/pages/500.html +2 -2
  264. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  266. package/.next/standalone/.next/static/chunks/{10c6424526b53431.js → 483bf086feba6531.js} +1 -1
  267. package/.next/standalone/.next/static/chunks/{f8d7a4a58f712ecd.js → 56ddb2d75f5beb1a.js} +1 -1
  268. package/.next/standalone/.next/static/chunks/7c4cfb3160fa8dd4.js +5 -0
  269. package/.next/standalone/.next/static/chunks/{3434c5b2c9958276.js → ae3a695e671c8d31.js} +1 -1
  270. package/.next/standalone/.next/static/chunks/e972ec0d23b19896.js +5 -0
  271. package/.next/standalone/.next/static/chunks/ff5fac1bd7b518dd.css +3 -0
  272. package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
  273. package/.next/standalone/node_modules/@img/{sharp-linux-x64 → sharp-win32-x64}/package.json +39 -46
  274. package/.next/standalone/package.json +89 -89
  275. package/.next/standalone/server.js +1 -1
  276. package/.next/standalone/tsconfig.json +34 -34
  277. package/LICENSE +661 -661
  278. package/README.md +131 -131
  279. package/bin/fix-standalone-externals.js +79 -79
  280. package/bin/lib/auto-setup.js +110 -101
  281. package/bin/mdns-service.js +171 -171
  282. package/bin/postinstall.js +35 -35
  283. package/bin/setup-admin.js +195 -189
  284. package/bin/spaces-dev.js +208 -208
  285. package/bin/spaces-install.js +572 -483
  286. package/bin/spaces-service.js +881 -0
  287. package/bin/spaces-setup.js +253 -247
  288. package/bin/spaces.js +500 -466
  289. package/bin/terminal-server.js +1252 -1117
  290. package/package.json +89 -89
  291. package/.next/standalone/.next/server/chunks/[root-of-the-server]__18a58c5f._.js +0 -3
  292. package/.next/standalone/.next/server/chunks/[root-of-the-server]__41e589ee._.js +0 -3
  293. package/.next/standalone/.next/server/chunks/[root-of-the-server]__464db440._.js +0 -3
  294. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4ad64489._.js +0 -3
  295. package/.next/standalone/.next/server/chunks/[root-of-the-server]__64f5810e._.js +0 -98
  296. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95b7f18e._.js +0 -3
  297. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a6ce192e._.js +0 -3
  298. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2b78951._.js +0 -3
  299. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f84e3cf3._.js +0 -98
  300. package/.next/standalone/.next/static/chunks/302ce212c690bec4.js +0 -5
  301. package/.next/standalone/.next/static/chunks/67c7bf5024309fca.css +0 -3
  302. package/.next/standalone/.next/static/chunks/cb442c50eecb758d.js +0 -5
  303. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  304. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  305. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  306. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  307. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  308. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  309. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  310. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  311. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  312. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  313. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  314. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  315. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  316. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  317. /package/.next/standalone/.next/static/{nbYSIjUtkSwSvTgyR5p00 → 5J530rtIR_FsG4E9MLLpB}/_buildManifest.js +0 -0
  318. /package/.next/standalone/.next/static/{nbYSIjUtkSwSvTgyR5p00 → 5J530rtIR_FsG4E9MLLpB}/_clientMiddlewareManifest.json +0 -0
  319. /package/.next/standalone/.next/static/{nbYSIjUtkSwSvTgyR5p00 → 5J530rtIR_FsG4E9MLLpB}/_ssgManifest.js +0 -0
  320. /package/.next/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-win32-x64}/versions.json +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let s=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(s=t.admin.resolveShellUser(e))}catch{}let n=s===r.default.userInfo().username?r.default.homedir():`/home/${s}`,o=s===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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:o,dbPath:t.default.join(o,"spaces.db"),configPath:t.default.join(o,"config.json")}}function c(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function l(e,t){let r={...d(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>c,"getUserPaths",()=>o,"readConfig",()=>d,"writeConfig",()=>l])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.3",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)n=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),a=t.default.join(e,o);n=s.default.existsSync(a)?a:r.default.homedir()}else n=`/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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function d(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function c(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function l(e,t){let r={...c(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>d,"getUserPaths",()=>o,"readConfig",()=>c,"writeConfig",()=>l])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),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,
@@ -93,6 +93,6 @@ module.exports=[22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(c),n.set(a,c),c}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function c(){let c=(0,r.getCurrentUser)();if(!a.has(c)){if((0,t.getDb)(),a.add(c),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);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`),(0,s.buildFtsIndex)((e,t)=>{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])},25068,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),d=e.i(87718),l=e.i(95169),E=e.i(47587),u=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),N=e.i(93695);e.i(52474);var R=e.i(220),h=e.i(79832),g=e.i(65836),A=e.i(99944);let m=()=>Response.json({error:"Requires @spaces/teams"},{status:404});async function I(e,t){let s=(0,h.getAuthUser)(e);return(0,h.withUser)(s,async()=>(await (0,g.ensureInitialized)(),(0,A.getTeams)()?.api.context.GET(e,t)??m()))}async function _(e,t){let s=(0,h.getAuthUser)(e);return(0,h.withUser)(s,async()=>(await (0,g.ensureInitialized)(),(0,A.getTeams)()?.api.context.DELETE(e,t)??m()))}e.s(["DELETE",()=>_,"GET",()=>I],52643);var x=e.i(52643);let S=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/context/route",pathname:"/api/workspaces/[id]/context",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspaces/[id]/context/route.ts",nextConfigOutput:"standalone",userland:x}),{workAsyncStorage:L,workUnitAsyncStorage:w,serverHooks:y}=S;function U(){return(0,r.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:w})}async function O(e,t,r){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/workspaces/[id]/context/route";h=h.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:I,parsedUrl:_,isDraftMode:x,prerenderManifest:L,routerServerContext:w,isOnDemandRevalidate:y,revalidateOnlyGenerated:U,resolvedPathname:O,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(h),b=!!(L.dynamicRoutes[C]||L.routes[O]),F=async()=>((null==w?void 0:w.render404)?await w.render404(e,t,_,!1):t.end("This page could not be found"),null);if(b&&!x){let e=!!L.routes[O],t=L.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(I.experimental.adapterPath)return await F();throw new N.NoFallbackError}}let X=null;!b||S.isDev||x||(X="/index"===(X=O)?"/":X);let j=!0===S.isDev||!b,k=b&&!j;D&&v&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),G=q.getActiveScopeSpan(),M={params:m,prerenderManifest:L,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:I.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>S.onRequestError(e,t,r,n,w)},sharedContext:{buildId:A}},H=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let i=async e=>S.handle(Y,M).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} ${h}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var a,c;let d=async({previousCacheEntry:s})=>{try{if(!o&&y&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let c=M.renderOpts.pendingWaitUntil;c&&r.waitUntil&&(r.waitUntil(c),c=void 0);let d=M.renderOpts.collectedTags;if(!b)return await (0,u.sendResponse)(H,$,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:h,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,w),t}},l=await S.handleResponse({req:e,nextConfig:I,cacheKey:X,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:y,revalidateOnlyGenerated:U,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(a=l.value)?void 0:a.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(c=l.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",y?"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,u.sendResponse)(H,$,new Response(l.value.body,{headers:N,status:l.value.status||200})),null};G?await c(G):await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${h}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}catch(t){if(t instanceof N.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:y})},!1,w),b)throw t;return await (0,u.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>U,"routeModule",()=>S,"serverHooks",()=>y,"workAsyncStorage",()=>L,"workUnitAsyncStorage",()=>w],25068)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),n.set(a,d),d}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function d(){let d=(0,r.getCurrentUser)();if(!a.has(d)){if((0,t.getDb)(),a.add(d),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(d)){i.add(d);try{let e=await (0,s.fullSync)();console.log(`[spaces:${d}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${d}] Enriched ${t} sessions from JSONL`),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${d}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${d}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${d}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${d}] Sync error:`,e)}finally{i.delete(d)}}}}e.s(["ensureInitialized",()=>d])},25068,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),c=e.i(87718),l=e.i(95169),E=e.i(47587),u=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var N=e.i(220),R=e.i(79832),g=e.i(65836),m=e.i(99944);let A=()=>Response.json({error:"Requires @spaces/teams"},{status:404});async function I(e,t){let s=(0,R.getAuthUser)(e);return(0,R.withUser)(s,async()=>(await (0,g.ensureInitialized)(),(0,m.getTeams)()?.api.context.GET(e,t)??A()))}async function _(e,t){let s=(0,R.getAuthUser)(e);return(0,R.withUser)(s,async()=>(await (0,g.ensureInitialized)(),(0,m.getTeams)()?.api.context.DELETE(e,t)??A()))}e.s(["DELETE",()=>_,"GET",()=>I],52643);var x=e.i(52643);let S=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/context/route",pathname:"/api/workspaces/[id]/context",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspaces/[id]/context/route.ts",nextConfigOutput:"standalone",userland:x}),{workAsyncStorage:L,workUnitAsyncStorage:y,serverHooks:w}=S;function U(){return(0,r.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:y})}async function O(e,t,r){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/workspaces/[id]/context/route";R=R.replace(/\/index$/,"")||"/";let g=await S.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:I,parsedUrl:_,isDraftMode:x,prerenderManifest:L,routerServerContext:y,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,resolvedPathname:O,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(R),b=!!(L.dynamicRoutes[C]||L.routes[O]),F=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,_,!1):t.end("This page could not be found"),null);if(b&&!x){let e=!!L.routes[O],t=L.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(I.experimental.adapterPath)return await F();throw new h.NoFallbackError}}let X=null;!b||S.isDev||x||(X="/index"===(X=O)?"/":X);let j=!0===S.isDev||!b,k=b&&!j;D&&v&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),G=q.getActiveScopeSpan(),M={params:A,prerenderManifest:L,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:I.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>S.onRequestError(e,t,r,n,y)},sharedContext:{buildId:m}},H=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let i=async e=>S.handle(Y,M).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,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var a,d;let c=async({previousCacheEntry:s})=>{try{if(!o&&w&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let d=M.renderOpts.pendingWaitUntil;d&&r.waitUntil&&(r.waitUntil(d),d=void 0);let c=M.renderOpts.collectedTags;if(!b)return await (0,u.sendResponse)(H,$,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:N.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,y),t}},l=await S.handleResponse({req:e,nextConfig:I,cacheKey:X,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(a=l.value)?void 0:a.kind)!==N.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",w?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&b||h.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,T.getCacheControlHeader)(l.cacheControl)),await (0,u.sendResponse)(H,$,new Response(l.value.body,{headers:h,status:l.value.status||200})),null};G?await d(G):await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof h.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,y),b)throw t;return await (0,u.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>U,"routeModule",()=>S,"serverHooks",()=>w,"workAsyncStorage",()=>L,"workUnitAsyncStorage",()=>y],25068)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
97
97
 
98
98
  //# sourceMappingURL=%5Broot-of-the-server%5D__2d3d8d52._.js.map
@@ -0,0 +1,98 @@
1
+ module.exports=[22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)n=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),a=t.default.join(e,o);n=s.default.existsSync(a)?a:r.default.homedir()}else n=`/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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function d(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function c(e,t){let r={...l(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>d,"getUserPaths",()=>o,"readConfig",()=>l,"writeConfig",()=>c])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),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
+ CREATE TABLE IF NOT EXISTS projects (
3
+ id TEXT PRIMARY KEY,
4
+ name TEXT NOT NULL,
5
+ path TEXT NOT NULL,
6
+ claude_path TEXT NOT NULL,
7
+ session_count INTEGER DEFAULT 0,
8
+ last_activity TEXT
9
+ );
10
+
11
+ CREATE TABLE IF NOT EXISTS sessions (
12
+ id TEXT PRIMARY KEY,
13
+ session_id TEXT NOT NULL,
14
+ project_id TEXT NOT NULL,
15
+ first_prompt TEXT,
16
+ summary TEXT,
17
+ message_count INTEGER DEFAULT 0,
18
+ created TEXT,
19
+ modified TEXT,
20
+ git_branch TEXT,
21
+ project_path TEXT,
22
+ full_path TEXT NOT NULL,
23
+ starred INTEGER DEFAULT 0,
24
+ custom_name TEXT,
25
+ notes TEXT,
26
+ FOREIGN KEY (project_id) REFERENCES projects(id)
27
+ );
28
+
29
+ CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
30
+ CREATE INDEX IF NOT EXISTS idx_sessions_created ON sessions(created);
31
+ CREATE INDEX IF NOT EXISTS idx_sessions_modified ON sessions(modified);
32
+ CREATE INDEX IF NOT EXISTS idx_sessions_starred ON sessions(starred);
33
+
34
+ CREATE TABLE IF NOT EXISTS workspaces (
35
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
36
+ name TEXT NOT NULL,
37
+ description TEXT DEFAULT '',
38
+ color TEXT DEFAULT '#6366f1',
39
+ created TEXT DEFAULT (datetime('now'))
40
+ );
41
+
42
+ CREATE TABLE IF NOT EXISTS workspace_sessions (
43
+ workspace_id INTEGER NOT NULL,
44
+ session_id TEXT NOT NULL,
45
+ PRIMARY KEY (workspace_id, session_id),
46
+ FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
47
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
48
+ );
49
+
50
+ CREATE TABLE IF NOT EXISTS tags (
51
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
52
+ name TEXT NOT NULL UNIQUE,
53
+ color TEXT DEFAULT '#8b5cf6'
54
+ );
55
+
56
+ CREATE TABLE IF NOT EXISTS session_tags (
57
+ session_id TEXT NOT NULL,
58
+ tag_id INTEGER NOT NULL,
59
+ PRIMARY KEY (session_id, tag_id),
60
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,
61
+ FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
62
+ );
63
+
64
+ CREATE TABLE IF NOT EXISTS sync_state (
65
+ file_path TEXT PRIMARY KEY,
66
+ mtime INTEGER,
67
+ byte_offset INTEGER DEFAULT 0,
68
+ last_synced TEXT DEFAULT (datetime('now'))
69
+ );
70
+
71
+ CREATE TABLE IF NOT EXISTS panes (
72
+ id TEXT PRIMARY KEY,
73
+ title TEXT NOT NULL DEFAULT 'Terminal',
74
+ color TEXT NOT NULL DEFAULT '#6366f1',
75
+ cwd TEXT NOT NULL,
76
+ claude_session_id TEXT,
77
+ grid_col INTEGER NOT NULL DEFAULT 0,
78
+ grid_row INTEGER NOT NULL DEFAULT 0,
79
+ sort_order INTEGER NOT NULL DEFAULT 0,
80
+ shell TEXT,
81
+ created TEXT DEFAULT (datetime('now'))
82
+ );
83
+
84
+ CREATE TABLE IF NOT EXISTS totp (
85
+ username TEXT PRIMARY KEY,
86
+ secret TEXT NOT NULL,
87
+ enabled INTEGER DEFAULT 0,
88
+ created TEXT DEFAULT (datetime('now'))
89
+ );
90
+ `);let r=(e,s,r)=>{try{t.exec(`ALTER TABLE ${e} ADD COLUMN ${s} ${r}`)}catch{}};r("workspaces","is_active","INTEGER DEFAULT 0"),r("workspaces","updated","TEXT"),r("panes","workspace_id","INTEGER"),r("panes","is_popout","INTEGER DEFAULT 0"),r("panes","win_x","INTEGER"),r("panes","win_y","INTEGER"),r("panes","win_width","INTEGER DEFAULT 800"),r("panes","win_height","INTEGER DEFAULT 600"),r("panes","agent_type","TEXT DEFAULT 'shell'"),r("panes","custom_command","TEXT"),r("panes","node_id","TEXT"),r("sessions","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_path","TEXT");try{t.exec("UPDATE projects SET agent_path = claude_path WHERE agent_path IS NULL AND claude_path IS NOT NULL")}catch{}r("workspaces","collaboration","INTEGER DEFAULT 0"),r("panes","is_collaborating","INTEGER DEFAULT 0");try{t.exec("CREATE INDEX IF NOT EXISTS idx_sessions_agent_type ON sessions(agent_type)")}catch{}try{t.exec("CREATE INDEX IF NOT EXISTS idx_projects_agent_type ON projects(agent_type)")}catch{}let n=t.prepare("SELECT id FROM workspaces WHERE name = 'Default'").get();n?(s=n.id,t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()||t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(s)):s=Number(t.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES ('Default', 'Default workspace', '#6366f1', 1)").run().lastInsertRowid);let a=t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();a&&t.prepare("UPDATE panes SET workspace_id = ? WHERE workspace_id IS NULL").run(a.id);try{t.exec(`
91
+ CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
92
+ session_id,
93
+ content,
94
+ content_rowid='rowid'
95
+ );
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),n.set(a,d),d}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function d(){let d=(0,r.getCurrentUser)();if(!a.has(d)){if((0,t.getDb)(),a.add(d),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(d)){i.add(d);try{let e=await (0,s.fullSync)();console.log(`[spaces:${d}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${d}] Enriched ${t} sessions from JSONL`),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${d}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${d}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${d}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${d}] Sync error:`,e)}finally{i.delete(d)}}}}e.s(["ensureInitialized",()=>d])},18167,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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/pro");break}catch{}n=!0}return r}e.s(["getPro",()=>a])},92399,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),c=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),R=e.i(93695);e.i(52474);var h=e.i(220),N=e.i(18167),g=e.i(65836),A=e.i(50837);async function m(e,{params:t}){let s=(0,N.getPro)();if(!s)return Response.json({error:"Requires @spaces/pro"},{status:404});try{s.network.requireNetworkAuth(e)}catch(e){if("NetworkAuthError"===e.name)return Response.json({error:e.message},{status:401});throw e}await (0,g.ensureInitialized)();let{id:r}=await t,n=(0,A.getSessionById)(r);if(!n)return Response.json({error:"Session not found"},{status:404});let a=(0,A.getSessionTags)(n.id),i=(0,A.getSessionWorkspaces)(n.id);return Response.json({...n,tagObjects:a,workspaces:i})}e.s(["GET",()=>m],11729);var _=e.i(11729);let I=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/network/sessions/[id]/route",pathname:"/api/network/sessions/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/network/sessions/[id]/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:S,workUnitAsyncStorage:x,serverHooks:w}=I;function y(){return(0,r.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:x})}async function L(e,t,r){I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/network/sessions/[id]/route";N=N.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:_,parsedUrl:S,isDraftMode:x,prerenderManifest:w,routerServerContext:y,isOnDemandRevalidate:L,revalidateOnlyGenerated:O,resolvedPathname:U,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(N),j=!!(w.dynamicRoutes[C]||w.routes[U]),b=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!x){let e=!!w.routes[U],t=w.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await b();throw new R.NoFallbackError}}let F=null;!j||I.isDev||x||(F="/index"===(F=U)?"/":F);let X=!0===I.isDev||!j,k=j&&!X;D&&v&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),G=q.getActiveScopeSpan(),M={params:m,prerenderManifest:w,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>I.onRequestError(e,t,r,n,y)},sharedContext:{buildId:A}},H=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(H,(0,l.signalFromNodeResponse)(t));try{let i=async e=>I.handle(Y,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=q.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==c.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} ${N}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var a,d;let l=async({previousCacheEntry:s})=>{try{if(!o&&L&&O&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let d=M.renderOpts.pendingWaitUntil;d&&r.waitUntil&&(r.waitUntil(d),d=void 0);let l=M.renderOpts.collectedTags;if(!j)return await (0,E.sendResponse)(H,$,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:a.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:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:L})},!1,y),t}},c=await I.handleResponse({req:e,nextConfig:_,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:w,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:o});if(!j)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",L?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,p.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&j||R.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,T.getCacheControlHeader)(c.cacheControl)),await (0,E.sendResponse)(H,$,new Response(c.value.body,{headers:R,status:c.value.status||200})),null};G?await d(G):await q.withPropagatedContext(e.headers,()=>q.trace(c.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof R.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:L})},!1,y),j)throw t;return await (0,E.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>L,"patchFetch",()=>y,"routeModule",()=>I,"serverHooks",()=>w,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>x],92399)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
97
+
98
+ //# sourceMappingURL=%5Broot-of-the-server%5D__45205e47._.js.map
@@ -0,0 +1,98 @@
1
+ module.exports=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)n=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),a=t.default.join(e,o);n=s.default.existsSync(a)?a:r.default.homedir()}else n=`/home/${o}`;let l=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function l(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function c(e,t){let r={...d(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>l,"getUserPaths",()=>o,"readConfig",()=>d,"writeConfig",()=>c])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),l=new t.default(o);return l.pragma("journal_mode = WAL"),l.pragma("synchronous = NORMAL"),l.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
+ CREATE TABLE IF NOT EXISTS projects (
3
+ id TEXT PRIMARY KEY,
4
+ name TEXT NOT NULL,
5
+ path TEXT NOT NULL,
6
+ claude_path TEXT NOT NULL,
7
+ session_count INTEGER DEFAULT 0,
8
+ last_activity TEXT
9
+ );
10
+
11
+ CREATE TABLE IF NOT EXISTS sessions (
12
+ id TEXT PRIMARY KEY,
13
+ session_id TEXT NOT NULL,
14
+ project_id TEXT NOT NULL,
15
+ first_prompt TEXT,
16
+ summary TEXT,
17
+ message_count INTEGER DEFAULT 0,
18
+ created TEXT,
19
+ modified TEXT,
20
+ git_branch TEXT,
21
+ project_path TEXT,
22
+ full_path TEXT NOT NULL,
23
+ starred INTEGER DEFAULT 0,
24
+ custom_name TEXT,
25
+ notes TEXT,
26
+ FOREIGN KEY (project_id) REFERENCES projects(id)
27
+ );
28
+
29
+ CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
30
+ CREATE INDEX IF NOT EXISTS idx_sessions_created ON sessions(created);
31
+ CREATE INDEX IF NOT EXISTS idx_sessions_modified ON sessions(modified);
32
+ CREATE INDEX IF NOT EXISTS idx_sessions_starred ON sessions(starred);
33
+
34
+ CREATE TABLE IF NOT EXISTS workspaces (
35
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
36
+ name TEXT NOT NULL,
37
+ description TEXT DEFAULT '',
38
+ color TEXT DEFAULT '#6366f1',
39
+ created TEXT DEFAULT (datetime('now'))
40
+ );
41
+
42
+ CREATE TABLE IF NOT EXISTS workspace_sessions (
43
+ workspace_id INTEGER NOT NULL,
44
+ session_id TEXT NOT NULL,
45
+ PRIMARY KEY (workspace_id, session_id),
46
+ FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
47
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
48
+ );
49
+
50
+ CREATE TABLE IF NOT EXISTS tags (
51
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
52
+ name TEXT NOT NULL UNIQUE,
53
+ color TEXT DEFAULT '#8b5cf6'
54
+ );
55
+
56
+ CREATE TABLE IF NOT EXISTS session_tags (
57
+ session_id TEXT NOT NULL,
58
+ tag_id INTEGER NOT NULL,
59
+ PRIMARY KEY (session_id, tag_id),
60
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,
61
+ FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
62
+ );
63
+
64
+ CREATE TABLE IF NOT EXISTS sync_state (
65
+ file_path TEXT PRIMARY KEY,
66
+ mtime INTEGER,
67
+ byte_offset INTEGER DEFAULT 0,
68
+ last_synced TEXT DEFAULT (datetime('now'))
69
+ );
70
+
71
+ CREATE TABLE IF NOT EXISTS panes (
72
+ id TEXT PRIMARY KEY,
73
+ title TEXT NOT NULL DEFAULT 'Terminal',
74
+ color TEXT NOT NULL DEFAULT '#6366f1',
75
+ cwd TEXT NOT NULL,
76
+ claude_session_id TEXT,
77
+ grid_col INTEGER NOT NULL DEFAULT 0,
78
+ grid_row INTEGER NOT NULL DEFAULT 0,
79
+ sort_order INTEGER NOT NULL DEFAULT 0,
80
+ shell TEXT,
81
+ created TEXT DEFAULT (datetime('now'))
82
+ );
83
+
84
+ CREATE TABLE IF NOT EXISTS totp (
85
+ username TEXT PRIMARY KEY,
86
+ secret TEXT NOT NULL,
87
+ enabled INTEGER DEFAULT 0,
88
+ created TEXT DEFAULT (datetime('now'))
89
+ );
90
+ `);let r=(e,s,r)=>{try{t.exec(`ALTER TABLE ${e} ADD COLUMN ${s} ${r}`)}catch{}};r("workspaces","is_active","INTEGER DEFAULT 0"),r("workspaces","updated","TEXT"),r("panes","workspace_id","INTEGER"),r("panes","is_popout","INTEGER DEFAULT 0"),r("panes","win_x","INTEGER"),r("panes","win_y","INTEGER"),r("panes","win_width","INTEGER DEFAULT 800"),r("panes","win_height","INTEGER DEFAULT 600"),r("panes","agent_type","TEXT DEFAULT 'shell'"),r("panes","custom_command","TEXT"),r("panes","node_id","TEXT"),r("sessions","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_path","TEXT");try{t.exec("UPDATE projects SET agent_path = claude_path WHERE agent_path IS NULL AND claude_path IS NOT NULL")}catch{}r("workspaces","collaboration","INTEGER DEFAULT 0"),r("panes","is_collaborating","INTEGER DEFAULT 0");try{t.exec("CREATE INDEX IF NOT EXISTS idx_sessions_agent_type ON sessions(agent_type)")}catch{}try{t.exec("CREATE INDEX IF NOT EXISTS idx_projects_agent_type ON projects(agent_type)")}catch{}let n=t.prepare("SELECT id FROM workspaces WHERE name = 'Default'").get();n?(s=n.id,t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()||t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(s)):s=Number(t.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES ('Default', 'Default workspace', '#6366f1', 1)").run().lastInsertRowid);let a=t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();a&&t.prepare("UPDATE panes SET workspace_id = ? WHERE workspace_id IS NULL").run(a.id);try{t.exec(`
91
+ CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
92
+ session_id,
93
+ content,
94
+ content_rowid='rowid'
95
+ );
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(l),n.set(a,l),l}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function l(){let l=(0,r.getCurrentUser)();if(!a.has(l)){if((0,t.getDb)(),a.add(l),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(l)){i.add(l);try{let e=await (0,s.fullSync)();console.log(`[spaces:${l}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${l}] Enriched ${t} sessions from JSONL`),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${l}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${l}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${l}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${l}] Sync error:`,e)}finally{i.delete(l)}}}}e.s(["ensureInitialized",()=>l])},18167,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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/pro");break}catch{}n=!0}return r}e.s(["getPro",()=>a])},62518,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var N=e.i(220),R=e.i(89171),g=e.i(79832),m=e.i(65836),A=e.i(50837),I=e.i(18167);async function x(e){let t=(0,g.getAuthUser)(e);return(0,g.withUser)(t,async()=>{await (0,m.ensureInitialized)();let{searchParams:t}=e.nextUrl,s=t.get("q");if(!s||s.trim().length<2)return R.NextResponse.json({results:[],query:s});let r=t.get("projectId")||void 0,n=parseInt(t.get("limit")||"20",10),a=parseInt(t.get("offset")||"0",10),i=(0,A.searchSessions)(s,{projectId:r,limit:n,offset:a});if("all"===t.get("nodes"))try{let{aggregateSearch:e}=(0,I.getPro)().network,t={};r&&(t.projectId=r),t.limit=String(n);let a=await e(i,s,t);return R.NextResponse.json({results:a.results,query:s,errors:a.errors})}catch{}return R.NextResponse.json({results:i,query:s})})}e.s(["GET",()=>x],73415);var _=e.i(73415);let S=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/search/route",pathname:"/api/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/search/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:y,workUnitAsyncStorage:L,serverHooks:w}=S;function U(){return(0,r.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:L})}async function v(e,t,r){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/search/route";R=R.replace(/\/index$/,"")||"/";let g=await S.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:I,parsedUrl:x,isDraftMode:_,prerenderManifest:y,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,resolvedPathname:v,clientReferenceManifest:O,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(R),j=!!(y.dynamicRoutes[C]||y.routes[v]),b=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!_){let e=!!y.routes[v],t=y.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(I.experimental.adapterPath)return await b();throw new h.NoFallbackError}}let F=null;!j||S.isDev||_||(F="/index"===(F=v)?"/":F);let X=!0===S.isDev||!j,k=j&&!X;D&&O&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:O,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),G=q.getActiveScopeSpan(),M={params:A,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:I.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>S.onRequestError(e,t,r,n,L)},sharedContext:{buildId:m}},H=new l.NodeNextRequest(e),$=new l.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let i=async e=>S.handle(Y,M).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")!==c.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,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let d=async({previousCacheEntry:s})=>{try{if(!o&&w&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=M.renderOpts.collectedTags;if(!j)return await (0,E.sendResponse)(H,$,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:N.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),t}},c=await S.handleResponse({req:e,nextConfig:I,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:o});if(!j)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==N.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&j||h.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,T.getCacheControlHeader)(c.cacheControl)),await (0,E.sendResponse)(H,$,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};G?await l(G):await q.withPropagatedContext(e.headers,()=>q.trace(c.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),j)throw t;return await (0,E.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>v,"patchFetch",()=>U,"routeModule",()=>S,"serverHooks",()=>w,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>L],62518)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
97
+
98
+ //# sourceMappingURL=%5Broot-of-the-server%5D__46b7da42._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[18167,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/pro");break}catch{}a=!0}return r}e.s(["getPro",()=>n])},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);function o(e){let s=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(s=t.admin.resolveShellUser(e))}catch{}let a=s===r.default.userInfo().username?r.default.homedir():`/home/${s}`,o=s===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),spacesDir:o,dbPath:t.default.join(o,"spaces.db"),configPath:t.default.join(o,"config.json")}}function d(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function c(e){let{configPath:t,spacesDir:r}=o(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):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function l(e,t){let r={...c(e),...t},{configPath:a}=o(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>d,"getUserPaths",()=>o,"readConfig",()=>c,"writeConfig",()=>l])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>n,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.3",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=!s;function n(){let n="0.0.0";try{n=e.r(4730).version}catch{}return{tier:t,version:n,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:a,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>n])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),a=e.i(54799),n=e.i(17516),i=e.i(99944);function o(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"),spacesDir:d,dbPath:t.default.join(d,"spaces.db"),configPath:t.default.join(d,"config.json")}}function d(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=o(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):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function c(e,t){let r={...l(e),...t},{configPath:a}=o(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>d,"getUserPaths",()=>o,"readConfig",()=>l,"writeConfig",()=>c])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>n,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=!s;function n(){let n="0.0.0";try{n=e.r(4730).version}catch{}return{tier:t,version:n,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:a,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>n])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),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,
@@ -93,6 +93,6 @@ module.exports=[18167,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),a.set(n,d),d}e.s(["getDb",()=>n])},94343,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),c=e.i(87718),l=e.i(95169),E=e.i(47587),u=e.i(66012),p=e.i(70101),T=e.i(74838),R=e.i(10372),f=e.i(93695);e.i(52474);var N=e.i(220),h=e.i(18167),g=e.i(7304);async function A(e){let t=(0,h.getPro)();if(!t)return Response.json({error:"Requires @spaces/pro"},{status:404});let s=await t.network.api.handshake.GET(e);if(!s.ok)return s;let r=await s.json();try{let e=(0,g.getDb)();r.sessionCount=e.prepare("SELECT COUNT(*) as c FROM sessions").get()?.c||0,r.projectCount=e.prepare("SELECT COUNT(*) as c FROM projects").get()?.c||0,r.workspaceCount=e.prepare("SELECT COUNT(*) as c FROM workspaces").get()?.c||0}catch{}return Response.json(r)}e.s(["GET",()=>A],86603);var m=e.i(86603);let I=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/network/handshake/route",pathname:"/api/network/handshake",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/network/handshake/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:_,workUnitAsyncStorage:x,serverHooks:L}=I;function S(){return(0,r.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:x})}async function w(e,t,r){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/network/handshake/route";h=h.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:_,parsedUrl:x,isDraftMode:L,prerenderManifest:S,routerServerContext:w,isOnDemandRevalidate:O,revalidateOnlyGenerated:y,resolvedPathname:U,clientReferenceManifest:C,serverActionsManifest:v}=g,D=(0,o.normalizeAppPath)(h),X=!!(S.dynamicRoutes[D]||S.routes[U]),j=async()=>((null==w?void 0:w.render404)?await w.render404(e,t,x,!1):t.end("This page could not be found"),null);if(X&&!L){let e=!!S.routes[U],t=S.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await j();throw new f.NoFallbackError}}let k=null;!X||I.isDev||L||(k="/index"===(k=U)?"/":k);let F=!0===I.isDev||!X,b=X&&!F;v&&C&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:C,serverActionsManifest:v});let P=e.method||"GET",q=(0,n.getTracer)(),M=q.getActiveScopeSpan(),G={params:m,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>I.onRequestError(e,t,r,a,w)},sharedContext:{buildId:A}},H=new d.NodeNextRequest(e),Y=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} ${h}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),d=async a=>{var n,d;let c=async({previousCacheEntry:s})=>{try{if(!o&&O&&y&&!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(!X)return await (0,u.sendResponse)(H,Y,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[R.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>=R.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:N.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:h,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:O})},!1,w),t}},l=await I.handleResponse({req:e,nextConfig:_,cacheKey:k,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:y,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!X)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==N.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"),L&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&X||f.delete(R.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,Y,new Response(l.value.body,{headers:f,status:l.value.status||200})),null};M?await d(M):await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${h}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof f.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:O})},!1,w),X)throw t;return await (0,u.sendResponse)(H,Y,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>S,"routeModule",()=>I,"serverHooks",()=>L,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>x],94343)}];
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(d),a.set(n,d),d}e.s(["getDb",()=>n])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),a=e.i(99944);let n=new Set,i=new Set,o=!1;async function d(){let d=(0,r.getCurrentUser)();if(!n.has(d)){if((0,t.getDb)(),n.add(d),!o){o=!0;let s=(0,a.getTeams)();if(s){let{sseManager:r}=await e.A(72354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(d)){i.add(d);try{let e=await (0,s.fullSync)();console.log(`[spaces:${d}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${d}] Enriched ${t} sessions from JSONL`),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${d}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${d}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${d}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${d}] Sync error:`,e)}finally{i.delete(d)}}}}e.s(["ensureInitialized",()=>d])},18167,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/pro");break}catch{}a=!0}return r}e.s(["getPro",()=>n])},86100,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),E=e.i(70101),T=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var g=e.i(220),N=e.i(89171),R=e.i(79832),m=e.i(65836),A=e.i(50837),I=e.i(18167);async function x(e){let t=(0,R.getAuthUser)(e);return(0,R.withUser)(t,async()=>{await (0,m.ensureInitialized)();let{searchParams:t}=e.nextUrl,s={projectId:t.get("projectId")||void 0,projectPath:t.get("projectPath")||void 0,starred:t.has("starred")?"true"===t.get("starred"):void 0,tagId:t.has("tagId")?parseInt(t.get("tagId"),10):void 0,search:t.get("search")||void 0,agentType:t.get("agentType")||void 0,sortBy:t.get("sortBy")||"modified",sortDir:t.get("sortDir")||"DESC",offset:parseInt(t.get("offset")||"0",10),limit:parseInt(t.get("limit")||"50",10)},r=(0,A.getSessions)(s);if("all"===(t.get("nodes")||"").replace(/\/+$/,""))try{let{aggregateSessions:e}=(0,I.getPro)().network,t={};s.search&&(t.search=s.search),t.sortBy=s.sortBy,t.sortDir=s.sortDir,t.limit=String(s.limit);let a=await e(r,t);for(let e of a.sessions)e.nodeId&&(e.workspaces=(0,A.getWorkspacesForSession)(e.id),e.tags||(e.tags=[]));return N.NextResponse.json({sessions:a.sessions,total:a.total,errors:a.errors})}catch{}return N.NextResponse.json(r)})}e.s(["GET",()=>x],72626);var _=e.i(72626);let S=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:y,workUnitAsyncStorage:L,serverHooks:w}=S;function v(){return(0,r.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:L})}async function U(e,t,r){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/sessions/route";N=N.replace(/\/index$/,"")||"/";let R=await S.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:A,nextConfig:I,parsedUrl:x,isDraftMode:_,prerenderManifest:y,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:v,resolvedPathname:U,clientReferenceManifest:O,serverActionsManifest:D}=R,C=(0,o.normalizeAppPath)(N),j=!!(y.dynamicRoutes[C]||y.routes[U]),b=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!_){let e=!!y.routes[U],t=y.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(I.experimental.adapterPath)return await b();throw new h.NoFallbackError}}let F=null;!j||S.isDev||_||(F="/index"===(F=U)?"/":F);let X=!0===S.isDev||!j,k=j&&!X;D&&O&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:O,serverActionsManifest:D});let P=e.method||"GET",q=(0,n.getTracer)(),G=q.getActiveScopeSpan(),M={params:A,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:I.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>S.onRequestError(e,t,r,a,L)},sharedContext:{buildId:m}},H=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),B=l.NextRequestAdapter.fromNodeNextRequest(H,(0,l.signalFromNodeResponse)(t));try{let i=async e=>S.handle(B,M).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")!==c.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} ${N}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),d=async a=>{var n,d;let l=async({previousCacheEntry:s})=>{try{if(!o&&w&&v&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=M.renderOpts.fetchMetrics;let d=M.renderOpts.pendingWaitUntil;d&&r.waitUntil&&(r.waitUntil(d),d=void 0);let l=M.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(H,$,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,r=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),t}},c=await S.handleResponse({req:e,nextConfig:I,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:v,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:o});if(!j)return null;if((null==c||null==(n=c.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,E.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&j||h.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,T.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(H,$,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};G?await d(G):await q.withPropagatedContext(e.headers,()=>q.trace(c.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof h.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),j)throw t;return await (0,p.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>U,"patchFetch",()=>v,"routeModule",()=>S,"serverHooks",()=>w,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>L],86100)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
97
97
 
98
- //# sourceMappingURL=%5Broot-of-the-server%5D__8765f2fc._.js.map
98
+ //# sourceMappingURL=%5Broot-of-the-server%5D__4cf845f6._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let s=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(s=t.admin.resolveShellUser(e))}catch{}let n=s===r.default.userInfo().username?r.default.homedir():`/home/${s}`,o=s===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(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:o,dbPath:t.default.join(o,"spaces.db"),configPath:t.default.join(o,"config.json")}}function c(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function d(e,t){let r={...l(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>c,"getUserPaths",()=>o,"readConfig",()=>l,"writeConfig",()=>d])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.3",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
1
+ module.exports=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},15286,e=>{"use strict";var t=e.i(14747),s=e.i(22734),r=e.i(46786),n=e.i(54799),a=e.i(17516),i=e.i(99944);function o(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)n=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),a=t.default.join(e,o);n=s.default.existsSync(a)?a:r.default.homedir()}else n=`/home/${o}`;let l=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function l(e){let{spacesDir:t}=o(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function c(e){let{configPath:t,spacesDir:r}=o(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[]};return s.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function d(e,t){let r={...c(e),...t},{configPath:n}=o(e);return s.default.writeFileSync(n,JSON.stringify(r,null,2)),r}parseInt(process.env.SPACES_PORT||"3457",10),e.s(["ensureUserSpacesDir",()=>l,"getUserPaths",()=>o,"readConfig",()=>c,"writeConfig",()=>d])},10430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(10430),s=e.i(46786),r=e.i(17516);let n=new t.AsyncLocalStorage;function a(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(){let e=n.getStore();return e||s.default.userInfo().username}e.s(["getAuthUser",()=>a,"getCurrentUser",()=>o,"withUser",()=>i])},62562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},93695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},99944,e=>{"use strict";var t=e.i(62562),s=e.i(14747);let r=null,n=!1;function a(){if(!n){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{}n=!0}return r}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},4730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.5.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",lint:"eslint"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","node-pty":"^1.1.0",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/ws":"^8.18.1","@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",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},17516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,n=!s;function a(){let a="0.0.0";try{a=e.r(4730).version}catch{}return{tier:t,version:a,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,isDesktop:n,basePath:""}}e.s(["HAS_AUTH",0,s,"HAS_MULTIUSER",0,s,"getTierFlags",()=>a])},46786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},7304,e=>{"use strict";var t=e.i(85148),s=e.i(15286),r=e.i(79832);let n=new Map;function a(){let a=(0,r.getCurrentUser)(),i=n.get(a);if(i)return i;(0,s.ensureUserSpacesDir)(a);let{dbPath:o}=(0,s.getUserPaths)(a),l=new t.default(o);return l.pragma("journal_mode = WAL"),l.pragma("synchronous = NORMAL"),l.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS projects (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -93,6 +93,6 @@ module.exports=[24725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after
93
93
  content,
94
94
  content_rowid='rowid'
95
95
  );
96
- `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(c),n.set(a,c),c}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function c(){let c=(0,r.getCurrentUser)();if(!a.has(c)){if((0,t.getDb)(),a.add(c),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);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`),(0,s.buildFtsIndex)((e,t)=>{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])},39979,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),c=e.i(16795),l=e.i(87718),d=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),N=e.i(10372),R=e.i(93695);e.i(52474);var f=e.i(220),h=e.i(89171),g=e.i(79832),A=e.i(65836),m=e.i(50837);async function x(e){let t=(0,g.getAuthUser)(e);return(0,g.withUser)(t,async()=>{await (0,A.ensureInitialized)();let t=await e.json(),{sessionIds:s,action:r}=t;if(!Array.isArray(s)||0===s.length)return h.NextResponse.json({error:"No sessions selected"},{status:400});switch(r){case"tag":return(0,m.bulkAddTag)(s,t.tagName),h.NextResponse.json({success:!0,count:s.length});case"workspace":return(0,m.bulkAddToWorkspace)(s,t.workspaceId),h.NextResponse.json({success:!0,count:s.length});case"star":return(0,m.bulkStar)(s,!0),h.NextResponse.json({success:!0,count:s.length});case"unstar":return(0,m.bulkStar)(s,!1),h.NextResponse.json({success:!0,count:s.length});default:return h.NextResponse.json({error:"Unknown action"},{status:400})}})}e.s(["POST",()=>x],22670);var I=e.i(22670);let _=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/bulk/route",pathname:"/api/bulk",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/bulk/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:S,workUnitAsyncStorage:y,serverHooks:L}=_;function w(){return(0,r.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:y})}async function U(e,t,r){_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/bulk/route";h=h.replace(/\/index$/,"")||"/";let g=await _.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:x,parsedUrl:I,isDraftMode:S,prerenderManifest:y,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,resolvedPathname:O,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(h),b=!!(y.dynamicRoutes[C]||y.routes[O]),j=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,I,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!y.routes[O],t=y.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(x.experimental.adapterPath)return await j();throw new R.NoFallbackError}}let F=null;!b||_.isDev||S||(F="/index"===(F=O)?"/":F);let X=!0===_.isDev||!b,k=b&&!X;D&&v&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),M=q.getActiveScopeSpan(),G={params:m,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>_.onRequestError(e,t,r,n,L)},sharedContext:{buildId:A}},H=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(H,(0,l.signalFromNodeResponse)(t));try{let i=async e=>_.handle(Y,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")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${P} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${h}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var a,c;let l=async({previousCacheEntry:s})=>{try{if(!o&&w&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let c=G.renderOpts.pendingWaitUntil;c&&r.waitUntil&&(r.waitUntil(c),c=void 0);let l=G.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(H,$,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[N.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=N.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=N.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:h,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),t}},d=await _.handleResponse({req:e,nextConfig:x,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&b||R.delete(N.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,T.getCacheControlHeader)(d.cacheControl)),await (0,E.sendResponse)(H,$,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};M?await c(M):await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${h}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}catch(t){if(t instanceof R.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),b)throw t;return await (0,E.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>U,"patchFetch",()=>w,"routeModule",()=>_,"serverHooks",()=>L,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>y],39979)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
96
+ `)}catch{}try{let{getTeams:s}=e.r(99944),r=s();r&&r.db.runMigrations(t)}catch{}}(l),n.set(a,l),l}e.s(["getDb",()=>a])},65836,e=>{"use strict";var t=e.i(7304),s=e.i(60569),r=e.i(79832),n=e.i(99944);let a=new Set,i=new Set,o=!1;async function l(){let l=(0,r.getCurrentUser)();if(!a.has(l)){if((0,t.getDb)(),a.add(l),!o){o=!0;let s=(0,n.getTeams)();if(s){let{sseManager:r}=await e.A(72354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(l)){i.add(l);try{let e=await (0,s.fullSync)();console.log(`[spaces:${l}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,s.enrichMissingSessions)();t>0&&console.log(`[spaces:${l}] Enriched ${t} sessions from JSONL`),(0,s.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${l}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${l}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${l}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${l}] Sync error:`,e)}finally{i.delete(l)}}}}e.s(["ensureInitialized",()=>l])},39979,e=>{"use strict";var t=e.i(47909),s=e.i(74017),r=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),E=e.i(66012),p=e.i(70101),T=e.i(74838),f=e.i(10372),N=e.i(93695);e.i(52474);var h=e.i(220),R=e.i(89171),g=e.i(79832),A=e.i(65836),m=e.i(50837);async function x(e){let t=(0,g.getAuthUser)(e);return(0,g.withUser)(t,async()=>{await (0,A.ensureInitialized)();let t=await e.json(),{sessionIds:s,action:r}=t;if(!Array.isArray(s)||0===s.length)return R.NextResponse.json({error:"No sessions selected"},{status:400});switch(r){case"tag":return(0,m.bulkAddTag)(s,t.tagName),R.NextResponse.json({success:!0,count:s.length});case"workspace":return(0,m.bulkAddToWorkspace)(s,t.workspaceId),R.NextResponse.json({success:!0,count:s.length});case"star":return(0,m.bulkStar)(s,!0),R.NextResponse.json({success:!0,count:s.length});case"unstar":return(0,m.bulkStar)(s,!1),R.NextResponse.json({success:!0,count:s.length});default:return R.NextResponse.json({error:"Unknown action"},{status:400})}})}e.s(["POST",()=>x],22670);var I=e.i(22670);let _=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/bulk/route",pathname:"/api/bulk",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/bulk/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:S,workUnitAsyncStorage:y,serverHooks:L}=_;function w(){return(0,r.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:y})}async function U(e,t,r){_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/bulk/route";R=R.replace(/\/index$/,"")||"/";let g=await _.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:A,params:m,nextConfig:x,parsedUrl:I,isDraftMode:S,prerenderManifest:y,routerServerContext:L,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,resolvedPathname:O,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(R),b=!!(y.dynamicRoutes[C]||y.routes[O]),j=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,I,!1):t.end("This page could not be found"),null);if(b&&!S){let e=!!y.routes[O],t=y.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(x.experimental.adapterPath)return await j();throw new N.NoFallbackError}}let F=null;!b||_.isDev||S||(F="/index"===(F=O)?"/":F);let X=!0===_.isDev||!b,k=b&&!X;D&&v&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",q=(0,a.getTracer)(),M=q.getActiveScopeSpan(),G={params:m,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:X,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:x.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,n)=>_.onRequestError(e,t,r,n,L)},sharedContext:{buildId:A}},H=new l.NodeNextRequest(e),$=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let i=async e=>_.handle(Y,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")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${P} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${R}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let c=async({previousCacheEntry:s})=>{try{if(!o&&w&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let l=G.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=G.renderOpts.collectedTags;if(!b)return await (0,E.sendResponse)(H,$,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(a.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:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),t}},d=await _.handleResponse({req:e,nextConfig:x,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let N=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&b||N.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||N.get("Cache-Control")||N.set("Cache-Control",(0,T.getCacheControlHeader)(d.cacheControl)),await (0,E.sendResponse)(H,$,new Response(d.value.body,{headers:N,status:d.value.status||200})),null};M?await l(M):await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},l))}catch(t){if(t instanceof N.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:w})},!1,L),b)throw t;return await (0,E.sendResponse)(H,$,new Response(null,{status:500})),null}}e.s(["handler",()=>U,"patchFetch",()=>w,"routeModule",()=>_,"serverHooks",()=>L,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>y],39979)},72354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(20776)))}];
97
97
 
98
98
  //# sourceMappingURL=%5Broot-of-the-server%5D__57b966d5._.js.map