@jlongo78/agent-spaces 0.9.7 → 0.9.9

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 (643) hide show
  1. package/.next/standalone/.claude/settings.local.json +17 -4
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +4 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/routes-manifest.json +29 -0
  7. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  25. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  33. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  34. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  35. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  37. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  40. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  41. package/.next/standalone/.next/server/app/admin/analytics.rsc +3 -3
  42. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +3 -3
  47. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  49. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  51. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  57. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/analytics.html +1 -1
  61. package/.next/standalone/.next/server/app/analytics.rsc +2 -2
  62. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
  66. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  68. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  69. package/.next/standalone/.next/server/app/api/analytics/overview/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +1 -1
  74. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +1 -1
  80. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/bulk/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/claude/usage/route/app-paths-manifest.json +3 -0
  84. package/.next/standalone/.next/server/app/api/claude/usage/route/build-manifest.json +11 -0
  85. package/.next/standalone/.next/server/app/api/claude/usage/route/server-reference-manifest.json +4 -0
  86. package/.next/standalone/.next/server/app/api/claude/usage/route.js +8 -0
  87. package/.next/standalone/.next/server/app/api/claude/usage/route.js.map +5 -0
  88. package/.next/standalone/.next/server/app/api/claude/usage/route.js.nft.json +1 -0
  89. package/.next/standalone/.next/server/app/api/claude/usage/route_client-reference-manifest.js +2 -0
  90. package/.next/standalone/.next/server/app/api/config/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/cortex/context/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +1 -1
  97. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +1 -1
  99. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/export/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js +1 -1
  117. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js +1 -1
  121. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/import/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js +1 -1
  127. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js +1 -1
  133. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js +1 -1
  139. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/cortex/search/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/cortex/settings/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/cortex/status/route.js +1 -1
  153. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/cortex/usage/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/files/route.js +1 -1
  163. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/folders/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/network/handshake/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js +1 -1
  169. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/network/panes/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/network/panes/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/network/projects/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/network/search/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/network/sessions/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +1 -1
  185. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/panes/[id]/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/panes/route.js +1 -1
  191. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  193. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js +1 -1
  197. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/search/route.js +2 -2
  199. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/sessions/route.js +2 -2
  207. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/sync/route.js +1 -1
  209. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/app/api/tags/route.js +1 -1
  211. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/tier/route.js +1 -1
  213. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/whisper/config/route.js +1 -1
  215. package/.next/standalone/.next/server/app/api/whisper/config/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/wizard/chart/route/app-paths-manifest.json +3 -0
  218. package/.next/standalone/.next/server/app/api/wizard/chart/route/build-manifest.json +11 -0
  219. package/.next/standalone/.next/server/app/api/wizard/chart/route/server-reference-manifest.json +4 -0
  220. package/.next/standalone/.next/server/app/api/wizard/chart/route.js +7 -0
  221. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.map +5 -0
  222. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.nft.json +1 -0
  223. package/.next/standalone/.next/server/app/api/wizard/chart/route_client-reference-manifest.js +2 -0
  224. package/.next/standalone/.next/server/app/api/wizard/chat/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/wizard/chat/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js +1 -1
  227. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js +1 -1
  229. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js +1 -1
  231. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js +1 -1
  233. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js +1 -1
  235. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js +1 -1
  237. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/app-paths-manifest.json +3 -0
  239. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/build-manifest.json +11 -0
  240. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/server-reference-manifest.json +4 -0
  241. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js +8 -0
  242. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.map +5 -0
  243. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.nft.json +1 -0
  244. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route_client-reference-manifest.js +2 -0
  245. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/app-paths-manifest.json +3 -0
  246. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/build-manifest.json +11 -0
  247. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/server-reference-manifest.json +4 -0
  248. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js +8 -0
  249. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.map +5 -0
  250. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.nft.json +1 -0
  251. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route_client-reference-manifest.js +2 -0
  252. package/.next/standalone/.next/server/app/api/workspaces/route.js +2 -2
  253. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/cortex.html +1 -1
  255. package/.next/standalone/.next/server/app/cortex.rsc +3 -3
  256. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
  260. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  261. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  262. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  263. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/login.html +1 -1
  265. package/.next/standalone/.next/server/app/login.rsc +2 -2
  266. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  267. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  268. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  270. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  271. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  274. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  275. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  276. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  278. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  279. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  280. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  287. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  288. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  289. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  291. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  292. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  297. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  298. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  299. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  301. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  302. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  305. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  307. package/.next/standalone/.next/server/app/m/terminal.rsc +3 -3
  308. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
  309. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  311. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  313. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  314. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  315. package/.next/standalone/.next/server/app/m.html +1 -1
  316. package/.next/standalone/.next/server/app/m.rsc +2 -2
  317. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  318. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  320. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  321. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  322. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/network.html +1 -1
  324. package/.next/standalone/.next/server/app/network.rsc +2 -2
  325. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  329. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  331. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  332. package/.next/standalone/.next/server/app/projects.html +1 -1
  333. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  334. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  335. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  340. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  341. package/.next/standalone/.next/server/app/sessions.html +1 -1
  342. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  343. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  344. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  347. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  348. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  349. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  350. package/.next/standalone/.next/server/app/settings.html +1 -1
  351. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  352. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +2 -2
  353. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  356. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  358. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  359. package/.next/standalone/.next/server/app/terminal.html +1 -1
  360. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  361. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  362. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  365. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  367. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  368. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +1 -1
  369. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  370. package/.next/standalone/.next/server/app/vr.html +1 -1
  371. package/.next/standalone/.next/server/app/vr.rsc +3 -3
  372. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
  373. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  374. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  375. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  376. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  377. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  379. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  380. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  381. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  382. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  384. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  386. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  387. package/.next/standalone/.next/server/app-paths-manifest.json +4 -0
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +111 -0
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +111 -0
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +111 -0
  391. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__bb331da9._.js → [root-of-the-server]__046c9b91._.js} +16 -3
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +111 -0
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ac4ea3f._.js +3 -0
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +111 -0
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0facd39e._.js +111 -0
  397. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10bc76a3._.js +3 -0
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__115f3934._.js +111 -0
  399. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +3 -0
  400. package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +50 -33
  401. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17a3b966._.js +111 -0
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17d3a2b2._.js +111 -0
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +111 -0
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20b5e9c4._.js +3 -0
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28d6fbd8._.js +111 -0
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a3f866b._.js +119 -0
  407. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a95bb38b._.js → [root-of-the-server]__316617e7._.js} +3 -3
  408. package/.next/standalone/.next/server/chunks/[root-of-the-server]__32ad8f71._.js +111 -0
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35457394._.js +111 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35de78e6._.js +111 -0
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3685ffcb._.js +111 -0
  412. package/.next/standalone/.next/server/chunks/[root-of-the-server]__38954988._.js +111 -0
  413. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a32b624._.js +111 -0
  414. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +119 -0
  415. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +111 -0
  416. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c6ce9ed._.js +111 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +111 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +111 -0
  419. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65676930._.js +3 -0
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +58 -0
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +111 -0
  422. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7ebc4280._.js → [root-of-the-server]__6c64af29._.js} +22 -9
  423. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73aed9f5._.js +111 -0
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79b6a9bb._.js +111 -0
  425. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e56abacf._.js → [root-of-the-server]__7db704c6._.js} +18 -5
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +111 -0
  427. package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +111 -0
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +111 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +111 -0
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +111 -0
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +111 -0
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c2e1260._.js +111 -0
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d536cb5._.js +111 -0
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +111 -0
  435. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f2ccc41._.js +111 -0
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95c9d682._.js +111 -0
  437. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +111 -0
  438. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9edcff87._.js +111 -0
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a049dfc2._.js +111 -0
  440. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +111 -0
  441. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a83262a1._.js +111 -0
  442. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +111 -0
  443. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__efb8251e._.js → [root-of-the-server]__a9d7f822._.js} +16 -3
  444. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +111 -0
  445. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +111 -0
  446. package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +111 -0
  447. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +111 -0
  448. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +111 -0
  449. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c011bf91._.js +111 -0
  450. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0ac2895._.js +3 -0
  451. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c37d6380._.js +3 -0
  452. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cae392eb._.js +111 -0
  453. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc2616bb._.js +16 -3
  454. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +111 -0
  455. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d59c6c15._.js +111 -0
  456. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5c1db32._.js +111 -0
  457. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dba60c86._.js +111 -0
  458. package/.next/standalone/.next/server/chunks/[root-of-the-server]__de14b9ae._.js +111 -0
  459. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e10643d1._.js +111 -0
  460. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2a996e5._.js +127 -0
  461. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3477417._.js +111 -0
  462. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__32dc5513._.js → [root-of-the-server]__e4db362e._.js} +2 -2
  463. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4e70b86._.js +111 -0
  464. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e54925af._.js +111 -0
  465. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8cbeaca._.js +111 -0
  466. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cabaac2b._.js → [root-of-the-server]__e8edc5b0._.js} +16 -3
  467. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eab4d83b._.js +111 -0
  468. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +1 -1
  469. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f056fd83._.js +111 -0
  470. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +111 -0
  471. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +111 -0
  472. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9cd277._.js +111 -0
  473. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +111 -0
  474. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_claude_usage_route_actions_fe002ec1.js +3 -0
  475. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wizard_chart_route_actions_888e2ec1.js +3 -0
  476. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_workspaces_[id]_todos_route_actions_0d4ffac5.js +3 -0
  477. package/.next/standalone/.next/server/chunks/ce889_server_app_api_workspaces_[id]_todos_[todoId]_route_actions_754fe6b9.js +3 -0
  478. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2cffc362._.js +3 -0
  479. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__f1050870._.js → [root-of-the-server]__47c97637._.js} +2 -2
  480. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  481. package/.next/standalone/.next/server/chunks/ssr/_20c2cf3a._.js +3 -0
  482. package/.next/standalone/.next/server/chunks/ssr/_2a1d79e7._.js +1 -1
  483. package/.next/standalone/.next/server/chunks/ssr/_5c3c4cfa._.js +7 -5
  484. package/.next/standalone/.next/server/chunks/ssr/_5f55bf8f._.js +3 -0
  485. package/.next/standalone/.next/server/chunks/ssr/_ba432382._.js +7 -5
  486. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
  487. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_settings_page_tsx_f74824b3._.js +1 -1
  488. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +4 -4
  489. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  490. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  491. package/.next/standalone/.next/server/pages/404.html +1 -1
  492. package/.next/standalone/.next/server/pages/500.html +2 -2
  493. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  494. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  495. package/.next/standalone/.next/static/chunks/{74d0ac0b1d0a1b79.js → 10b00b4f66102dcf.js} +1 -1
  496. package/.next/standalone/.next/static/chunks/14216197f9dcbe5b.css +3 -0
  497. package/.next/standalone/.next/static/chunks/{16eb77953dee9ea3.js → 19c71a8376c23c58.js} +1 -1
  498. package/.next/standalone/.next/static/chunks/{3e91fc608659c524.js → 350271fe79509caf.js} +1 -1
  499. package/.next/standalone/.next/static/chunks/4c9fb0a38f041a3d.js +85 -0
  500. package/.next/standalone/.next/static/chunks/{70423c7afd8abf5f.js → 597847c22200c212.js} +1 -1
  501. package/.next/standalone/.next/static/chunks/8f6f93ab45a5ff5b.js +1 -0
  502. package/.next/standalone/.next/static/chunks/{7ecd9bbb0ce4d68a.js → b7c8fe9b7275a84f.js} +1 -1
  503. package/.next/standalone/.next/static/chunks/{6245135a7afb8c7b.js → c9b10fc55516d142.js} +8 -6
  504. package/.next/standalone/.next/static/chunks/d0065f48eab94944.js +1 -0
  505. package/.next/standalone/.next/static/chunks/{e62bb488d02db247.js → d2566c2dcf53fef3.js} +1 -1
  506. package/.next/standalone/.next/static/chunks/{180c1b9ff31b979f.js → f7b34c807badf95d.js} +8 -6
  507. package/.next/standalone/.next/static/chunks/{fb0abd1933b2b2e1.js → ff7d85dade44d1f3.js} +1 -1
  508. package/.next/standalone/.spaces/cortex-context.md +35 -129
  509. package/.next/standalone/bin/spaces.js +7 -4
  510. package/.next/standalone/bin/terminal-server.js +48 -10
  511. package/.next/standalone/cortex-hook-debug.log +118 -23
  512. package/.next/standalone/docs/features/claude-usage.md +105 -0
  513. package/.next/standalone/docs/features/workspace-todos.md +127 -0
  514. package/.next/standalone/docs/superpowers/plans/2026-04-21-workspace-todos.md +1097 -0
  515. package/.next/standalone/docs/superpowers/plans/2026-04-22-claude-usage-display.md +749 -0
  516. package/.next/standalone/docs/superpowers/specs/2026-04-21-workspace-todos-design.md +180 -0
  517. package/.next/standalone/docs/superpowers/specs/2026-04-22-claude-usage-display-design.md +183 -0
  518. package/.next/standalone/package-lock.json +2 -2
  519. package/.next/standalone/package.json +1 -1
  520. package/.next/standalone/src/app/(desktop)/settings/page.tsx +40 -1
  521. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +98 -7
  522. package/.next/standalone/src/app/api/benchmark/run/route.ts +24 -3
  523. package/.next/standalone/src/app/api/claude/usage/route.ts +33 -0
  524. package/.next/standalone/src/app/api/config/route.ts +3 -0
  525. package/.next/standalone/src/app/api/cortex/context/route.ts +1 -1
  526. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +1 -1
  527. package/.next/standalone/src/app/api/cortex/search/route.ts +14 -2
  528. package/.next/standalone/src/app/api/folders/route.ts +16 -6
  529. package/.next/standalone/src/app/api/network/panes/[id]/route.ts +27 -11
  530. package/.next/standalone/src/app/api/network/panes/route.ts +25 -14
  531. package/.next/standalone/src/app/api/network/projects/route.ts +11 -4
  532. package/.next/standalone/src/app/api/network/search/route.ts +21 -14
  533. package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +18 -11
  534. package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +16 -9
  535. package/.next/standalone/src/app/api/network/sessions/route.ts +25 -18
  536. package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +21 -12
  537. package/.next/standalone/src/app/api/network/workspaces/route.ts +16 -14
  538. package/.next/standalone/src/app/api/whisper/config/route.ts +16 -8
  539. package/.next/standalone/src/app/api/wizard/chart/route.ts +129 -0
  540. package/.next/standalone/src/app/api/workspaces/[id]/todos/[todoId]/route.ts +55 -0
  541. package/.next/standalone/src/app/api/workspaces/[id]/todos/route.ts +43 -0
  542. package/.next/standalone/src/components/claude/claude-usage-strip.tsx +175 -0
  543. package/.next/standalone/src/components/cortex/benchmark-tab.tsx +14 -0
  544. package/.next/standalone/src/components/terminal/terminal-pane.tsx +78 -12
  545. package/.next/standalone/src/components/wizard/chart-wizard.tsx +405 -0
  546. package/.next/standalone/src/components/workspace/workspace-todos.tsx +265 -0
  547. package/.next/standalone/src/hooks/use-benchmark.ts +1 -0
  548. package/.next/standalone/src/hooks/use-claude-usage.ts +66 -0
  549. package/.next/standalone/src/hooks/use-speech-recognition.ts +2 -1
  550. package/.next/standalone/src/lib/claude/credentials.ts +36 -0
  551. package/.next/standalone/src/lib/claude/usage.ts +69 -0
  552. package/.next/standalone/src/lib/config.ts +3 -0
  553. package/.next/standalone/src/lib/cortex/benchmark.ts +17 -1
  554. package/.next/standalone/src/lib/cortex/index.ts +54 -1
  555. package/.next/standalone/src/lib/db/queries.ts +105 -90
  556. package/.next/standalone/src/lib/db/schema.ts +18 -0
  557. package/.next/standalone/src/lib/shell-user.ts +101 -0
  558. package/.next/standalone/src/types/claude.ts +39 -0
  559. package/.next/standalone/tests/db/workspace-todos.test.ts +156 -0
  560. package/bin/spaces.js +7 -4
  561. package/bin/terminal-server.js +48 -10
  562. package/package.json +1 -1
  563. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00fdfbda._.js +0 -114
  564. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04f04898._.js +0 -106
  565. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0903a426._.js +0 -98
  566. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09e8ccc9._.js +0 -98
  567. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11c684b1._.js +0 -98
  568. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1572d4ef._.js +0 -98
  569. package/.next/standalone/.next/server/chunks/[root-of-the-server]__186cd0bb._.js +0 -3
  570. package/.next/standalone/.next/server/chunks/[root-of-the-server]__194955d4._.js +0 -98
  571. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f054c65._.js +0 -98
  572. package/.next/standalone/.next/server/chunks/[root-of-the-server]__212760e6._.js +0 -98
  573. package/.next/standalone/.next/server/chunks/[root-of-the-server]__228595ec._.js +0 -98
  574. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2384f98e._.js +0 -98
  575. package/.next/standalone/.next/server/chunks/[root-of-the-server]__277d9445._.js +0 -98
  576. package/.next/standalone/.next/server/chunks/[root-of-the-server]__283c890f._.js +0 -3
  577. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a2c5fc5._.js +0 -98
  578. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d7a454e._.js +0 -98
  579. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f300a68._.js +0 -98
  580. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f452778._.js +0 -98
  581. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35f8e77e._.js +0 -98
  582. package/.next/standalone/.next/server/chunks/[root-of-the-server]__379fc2e9._.js +0 -98
  583. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3b40d79f._.js +0 -98
  584. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3d3dca2b._.js +0 -98
  585. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49e42a3a._.js +0 -98
  586. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d5b78d2._.js +0 -98
  587. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d903941._.js +0 -98
  588. package/.next/standalone/.next/server/chunks/[root-of-the-server]__54163e52._.js +0 -98
  589. package/.next/standalone/.next/server/chunks/[root-of-the-server]__563c0817._.js +0 -3
  590. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5812f90a._.js +0 -98
  591. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c5e87f5._.js +0 -98
  592. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60d15b16._.js +0 -98
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__614458b7._.js +0 -98
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__69d315e5._.js +0 -3
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fe5e6c8._.js +0 -98
  596. package/.next/standalone/.next/server/chunks/[root-of-the-server]__71f29038._.js +0 -98
  597. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74084e07._.js +0 -3
  598. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7921aa80._.js +0 -98
  599. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e077dd8._.js +0 -98
  600. package/.next/standalone/.next/server/chunks/[root-of-the-server]__857c60bb._.js +0 -98
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__874fe565._.js +0 -98
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8e2171f7._.js +0 -98
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__91e23c96._.js +0 -98
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__929ea03a._.js +0 -98
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95659b2d._.js +0 -98
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9679b91e._.js +0 -98
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d68157b._.js +0 -98
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a90729a1._.js +0 -98
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac39ecc7._.js +0 -98
  610. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac84b704._.js +0 -98
  611. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad4346fa._.js +0 -98
  612. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0862d69._.js +0 -98
  613. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b43306ee._.js +0 -98
  614. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b689ff5e._.js +0 -106
  615. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba87daaa._.js +0 -98
  616. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0461005._.js +0 -98
  617. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1deb5f3._.js +0 -98
  618. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8a62f42._.js +0 -98
  619. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cb027619._.js +0 -98
  620. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc6e2885._.js +0 -98
  621. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf608218._.js +0 -98
  622. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfc1290d._.js +0 -98
  623. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d0109b9b._.js +0 -98
  624. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d0125483._.js +0 -3
  625. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d048ee6b._.js +0 -98
  626. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d12644e7._.js +0 -98
  627. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d95165f0._.js +0 -98
  628. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3cc946c._.js +0 -98
  629. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e6fd27f8._.js +0 -98
  630. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eafd040b._.js +0 -98
  631. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f44c6882._.js +0 -98
  632. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f85283de._.js +0 -98
  633. package/.next/standalone/.next/server/chunks/[root-of-the-server]__feceb3e4._.js +0 -98
  634. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__843070a6._.js +0 -3
  635. package/.next/standalone/.next/server/chunks/ssr/_3ba93bdd._.js +0 -3
  636. package/.next/standalone/.next/server/chunks/ssr/_e84a0c06._.js +0 -3
  637. package/.next/standalone/.next/static/chunks/074df89a63b6a854.js +0 -1
  638. package/.next/standalone/.next/static/chunks/9d4164833c2c1fd6.js +0 -85
  639. package/.next/standalone/.next/static/chunks/bffaf378f7745d59.css +0 -3
  640. package/.next/standalone/.next/static/chunks/f091f4bf8d80fd07.js +0 -1
  641. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → bAQs2gDlFrq3e8w9ni9tr}/_buildManifest.js +0 -0
  642. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → bAQs2gDlFrq3e8w9ni9tr}/_clientMiddlewareManifest.json +0 -0
  643. /package/.next/standalone/.next/static/{0KefPNmR9NsrZHWWt9Xr7 → bAQs2gDlFrq3e8w9ni9tr}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let s=null,n=!1;function a(){if(!n){for(let e of function(){let e=[r.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(r.default.delimiter))t&&e.push(r.default.join(t,"_anchor.js"));return e}())try{s=(0,t.createRequire)(e)("@spaces/teams");break}catch{}n=!0}return s}function i(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),s=e.i(446786),n=e.i(254799),a=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function l(e){let n,o=e;if(a.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===s.default.userInfo().username)n=s.default.homedir();else if(1){let e=t.default.dirname(s.default.homedir()),a=t.default.join(e,o);n=r.default.existsSync(a)?a:s.default.homedir()}else n=`/home/${o}`;let l=o===s.default.userInfo().username?t.default.join(s.default.homedir(),".spaces"):t.default.join(s.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),forgeDir:t.default.join(n,".forge"),forgeConversationsDir:t.default.join(n,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function c(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function u(e,t){let s={...d(e),...t},{configPath:n}=l(e);return r.default.writeFileSync(n,JSON.stringify(s,null,2)),s}e.s(["config",0,o,"ensureUserSpacesDir",()=>c,"getUserPaths",()=>l,"readConfig",()=>d,"writeConfig",()=>u])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,s="federation"===t,n=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:s,hasMultiuser:r,hasCortex:n,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,n,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,s,"IS_DESKTOP",0,a,"IS_FEDERATION",0,s,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),s=e.i(717516);let n=new t.AsyncLocalStorage;function a(e){return s.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function i(e,t){return n.run(e,t)}function o(e){return s.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=n.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>a,"getCurrentUser",()=>l,"withUser",()=>i])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},439348,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),n=e.i(759756),a=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),c=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),x=e.i(10372),m=e.i(193695);e.i(52474);var g=e.i(600220),v=e.i(89171),y=e.i(79832),R=e.i(798003),S=e.i(522734),w=e.i(814747),b=e.i(233405);async function A(e){let t=(0,y.getAuthUser)(e);return(0,y.withUser)(t,async()=>{let{spacesDir:e}=(0,R.getUserPaths)(t),r=w.default.join(e,"cortex","marketplace");if(!S.default.existsSync(r))return S.default.mkdirSync(r,{recursive:!0}),v.NextResponse.json({packs:[],directory:r});let s=S.default.readdirSync(r).filter(e=>e.endsWith(".cortexpack")),n=[];for(let e of s)try{let t=w.default.join(r,e),s=(0,b.execSync)(`tar -xzf "${t}" -O manifest.json 2>/dev/null`,{encoding:"utf-8",timeout:5e3}),a=JSON.parse(s);n.push({filename:e,manifest:a})}catch{let t=S.default.statSync(w.default.join(r,e));n.push({filename:e,manifest:{version:"unknown",exportDate:t.mtime.toISOString(),unitCount:0}})}return v.NextResponse.json({packs:n,directory:r})})}e.s(["GET",()=>A],468093);var E=e.i(468093);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cortex/marketplace/browse/route",pathname:"/api/cortex/marketplace/browse",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cortex/marketplace/browse/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:C,workUnitAsyncStorage:k,serverHooks:T}=j;function O(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:k})}async function _(e,t,s){j.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cortex/marketplace/browse/route";v=v.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:R,params:S,nextConfig:w,parsedUrl:b,isDraftMode:A,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:_,serverActionsManifest:I}=y,N=(0,o.normalizeAppPath)(v),P=!!(E.dynamicRoutes[N]||E.routes[O]),D=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!A){let e=!!E.routes[O],t=E.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!P||j.isDev||A||(U="/index"===(U=O)?"/":U);let q=!0===j.isDev||!P,H=P&&!q;I&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:I});let M=e.method||"GET",L=(0,a.getTracer)(),F=L.getActiveScopeSpan(),$={params:S,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>j.onRequestError(e,t,s,n,C)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let i=async e=>j.handle(W,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let c=async({previousCacheEntry:r})=>{try{if(!o&&k&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let c=$.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(K,B,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[x.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),t}},d=await j.handleResponse({req:e,nextConfig:w,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:s.waitUntil,isMinimalMode:o});if(!P)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&P||m.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,B,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,C),P)throw t;return await (0,p.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>O,"routeModule",()=>j,"serverHooks",()=>T,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>k],439348)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__10bc76a3._.js.map
@@ -0,0 +1,111 @@
1
+ module.exports=[193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,s)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),s=e.i(814747);let r=null,a=!1;function n(){if(!a){for(let e of function(){let e=[s.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(s.default.delimiter))t&&e.push(s.default.join(t,"_anchor.js"));return e}())try{r=(0,t.createRequire)(e)("@spaces/teams");break}catch{}a=!0}return r}function i(){return null!==n()}e.s(["getTeams",()=>n,"hasTeams",()=>i])},798003,e=>{"use strict";var t=e.i(814747),s=e.i(522734),r=e.i(446786),a=e.i(254799),n=e.i(717516),i=e.i(599944);let o={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function c(e){let a,o=e;if(n.HAS_MULTIUSER)try{let t=(0,i.getTeams)();t&&(o=t.admin.resolveShellUser(e))}catch{}if(o===r.default.userInfo().username)a=r.default.homedir();else if(1){let e=t.default.dirname(r.default.homedir()),n=t.default.join(e,o);a=s.default.existsSync(n)?n:r.default.homedir()}else a=`/home/${o}`;let c=o===r.default.userInfo().username?t.default.join(r.default.homedir(),".spaces"):t.default.join(r.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(a,".claude"),claudeProjectsDir:t.default.join(a,".claude","projects"),statsPath:t.default.join(a,".claude","stats-cache.json"),codexDir:t.default.join(a,".codex"),codexSessionsDir:t.default.join(a,".codex","sessions"),geminiDir:t.default.join(a,".gemini"),geminiChatsBaseDir:t.default.join(a,".gemini","tmp"),geminiProjectsRegistry:t.default.join(a,".gemini","projects.json"),forgeDir:t.default.join(a,".forge"),forgeConversationsDir:t.default.join(a,".forge","conversations"),spacesDir:c,dbPath:t.default.join(c,"spaces.db"),configPath:t.default.join(c,"config.json")}}function d(e){let{spacesDir:t}=c(e);s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0})}function l(e){let{configPath:t,spacesDir:r}=c(e);try{if(s.default.existsSync(t)){let e=JSON.parse(s.default.readFileSync(t,"utf-8"));return{installId:e.installId||a.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}s.default.existsSync(r)||s.default.mkdirSync(r,{recursive:!0});let n={installId:a.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return s.default.writeFileSync(t,JSON.stringify(n,null,2)),n}function E(e,t){let r={...l(e),...t},{configPath:a}=c(e);return s.default.writeFileSync(a,JSON.stringify(r,null,2)),r}e.s(["config",0,o,"ensureUserSpacesDir",()=>d,"getUserPaths",()=>c,"readConfig",()=>l,"writeConfig",()=>E])},254799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),s="team"===t||"federation"===t,r="federation"===t,a=s||"1"===process.env.SPACES_HAS_CORTEX,n=!s;function i(){let i="0.0.0";try{i=e.r(804730).version}catch{}return{tier:t,version:i,hasAuth:s,hasAdmin:s,hasCollaboration:s,hasNetwork:r,hasMultiuser:s,hasCortex:a,isDesktop:n,basePath:""}}e.s(["HAS_ADMIN",0,s,"HAS_AUTH",0,s,"HAS_COLLABORATION",0,s,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,s,"HAS_NETWORK",0,r,"IS_DESKTOP",0,n,"IS_FEDERATION",0,r,"IS_TEAM",0,s,"TIER",0,t,"getTierFlags",()=>i])},410430,(e,t,s)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),s=e.i(446786),r=e.i(717516);let a=new t.AsyncLocalStorage;function n(e){return r.HAS_AUTH&&e.headers.get("x-auth-user")||s.default.userInfo().username}function i(e,t){return a.run(e,t)}function o(e){return r.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function c(){let e=a.getStore();return e||s.default.userInfo().username}e.s(["getAuthRole",()=>o,"getAuthUser",()=>n,"getCurrentUser",()=>c,"withUser",()=>i])},785148,(e,t,s)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},507304,e=>{"use strict";var t=e.i(785148),s=e.i(798003),r=e.i(79832);let a=new Map;function n(){let n=(0,r.getCurrentUser)(),i=a.get(n);if(i)return i;(0,s.ensureUserSpacesDir)(n);let{dbPath:o}=(0,s.getUserPaths)(n),c=new t.default(o);return c.pragma("journal_mode = WAL"),c.pragma("synchronous = NORMAL"),c.pragma("foreign_keys = ON"),function(t){let s;t.exec(`
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
+
91
+ CREATE TABLE IF NOT EXISTS workspace_todos (
92
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
93
+ workspace_id INTEGER NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
94
+ text TEXT NOT NULL,
95
+ completed INTEGER NOT NULL DEFAULT 0,
96
+ sort_order INTEGER NOT NULL DEFAULT 0,
97
+ created TEXT NOT NULL DEFAULT (datetime('now')),
98
+ completed_at TEXT
99
+ );
100
+
101
+ CREATE INDEX IF NOT EXISTS idx_workspace_todos_workspace
102
+ ON workspace_todos(workspace_id);
103
+ `);let r=(e,s,r)=>{try{t.exec(`ALTER TABLE ${e} ADD COLUMN ${s} ${r}`)}catch{}};r("workspaces","is_active","INTEGER DEFAULT 0"),r("workspaces","updated","TEXT"),r("workspaces","lobe_config","TEXT DEFAULT '{}'"),r("panes","workspace_id","INTEGER"),r("panes","is_popout","INTEGER DEFAULT 0"),r("panes","win_x","INTEGER"),r("panes","win_y","INTEGER"),r("panes","win_width","INTEGER DEFAULT 800"),r("panes","win_height","INTEGER DEFAULT 600"),r("panes","agent_type","TEXT DEFAULT 'shell'"),r("panes","custom_command","TEXT"),r("panes","node_id","TEXT"),r("sessions","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_type","TEXT DEFAULT 'claude'"),r("projects","agent_path","TEXT");try{t.exec("UPDATE projects SET agent_path = claude_path WHERE agent_path IS NULL AND claude_path IS NOT NULL")}catch{}r("workspaces","collaboration","INTEGER DEFAULT 0"),r("panes","is_collaborating","INTEGER DEFAULT 0"),r("panes","diff_baseline_sha","TEXT"),r("panes","custom_model_id","TEXT");try{t.exec("CREATE INDEX IF NOT EXISTS idx_sessions_agent_type ON sessions(agent_type)")}catch{}try{t.exec("CREATE INDEX IF NOT EXISTS idx_projects_agent_type ON projects(agent_type)")}catch{}let a=t.prepare("SELECT id FROM workspaces WHERE name = 'Default'").get();a?(s=a.id,t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()||t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(s)):s=Number(t.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES ('Default', 'Default workspace', '#6366f1', 1)").run().lastInsertRowid);let n=t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();n&&t.prepare("UPDATE panes SET workspace_id = ? WHERE workspace_id IS NULL").run(n.id);try{t.exec(`
104
+ CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
105
+ session_id,
106
+ content,
107
+ content_rowid='rowid'
108
+ );
109
+ `)}catch{}try{let{getTeams:s}=e.r(599944),r=s();r&&r.db.runMigrations(t)}catch{}}(c),a.set(n,c),c}function i(){for(let e of a.values())e.close();a.clear()}e.s(["__testing",0,{dbs:a},"closeDb",()=>i,"getDb",()=>n])},233405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},365836,e=>{"use strict";var t=e.i(507304),s=e.i(460569),r=e.i(79832),a=e.i(599944);let n=new Set,i=new Set,o=!1,c=0;async function d(){let d=(0,r.getCurrentUser)();if(n.has(d)){let e=Date.now();e-c>3e5&&(c=e,(0,s.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),n.add(d),!o){o=!0;let s=(0,a.getTeams)();if(s){let{sseManager:r}=await e.A(972354);s.init({getDb:t.getDb,sseManager:r})}}if(!i.has(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`),c=Date.now(),(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])},488e3,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),c=e.i(316795),d=e.i(487718),l=e.i(995169),E=e.i(47587),u=e.i(666012),p=e.i(570101),T=e.i(626937),N=e.i(10372),f=e.i(193695);e.i(52474);var h=e.i(600220),R=e.i(79832),g=e.i(365836),A=e.i(599944);async function m(e,t){let s=(0,R.getAuthUser)(e);return(0,R.withUser)(s,async()=>(await (0,g.ensureInitialized)(),(0,A.getTeams)()?.api.messageById.PATCH(e,t)??Response.json({error:"Requires @spaces/teams"},{status:404})))}e.s(["PATCH",()=>m],977299);var _=e.i(977299);let I=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/messages/[msgId]/route",pathname:"/api/workspaces/[id]/messages/[msgId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspaces/[id]/messages/[msgId]/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:S,workUnitAsyncStorage:x,serverHooks:L}=I;function w(){return(0,r.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:x})}async function O(e,t,r){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/workspaces/[id]/messages/[msgId]/route";R=R.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:m,nextConfig:_,parsedUrl:S,isDraftMode:x,prerenderManifest:L,routerServerContext:w,isOnDemandRevalidate:O,revalidateOnlyGenerated:y,resolvedPathname:U,clientReferenceManifest:v,serverActionsManifest:D}=g,C=(0,o.normalizeAppPath)(R),b=!!(L.dynamicRoutes[C]||L.routes[U]),X=async()=>((null==w?void 0:w.render404)?await w.render404(e,t,S,!1):t.end("This page could not be found"),null);if(b&&!x){let e=!!L.routes[U],t=L.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await X();throw new f.NoFallbackError}}let F=null;!b||I.isDev||x||(F="/index"===(F=U)?"/":F);let k=!0===I.isDev||!b,j=b&&!k;D&&v&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:v,serverActionsManifest:D});let P=e.method||"GET",M=(0,n.getTracer)(),H=M.getActiveScopeSpan(),q={params:m,prerenderManifest:L,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:k,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}},G=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let i=async e=>I.handle(Y,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=M.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${P} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${R}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var n,c;let d=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=q.renderOpts.fetchMetrics;let c=q.renderOpts.pendingWaitUntil;c&&r.waitUntil&&(r.waitUntil(c),c=void 0);let d=q.renderOpts.collectedTags;if(!b)return await (0,u.sendResponse)(G,K,n,q.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[N.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=N.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,r=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=N.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,w),t}},l=await I.handleResponse({req:e,nextConfig:_,cacheKey:F,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:o});if(!b)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(c=l.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&b||f.delete(N.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,T.getCacheControlHeader)(l.cacheControl)),await (0,u.sendResponse)(G,K,new Response(l.value.body,{headers:f,status:l.value.status||200})),null};H?await c(H):await M.withPropagatedContext(e.headers,()=>M.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},c))}catch(t){if(t instanceof f.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,E.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,w),b)throw t;return await (0,u.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>w,"routeModule",()=>I,"serverHooks",()=>L,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>x],488e3)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
110
+
111
+ //# sourceMappingURL=%5Broot-of-the-server%5D__115f3934._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},599944,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let s=null,n=!1;function a(){if(!n){for(let e of function(){let e=[r.default.join(process.cwd(),"package.json")];for(let t of(process.env.NODE_PATH||"").split(r.default.delimiter))t&&e.push(r.default.join(t,"_anchor.js"));return e}())try{s=(0,t.createRequire)(e)("@spaces/teams");break}catch{}n=!0}return s}function o(){return null!==a()}e.s(["getTeams",()=>a,"hasTeams",()=>o])},798003,e=>{"use strict";var t=e.i(814747),r=e.i(522734),s=e.i(446786),n=e.i(254799),a=e.i(717516),o=e.i(599944);let i={port:parseInt(process.env.SPACES_PORT||"3457",10),costRates:{"claude-opus-4-5-20251101":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5-20251001":{input:.8,output:4,cacheRead:.08,cacheWrite:1}}};function l(e){let n,i=e;if(a.HAS_MULTIUSER)try{let t=(0,o.getTeams)();t&&(i=t.admin.resolveShellUser(e))}catch{}if(i===s.default.userInfo().username)n=s.default.homedir();else if(1){let e=t.default.dirname(s.default.homedir()),a=t.default.join(e,i);n=r.default.existsSync(a)?a:s.default.homedir()}else n=`/home/${i}`;let l=i===s.default.userInfo().username?t.default.join(s.default.homedir(),".spaces"):t.default.join(s.default.homedir(),".spaces","users",e);return{claudeDir:t.default.join(n,".claude"),claudeProjectsDir:t.default.join(n,".claude","projects"),statsPath:t.default.join(n,".claude","stats-cache.json"),codexDir:t.default.join(n,".codex"),codexSessionsDir:t.default.join(n,".codex","sessions"),geminiDir:t.default.join(n,".gemini"),geminiChatsBaseDir:t.default.join(n,".gemini","tmp"),geminiProjectsRegistry:t.default.join(n,".gemini","projects.json"),forgeDir:t.default.join(n,".forge"),forgeConversationsDir:t.default.join(n,".forge","conversations"),spacesDir:l,dbPath:t.default.join(l,"spaces.db"),configPath:t.default.join(l,"config.json")}}function u(e){let{spacesDir:t}=l(e);r.default.existsSync(t)||r.default.mkdirSync(t,{recursive:!0})}function d(e){let{configPath:t,spacesDir:s}=l(e);try{if(r.default.existsSync(t)){let e=JSON.parse(r.default.readFileSync(t,"utf-8"));return{installId:e.installId||n.default.randomUUID(),telemetryOptOut:!!e.telemetryOptOut,devDirectories:Array.isArray(e.devDirectories)?e.devDirectories.filter(e=>"string"==typeof e):[],todosEnabled:!!e.todosEnabled,...e.cortex&&"object"==typeof e.cortex?{cortex:e.cortex}:{},customModels:Array.isArray(e.customModels)?e.customModels:[]}}}catch{}r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0});let a={installId:n.default.randomUUID(),telemetryOptOut:!1,devDirectories:[],todosEnabled:!1,customModels:[]};return r.default.writeFileSync(t,JSON.stringify(a,null,2)),a}function c(e,t){let s={...d(e),...t},{configPath:n}=l(e);return r.default.writeFileSync(n,JSON.stringify(s,null,2)),s}e.s(["config",0,i,"ensureUserSpacesDir",()=>u,"getUserPaths",()=>l,"readConfig",()=>d,"writeConfig",()=>c])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,s="federation"===t,n=r||"1"===process.env.SPACES_HAS_CORTEX,a=!r;function o(){let o="0.0.0";try{o=e.r(804730).version}catch{}return{tier:t,version:o,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:s,hasMultiuser:r,hasCortex:n,isDesktop:a,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,n,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,s,"IS_DESKTOP",0,a,"IS_FEDERATION",0,s,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>o])},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),s=e.i(717516);let n=new t.AsyncLocalStorage;function a(e){return s.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function o(e,t){return n.run(e,t)}function i(e){return s.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=n.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>i,"getAuthUser",()=>a,"getCurrentUser",()=>l,"withUser",()=>o])},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},77019,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),n=e.i(759756),a=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),m=e.i(10372),x=e.i(193695);e.i(52474);var g=e.i(600220),v=e.i(89171),y=e.i(79832),R=e.i(798003),j=e.i(522734),w=e.i(446786),E=e.i(814747),S=e.i(233405);let b=E.default.join(w.default.homedir(),".spaces","admin.db"),A=E.default.join(w.default.homedir(),".spaces","service_key"),C=E.default.join(w.default.homedir(),".spaces","known_hosts"),T=null;function _(t){let r=function(){if(T)return T;if(!j.default.existsSync(b))return null;try{return T=new(e.r(785148))(b,{readonly:!0,fileMustExist:!0})}catch{return null}}();if(!r)return t;try{let e=r.prepare("SELECT shell_user FROM users WHERE username = ?").get(t);return e?.shell_user||t}catch{return t}}function N(e){if(e===w.default.userInfo().username)return w.default.homedir();try{let t=((0,S.spawnSync)("getent",["passwd",e],{encoding:"utf-8",timeout:5e3}).stdout||"").split(":")[5];if(t)return t.trim()}catch{}return`/home/${e}`}function k(e){return"'"+e.replace(/'/g,"'\\''")+"'"}async function O(e){let t=(0,y.getAuthUser)(e),r=N(_(t)),s=(0,R.readConfig)(t),n=(s.devDirectories.length>0?s.devDirectories:[r]).map(e=>E.default.resolve(e)),a=e.nextUrl.searchParams.get("path")||n[0];try{let e=E.default.resolve(a),t=n.find(t=>e===t||e.startsWith(t+E.default.sep));if(!t)return v.NextResponse.json({current:a,parent:null,folders:[],error:"Access denied"},{status:403});let r=j.default.readdirSync(e,{withFileTypes:!0}).filter(e=>!(!e.isDirectory()||e.name.startsWith(".")||"node_modules"===e.name)).map(t=>({name:t.name,path:E.default.join(e,t.name)})).sort((e,t)=>e.name.localeCompare(t.name)),s=E.default.dirname(e),o=e===t;return v.NextResponse.json({current:e,parent:o?null:s,folders:r})}catch{return v.NextResponse.json({current:a,parent:null,folders:[],error:"Cannot read directory"})}}async function I(e){let t=(0,y.getAuthUser)(e),r=_(t),s=N(r),n=(0,R.readConfig)(t),a=(n.devDirectories.length>0?n.devDirectories:[s]).map(e=>E.default.resolve(e));try{let{parent:t,name:s}=await e.json();if(!t||!s)return v.NextResponse.json({error:"parent and name are required"},{status:400});if(s.includes("/")||s.includes("\\")||"."===s||".."===s)return v.NextResponse.json({error:"Invalid folder name"},{status:400});if(s.length>255)return v.NextResponse.json({error:"Folder name too long"},{status:400});let n=E.default.resolve(t);if(!a.find(e=>n===e||n.startsWith(e+E.default.sep)))return v.NextResponse.json({error:"Access denied"},{status:403});let o=E.default.join(n,s);if(j.default.existsSync(o))return v.NextResponse.json({error:"Folder already exists"},{status:409});let i=function(e,t,r={}){let s=r.timeoutMs??1e4;if(e===w.default.userInfo().username){let[e,...r]=t,n=(0,S.spawnSync)(e,r,{encoding:"utf-8",timeout:s});return{status:n.status??+!!n.error,stdout:n.stdout||"",stderr:n.stderr||(n.error?.message??"")}}let n=t.map(k).join(" "),a=(0,S.spawnSync)("ssh",["-4","-o","StrictHostKeyChecking=accept-new","-o",`UserKnownHostsFile=${C}`,"-o","BatchMode=yes","-i",A,`${e}@localhost`,n],{encoding:"utf-8",timeout:s});return{status:a.status??+!!a.error,stdout:a.stdout||"",stderr:a.stderr||(a.error?.message??"")}}(r,["mkdir","--",o]);if(0!==i.status){let e=(i.stderr||"").trim()||"Failed to create folder",t=/exists/i.test(e)?409:/permission|denied/i.test(e)?403:500;return v.NextResponse.json({error:e},{status:t})}return v.NextResponse.json({path:o},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to create folder";return v.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>O,"POST",()=>I],724858);var D=e.i(724858);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/folders/route",pathname:"/api/folders",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/folders/route.ts",nextConfigOutput:"standalone",userland:D}),{workAsyncStorage:q,workUnitAsyncStorage:U,serverHooks:H}=P;function M(){return(0,s.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:U})}async function F(e,t,s){P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/folders/route";v=v.replace(/\/index$/,"")||"/";let y=await P.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:R,params:j,nextConfig:w,parsedUrl:E,isDraftMode:S,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:k}=y,O=(0,i.normalizeAppPath)(v),I=!!(b.dynamicRoutes[O]||b.routes[_]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(I&&!S){let e=!!b.routes[_],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await D();throw new x.NoFallbackError}}let q=null;!I||P.isDev||S||(q="/index"===(q=_)?"/":q);let U=!0===P.isDev||!I,H=I&&!U;k&&N&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:k});let M=e.method||"GET",F=(0,a.getTracer)(),L=F.getActiveScopeSpan(),$={params:j,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>P.onRequestError(e,t,s,n,A)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let o=async e=>P.handle(B,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&C&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=$.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(K,W,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:C})},!1,A),t}},d=await P.handleResponse({req:e,nextConfig:w,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",C?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||x.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,W,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};L?await l(L):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:C})},!1,A),I)throw t;return await (0,p.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",()=>F,"patchFetch",()=>M,"routeModule",()=>P,"serverHooks",()=>H,"workAsyncStorage",()=>q,"workUnitAsyncStorage",()=>U],77019)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__11f155f1._.js.map
@@ -1,8 +1,8 @@
1
- module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"))},460569,321150,617730,550837,e=>{"use strict";var t=e.i(522734),s=e.i(814747),r=e.i(798003),a=e.i(79832),i=e.i(319668);function n(e){try{let s=t.default.readFileSync(e,"utf-8");return JSON.parse(s)}catch{return null}}async function o(e,s=0,r=50){return new Promise((a,n)=>{let o=[],d=0,l=0;if(!t.default.existsSync(e))return void a({messages:[],total:0,hasMore:!1});let p=t.default.createReadStream(e,{encoding:"utf-8"}),c=i.default.createInterface({input:p,crlfDelay:1/0});c.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);("user"===t.type||"assistant"===t.type||"system"===t.type)&&(d>=s&&l<r&&(o.push(t),l++),d++)}catch{}}),c.on("close",()=>{a({messages:o,total:d,hasMore:d>s+r})}),c.on("error",n)})}async function d(e){return new Promise(s=>{let r=[];if(!t.default.existsSync(e))return void s("");let a=t.default.createReadStream(e,{encoding:"utf-8"}),n=i.default.createInterface({input:a,crlfDelay:1/0});n.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);if("user"===t.type||"assistant"===t.type){let e=function(e){if("user"===e.type&&"message"in e){let t=e.message.content;return"string"==typeof t?t:""}if("assistant"===e.type&&"message"in e){let t=e.message.content;return Array.isArray(t)?t.filter(e=>"text"===e.type&&e.text).map(e=>e.text).join("\n"):""}return""}(t);e&&r.push(e)}}catch{}}),n.on("close",()=>{s(r.join("\n").slice(0,1e5))})})}async function l(e){return new Promise(s=>{let r="",a=0,n="",o="",d="",l="",p="";if(!t.default.existsSync(e))return void s(null);let c=t.default.createReadStream(e,{encoding:"utf-8"}),u=i.default.createInterface({input:c,crlfDelay:1/0});u.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);if(("user"===t.type||"assistant"===t.type)&&(a++,t.timestamp&&(n||(n=t.timestamp),o=t.timestamp)),"user"===t.type&&!r){let e=t.message?.content;r="string"==typeof e?e.slice(0,200):"",d=t.gitBranch||"",l=t.cwd||""}"assistant"!==t.type||p||(p=t.message?.model||"")}catch{}}),u.on("close",()=>{s({firstPrompt:r,messageCount:a,created:n,modified:o,gitBranch:d,projectPath:l,model:p})})})}function p(e){if(!e||!t.default.existsSync(e))return[];let r=function e(r){let a=[];try{for(let i of t.default.readdirSync(r,{withFileTypes:!0})){let t=s.default.join(r,i.name);i.isDirectory()?a.push(...e(t)):i.isFile()&&i.name.startsWith("rollout-")&&i.name.endsWith(".jsonl")&&a.push({filePath:t,filename:i.name})}}catch{}return a}(e),a=[];for(let{filePath:e,filename:s}of r){let r=function(e,s){try{let r,a,i=function(e,s,r){let a=null;try{a=t.default.openSync(e,"r");let s=[],r=0,i=0;for(;r<262144&&i<6;){let e=Math.min(8192,262144-r),n=Buffer.alloc(e),o=t.default.readSync(a,n,0,e,r);if(o<=0)break;let d=n.subarray(0,o);s.push(d),r+=o;for(let e=0;e<d.length;e++)10===d[e]&&i++}return Buffer.concat(s).toString("utf-8")}finally{null!==a&&t.default.closeSync(a)}}(e,0,0),n=t.default.statSync(e),o=i.split("\n").filter(e=>e.trim().length>0);if(0===o.length)return null;let d="",l="",p="",c="",u=0;for(let e=0;e<o.length;e++){let t;try{t=JSON.parse(o[e])}catch{continue}if(0===e||!d&&!l&&!p){let e=t.payload,s=t.item;d=s?.id||e?.id||t.id||t.session_id||"",l=s?.cwd||e?.cwd||t.cwd||"",p=s?.timestamp||e?.timestamp||t.timestamp||s?.created_at||e?.created_at||t.created_at||t.created||""}if(function(e){let t=e.payload,s=t?.type??e.type;return!!s&&new Set(["user_message","UserMessage","assistant_message","AssistantMessage","message","response","tool_call","ToolCall","tool_result","ToolResult"]).has(s)}(t)&&u++,!c){let e=function(e){for(let t of[e.payload,e]){if(!t||"object"!=typeof t)continue;let e=t.type;if("user_message"===e||"UserMessage"===e){if("string"==typeof t.text)return t.text;if("string"==typeof t.content)return t.content;let e=t.message;if(e&&"string"==typeof e.content)return e.content}}return null}(t);e&&(c=e.slice(0,500))}}if(d||(d=(a=(r=s.replace(/\.jsonl$/,"")).match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/i))?a[1]:r.replace(/^rollout-/,"")),!p){let e=s.match(/^rollout-(\d+)/);if(e){let t=parseInt(e[1],10),s=new Date(t>1e12?t:1e3*t);isNaN(s.getTime())||(p=s.toISOString())}}return p||(p=n.mtime.toISOString()),{id:d,cwd:l,timestamp:p,firstPrompt:c,messageCount:u,modified:n.mtime.toISOString()}}catch{return null}}(e,s);r&&a.push(r)}return a.sort((e,t)=>e.timestamp&&t.timestamp?t.timestamp.localeCompare(e.timestamp):t.modified.localeCompare(e.modified)),a}function c(e){try{return t.default.readdirSync(e)}catch{return[]}}function u(e){try{return t.default.statSync(e).isDirectory()}catch{return!1}}function f(e){if("string"==typeof e)return e;if(e&&"object"==typeof e){let t;if(Array.isArray(e)?t=e:"parts"in e&&Array.isArray(e.parts)&&(t=e.parts),t){let e=[];for(let s of t)if(s&&"object"==typeof s&&"text"in s){let t=s.text;"string"==typeof t&&e.push(t)}return e.join("\n")}}return""}async function m(e,s=0,r=50){try{let a=t.default.readFileSync(e,"utf-8"),i=JSON.parse(a),n=(Array.isArray(i.messages)?i.messages:[]).filter(e=>e&&"object"==typeof e&&("user"===e.type||"gemini"===e.type||"model"===e.type||"assistant"===e.type)).map(e=>{let t=f(e.content),s=e.type||e.role;return{type:"user"===s?"user":"assistant",timestamp:e.timestamp||"",message:{content:"user"===s?t:[{type:"text",text:t}],model:e.model||i.model||""},thoughts:e.thoughts||[],toolCalls:e.toolCalls||[]}});return{messages:n.slice(s,s+r),total:n.length,hasMore:n.length>s+r}}catch(t){return console.error(`Failed to read Gemini messages from ${e}:`,t),{messages:[],total:0,hasMore:!1}}}function g(e,r){let a=function(e){let s=new Map;try{if(!t.default.existsSync(e))return s;let r=t.default.readFileSync(e,"utf-8"),a=JSON.parse(r);if("object"!=typeof a||null===a)return s;for(let[e,t]of Object.entries(a))if(t&&"object"==typeof t&&"id"in t){let r=t.id;"string"==typeof r&&s.set(r,e)}}catch{}return s}(r),i=[];for(let r of c(e)){let n=s.default.join(e,r);if(!u(n))continue;let o=s.default.join(n,"chats");if(u(o))for(let e of c(o)){if(!e.startsWith("session-")||!e.endsWith(".json"))continue;let n=function(e,r,a){try{let i=t.default.readFileSync(e,"utf-8"),n=JSON.parse(i);if("object"!=typeof n||null===n)return null;let o=n.sessionId||s.default.basename(e,".json"),d=n.startTime||"",l=n.lastUpdated||"",p=n.summary||"",c=Array.isArray(n.messages)?n.messages:[],u=0,m="";for(let e of c){if(!e||"object"!=typeof e)continue;let t=e.type;if(("user"===t||"gemini"===t||"model"===t||"assistant"===t)&&u++,"user"===t&&!m){let t=e.content,s=f(t);s&&(m=s.trim().slice(0,200))}}let g=a.get(r)||"";return{sessionId:o,projectSlug:r,projectPath:g,startTime:d,lastUpdated:l,firstPrompt:m,summary:p,messageCount:u,fullPath:e}}catch{return null}}(s.default.join(o,e),r,a);n&&i.push(n)}}return i}e.s(["extractAllText",()=>d,"parseSessionIndex",()=>n,"readMessages",()=>o,"scanJSONLMetadata",()=>l],321150),e.s(["readGeminiMessages",()=>m,"scanGeminiSessions",()=>g],617730);var E=e.i(254799);let h="#### ";var _=e.i(507304);function S(e){(0,_.getDb)().prepare(`
1
+ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"))},460569,321150,617730,550837,e=>{"use strict";var t=e.i(522734),s=e.i(814747),r=e.i(798003),a=e.i(79832),o=e.i(319668);function i(e){try{let s=t.default.readFileSync(e,"utf-8");return JSON.parse(s)}catch{return null}}async function n(e,s=0,r=50){return new Promise((a,i)=>{let n=[],d=0,p=0;if(!t.default.existsSync(e))return void a({messages:[],total:0,hasMore:!1});let l=t.default.createReadStream(e,{encoding:"utf-8"}),c=o.default.createInterface({input:l,crlfDelay:1/0});c.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);("user"===t.type||"assistant"===t.type||"system"===t.type)&&(d>=s&&p<r&&(n.push(t),p++),d++)}catch{}}),c.on("close",()=>{a({messages:n,total:d,hasMore:d>s+r})}),c.on("error",i)})}async function d(e){return new Promise(s=>{let r=[];if(!t.default.existsSync(e))return void s("");let a=t.default.createReadStream(e,{encoding:"utf-8"}),i=o.default.createInterface({input:a,crlfDelay:1/0});i.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);if("user"===t.type||"assistant"===t.type){let e=function(e){if("user"===e.type&&"message"in e){let t=e.message.content;return"string"==typeof t?t:""}if("assistant"===e.type&&"message"in e){let t=e.message.content;return Array.isArray(t)?t.filter(e=>"text"===e.type&&e.text).map(e=>e.text).join("\n"):""}return""}(t);e&&r.push(e)}}catch{}}),i.on("close",()=>{s(r.join("\n").slice(0,1e5))})})}async function p(e){return new Promise(s=>{let r="",a=0,i="",n="",d="",p="",l="";if(!t.default.existsSync(e))return void s(null);let c=t.default.createReadStream(e,{encoding:"utf-8"}),u=o.default.createInterface({input:c,crlfDelay:1/0});u.on("line",e=>{if(e.trim())try{let t=JSON.parse(e);if(("user"===t.type||"assistant"===t.type)&&(a++,t.timestamp&&(i||(i=t.timestamp),n=t.timestamp)),"user"===t.type&&!r){let e=t.message?.content;r="string"==typeof e?e.slice(0,200):"",d=t.gitBranch||"",p=t.cwd||""}"assistant"!==t.type||l||(l=t.message?.model||"")}catch{}}),u.on("close",()=>{s({firstPrompt:r,messageCount:a,created:i,modified:n,gitBranch:d,projectPath:p,model:l})})})}function l(e){try{return t.default.readdirSync(e)}catch{return[]}}function c(e){try{return t.default.statSync(e).isDirectory()}catch{return!1}}function u(e){if("string"==typeof e)return e;if(e&&"object"==typeof e){let t;if(Array.isArray(e)?t=e:"parts"in e&&Array.isArray(e.parts)&&(t=e.parts),t){let e=[];for(let s of t)if(s&&"object"==typeof s&&"text"in s){let t=s.text;"string"==typeof t&&e.push(t)}return e.join("\n")}}return""}async function f(e,s=0,r=50){try{let a=t.default.readFileSync(e,"utf-8"),o=JSON.parse(a),i=(Array.isArray(o.messages)?o.messages:[]).filter(e=>e&&"object"==typeof e&&("user"===e.type||"gemini"===e.type||"model"===e.type||"assistant"===e.type)).map(e=>{let t=u(e.content),s=e.type||e.role;return{type:"user"===s?"user":"assistant",timestamp:e.timestamp||"",message:{content:"user"===s?t:[{type:"text",text:t}],model:e.model||o.model||""},thoughts:e.thoughts||[],toolCalls:e.toolCalls||[]}});return{messages:i.slice(s,s+r),total:i.length,hasMore:i.length>s+r}}catch(t){return console.error(`Failed to read Gemini messages from ${e}:`,t),{messages:[],total:0,hasMore:!1}}}function m(e,r){let a=function(e){let s=new Map;try{if(!t.default.existsSync(e))return s;let r=t.default.readFileSync(e,"utf-8"),a=JSON.parse(r);if("object"!=typeof a||null===a)return s;for(let[e,t]of Object.entries(a))if(t&&"object"==typeof t&&"id"in t){let r=t.id;"string"==typeof r&&s.set(r,e)}}catch{}return s}(r),o=[];for(let r of l(e)){let i=s.default.join(e,r);if(!c(i))continue;let n=s.default.join(i,"chats");if(c(n))for(let e of l(n)){if(!e.startsWith("session-")||!e.endsWith(".json"))continue;let i=function(e,r,a){try{let o=t.default.readFileSync(e,"utf-8"),i=JSON.parse(o);if("object"!=typeof i||null===i)return null;let n=i.sessionId||s.default.basename(e,".json"),d=i.startTime||"",p=i.lastUpdated||"",l=i.summary||"",c=Array.isArray(i.messages)?i.messages:[],f=0,m="";for(let e of c){if(!e||"object"!=typeof e)continue;let t=e.type;if(("user"===t||"gemini"===t||"model"===t||"assistant"===t)&&f++,"user"===t&&!m){let t=e.content,s=u(t);s&&(m=s.trim().slice(0,200))}}let E=a.get(r)||"";return{sessionId:n,projectSlug:r,projectPath:E,startTime:d,lastUpdated:p,firstPrompt:m,summary:l,messageCount:f,fullPath:e}}catch{return null}}(s.default.join(n,e),r,a);i&&o.push(i)}}return o}e.s(["extractAllText",()=>d,"parseSessionIndex",()=>i,"readMessages",()=>n,"scanJSONLMetadata",()=>p],321150),e.s(["readGeminiMessages",()=>f,"scanGeminiSessions",()=>m],617730);var E=e.i(254799);let g="#### ";var _=e.i(507304);function h(e){(0,_.getDb)().prepare(`
2
2
  INSERT INTO projects (id, name, path, claude_path, agent_path, agent_type)
3
3
  VALUES (?, ?, ?, ?, ?, ?)
4
4
  ON CONFLICT(id) DO UPDATE SET name=excluded.name, path=excluded.path, claude_path=excluded.claude_path, agent_path=excluded.agent_path, agent_type=excluded.agent_type
5
- `).run(e.id,e.name,e.path,e.claudePath,e.claudePath,e.agentType||"claude")}function y(){return(0,_.getDb)().prepare(`
5
+ `).run(e.id,e.name,e.path,e.claudePath,e.claudePath,e.agentType||"claude")}function S(){return(0,_.getDb)().prepare(`
6
6
  SELECT p.id, p.name, p.path, p.claude_path as claudePath,
7
7
  p.agent_type as agentType,
8
8
  COUNT(s.id) as sessionCount,
@@ -11,7 +11,7 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
11
11
  LEFT JOIN sessions s ON s.project_id = p.id
12
12
  GROUP BY p.id
13
13
  ORDER BY lastActivity DESC
14
- `).all()}function T(e){(0,_.getDb)().prepare(`
14
+ `).all()}function w(e){(0,_.getDb)().prepare(`
15
15
  INSERT INTO sessions (id, session_id, project_id, first_prompt, summary, message_count, created, modified, git_branch, project_path, full_path, agent_type)
16
16
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
17
17
  ON CONFLICT(id) DO UPDATE SET
@@ -22,7 +22,7 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
22
22
  git_branch = CASE WHEN excluded.git_branch != '' THEN excluded.git_branch ELSE sessions.git_branch END,
23
23
  full_path = CASE WHEN excluded.full_path != '' THEN excluded.full_path ELSE sessions.full_path END,
24
24
  agent_type=excluded.agent_type
25
- `).run(e.id,e.sessionId,e.projectId,e.firstPrompt,e.summary,e.messageCount,e.created,e.modified,e.gitBranch,e.projectPath,e.fullPath,e.agentType||"claude")}function w(e={}){let t=(0,_.getDb)(),{projectId:s,projectPath:r,starred:a,tagId:i,search:n,sortBy:o="modified",sortDir:d="DESC",offset:l=0,limit:p=50}=e,c=[],u=[];if(s&&(c.push("s.project_id = ?"),u.push(s)),r&&(c.push("s.project_path = ?"),u.push(r)),void 0!==a&&(c.push("s.starred = ?"),u.push(+!!a)),i&&(c.push("EXISTS (SELECT 1 FROM session_tags st WHERE st.session_id = s.id AND st.tag_id = ?)"),u.push(i)),n){c.push("(s.first_prompt LIKE ? OR s.summary LIKE ? OR s.custom_name LIKE ?)");let e=`%${n}%`;u.push(e,e,e)}e.agentType&&(c.push("s.agent_type = ?"),u.push(e.agentType));let f=c.length>0?`WHERE ${c.join(" AND ")}`:"",m=t.prepare(`SELECT COUNT(*) as total FROM sessions s ${f}`).get(...u),g=t.prepare(`
25
+ `).run(e.id,e.sessionId,e.projectId,e.firstPrompt,e.summary,e.messageCount,e.created,e.modified,e.gitBranch,e.projectPath,e.fullPath,e.agentType||"claude")}function T(e={}){let t=(0,_.getDb)(),{projectId:s,projectPath:r,starred:a,tagId:o,search:i,sortBy:n="modified",sortDir:d="DESC",offset:p=0,limit:l=50}=e,c=[],u=[];if(s&&(c.push("s.project_id = ?"),u.push(s)),r&&(c.push("s.project_path = ?"),u.push(r)),void 0!==a&&(c.push("s.starred = ?"),u.push(+!!a)),o&&(c.push("EXISTS (SELECT 1 FROM session_tags st WHERE st.session_id = s.id AND st.tag_id = ?)"),u.push(o)),i){c.push("(s.first_prompt LIKE ? OR s.summary LIKE ? OR s.custom_name LIKE ?)");let e=`%${i}%`;u.push(e,e,e)}e.agentType&&(c.push("s.agent_type = ?"),u.push(e.agentType));let f=c.length>0?`WHERE ${c.join(" AND ")}`:"",m=t.prepare(`SELECT COUNT(*) as total FROM sessions s ${f}`).get(...u),E=t.prepare(`
26
26
  SELECT s.id, s.session_id as sessionId, s.project_id as projectId,
27
27
  p.name as projectName, s.first_prompt as firstPrompt,
28
28
  s.summary, s.message_count as messageCount,
@@ -33,9 +33,9 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
33
33
  FROM sessions s
34
34
  LEFT JOIN projects p ON p.id = s.project_id
35
35
  ${f}
36
- ORDER BY ${{created:"s.created",modified:"s.modified",messages:"s.message_count",name:"COALESCE(s.custom_name, s.summary, s.first_prompt)"}[o]||"s.modified"} ${"ASC"===d?"ASC":"DESC"}
36
+ ORDER BY ${{created:"s.created",modified:"s.modified",messages:"s.message_count",name:"COALESCE(s.custom_name, s.summary, s.first_prompt)"}[n]||"s.modified"} ${"ASC"===d?"ASC":"DESC"}
37
37
  LIMIT ? OFFSET ?
38
- `).all(...u,p,l),E=t.prepare(`
38
+ `).all(...u,l,p),g=t.prepare(`
39
39
  SELECT t.name FROM tags t
40
40
  JOIN session_tags st ON st.tag_id = t.id
41
41
  WHERE st.session_id = ?
@@ -43,7 +43,7 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
43
43
  SELECT w.id, w.name, w.color FROM workspaces w
44
44
  JOIN workspace_sessions ws ON ws.workspace_id = w.id
45
45
  WHERE ws.session_id = ?
46
- `);for(let e of g){let t=E.all(e.id);e.tags=t.map(e=>e.name),e.workspaces=h.all(e.id),e.starred=!!e.starred}return{sessions:g,total:m.total}}function O(e){let t=(0,_.getDb)(),s=t.prepare(`
46
+ `);for(let e of E){let t=g.all(e.id);e.tags=t.map(e=>e.name),e.workspaces=h.all(e.id),e.starred=!!e.starred}return{sessions:E,total:m.total}}function y(e){let t=(0,_.getDb)(),s=t.prepare(`
47
47
  SELECT s.id, s.session_id as sessionId, s.project_id as projectId,
48
48
  p.name as projectName, s.first_prompt as firstPrompt,
49
49
  s.summary, s.message_count as messageCount,
@@ -58,12 +58,12 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
58
58
  SELECT t.name FROM tags t
59
59
  JOIN session_tags st ON st.tag_id = t.id
60
60
  WHERE st.session_id = ?
61
- `).all(s.id);return s.tags=r.map(e=>e.name),s.starred=!!s.starred,s}function R(e){let t=(0,_.getDb)(),s=t.prepare("SELECT starred FROM sessions WHERE id = ? OR session_id = ?").get(e,e);if(!s)return!1;let r=+!s.starred;return t.prepare("UPDATE sessions SET starred = ? WHERE id = ? OR session_id = ?").run(r,e,e),!!r}function I(e,t){(0,_.getDb)().prepare("UPDATE sessions SET notes = ? WHERE id = ? OR session_id = ?").run(t,e,e)}function j(e,t,s){return{id:Number((0,_.getDb)().prepare("INSERT INTO workspaces (name, description, color) VALUES (?, ?, ?)").run(e,t||"",s||"#6366f1").lastInsertRowid),name:e,description:t||"",color:s||"#6366f1",created:new Date().toISOString()}}function N(e,t){(0,_.getDb)().prepare("INSERT OR IGNORE INTO workspace_sessions (workspace_id, session_id) VALUES (?, ?)").run(e,t)}function D(e,t){(0,_.getDb)().prepare("DELETE FROM workspace_sessions WHERE workspace_id = ? AND session_id = ?").run(e,t)}function C(e,t){return{id:Number((0,_.getDb)().prepare("INSERT OR IGNORE INTO tags (name, color) VALUES (?, ?)").run(e,t||"#8b5cf6").lastInsertRowid),name:e,color:t||"#8b5cf6"}}function P(){return(0,_.getDb)().prepare("SELECT * FROM tags ORDER BY name").all()}function b(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r||(r={id:Number(s.prepare("INSERT INTO tags (name) VALUES (?)").run(t).lastInsertRowid)}),s.prepare("INSERT OR IGNORE INTO session_tags (session_id, tag_id) VALUES (?, ?)").run(e,r.id)}function L(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r&&s.prepare("DELETE FROM session_tags WHERE session_id = ? AND tag_id = ?").run(e,r.id)}function W(e){let t=(0,_.getDb)();t.prepare("DELETE FROM session_tags WHERE tag_id = ?").run(e),t.prepare("DELETE FROM tags WHERE id = ?").run(e)}function k(e,t){(0,_.getDb)().prepare("UPDATE tags SET color = ? WHERE id = ?").run(t,e)}function A(e){return(0,_.getDb)().prepare(`
61
+ `).all(s.id);return s.tags=r.map(e=>e.name),s.starred=!!s.starred,s}function R(e){let t=(0,_.getDb)(),s=t.prepare("SELECT starred FROM sessions WHERE id = ? OR session_id = ?").get(e,e);if(!s)return!1;let r=+!s.starred;return t.prepare("UPDATE sessions SET starred = ? WHERE id = ? OR session_id = ?").run(r,e,e),!!r}function O(e,t){(0,_.getDb)().prepare("UPDATE sessions SET notes = ? WHERE id = ? OR session_id = ?").run(t,e,e)}function N(e,t,s){return{id:Number((0,_.getDb)().prepare("INSERT INTO workspaces (name, description, color) VALUES (?, ?, ?)").run(e,t||"",s||"#6366f1").lastInsertRowid),name:e,description:t||"",color:s||"#6366f1",created:new Date().toISOString()}}function I(e,t){(0,_.getDb)().prepare("INSERT OR IGNORE INTO workspace_sessions (workspace_id, session_id) VALUES (?, ?)").run(e,t)}function D(e,t){(0,_.getDb)().prepare("DELETE FROM workspace_sessions WHERE workspace_id = ? AND session_id = ?").run(e,t)}function j(e,t){return{id:Number((0,_.getDb)().prepare("INSERT OR IGNORE INTO tags (name, color) VALUES (?, ?)").run(e,t||"#8b5cf6").lastInsertRowid),name:e,color:t||"#8b5cf6"}}function C(){return(0,_.getDb)().prepare("SELECT * FROM tags ORDER BY name").all()}function P(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r||(r={id:Number(s.prepare("INSERT INTO tags (name) VALUES (?)").run(t).lastInsertRowid)}),s.prepare("INSERT OR IGNORE INTO session_tags (session_id, tag_id) VALUES (?, ?)").run(e,r.id)}function b(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r&&s.prepare("DELETE FROM session_tags WHERE session_id = ? AND tag_id = ?").run(e,r.id)}function k(e){let t=(0,_.getDb)();t.prepare("DELETE FROM session_tags WHERE tag_id = ?").run(e),t.prepare("DELETE FROM tags WHERE id = ?").run(e)}function L(e,t){(0,_.getDb)().prepare("UPDATE tags SET color = ? WHERE id = ?").run(t,e)}function W(e){return(0,_.getDb)().prepare(`
62
62
  SELECT t.id, t.name, t.color FROM tags t
63
63
  JOIN session_tags st ON st.tag_id = t.id
64
64
  WHERE st.session_id = ?
65
65
  ORDER BY t.name
66
- `).all(e)}function M(e,t){(0,_.getDb)().prepare("UPDATE sessions SET custom_name = ? WHERE id = ? OR session_id = ?").run(t||null,e,e)}function F(e,t){let s=(0,_.getDb)();void 0!==t.name&&s.prepare("UPDATE workspaces SET name = ? WHERE id = ?").run(t.name,e),void 0!==t.description&&s.prepare("UPDATE workspaces SET description = ? WHERE id = ?").run(t.description,e),void 0!==t.color&&s.prepare("UPDATE workspaces SET color = ? WHERE id = ?").run(t.color,e),void 0!==t.collaboration&&s.prepare("UPDATE workspaces SET collaboration = ? WHERE id = ?").run(+!!t.collaboration,e)}function H(e){let t=(0,_.getDb)(),s=t.prepare(`
66
+ `).all(e)}function A(e,t){(0,_.getDb)().prepare("UPDATE sessions SET custom_name = ? WHERE id = ? OR session_id = ?").run(t||null,e,e)}function M(e,t){let s=(0,_.getDb)();void 0!==t.name&&s.prepare("UPDATE workspaces SET name = ? WHERE id = ?").run(t.name,e),void 0!==t.description&&s.prepare("UPDATE workspaces SET description = ? WHERE id = ?").run(t.description,e),void 0!==t.color&&s.prepare("UPDATE workspaces SET color = ? WHERE id = ?").run(t.color,e),void 0!==t.collaboration&&s.prepare("UPDATE workspaces SET collaboration = ? WHERE id = ?").run(+!!t.collaboration,e)}function F(e){let t=(0,_.getDb)(),s=t.prepare(`
67
67
  SELECT w.id, w.name, w.color FROM workspaces w
68
68
  JOIN workspace_sessions ws ON ws.workspace_id = w.id
69
69
  WHERE ws.session_id = ?
@@ -71,7 +71,7 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
71
71
  SELECT DISTINCT w.id, w.name, w.color FROM workspaces w
72
72
  JOIN panes p ON p.workspace_id = w.id
73
73
  WHERE p.claude_session_id = ?
74
- `).all(e)}function x(e){let t=(0,_.getDb)(),s=t.prepare(`
74
+ `).all(e)}function H(e){let t=(0,_.getDb)(),s=t.prepare(`
75
75
  SELECT s.id, s.session_id as sessionId, s.project_id as projectId,
76
76
  p.name as projectName, s.first_prompt as firstPrompt,
77
77
  s.summary, s.message_count as messageCount,
@@ -84,26 +84,26 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
84
84
  LEFT JOIN projects p ON p.id = s.project_id
85
85
  WHERE ws.workspace_id = ?
86
86
  ORDER BY s.modified DESC
87
- `).all(e),r=t.prepare("SELECT t.name FROM tags t JOIN session_tags st ON st.tag_id = t.id WHERE st.session_id = ?");for(let e of s)e.tags=r.all(e.id).map(e=>e.name),e.starred=!!e.starred;return s}function v(e){return(0,_.getDb)().prepare(`
87
+ `).all(e),r=t.prepare("SELECT t.name FROM tags t JOIN session_tags st ON st.tag_id = t.id WHERE st.session_id = ?");for(let e of s)e.tags=r.all(e.id).map(e=>e.name),e.starred=!!e.starred;return s}function x(e){return(0,_.getDb)().prepare(`
88
88
  SELECT w.id, w.name, w.description, w.color, w.created, w.collaboration
89
89
  FROM workspaces w
90
90
  JOIN workspace_sessions ws ON ws.workspace_id = w.id
91
91
  WHERE ws.session_id = ?
92
- `).all(e)}function U(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r||(r={id:Number(s.prepare("INSERT INTO tags (name) VALUES (?)").run(t).lastInsertRowid)});let a=s.prepare("INSERT OR IGNORE INTO session_tags (session_id, tag_id) VALUES (?, ?)");s.transaction(()=>{for(let t of e)a.run(t,r.id)})()}function B(e,t){let s=(0,_.getDb)(),r=s.prepare("INSERT OR IGNORE INTO workspace_sessions (workspace_id, session_id) VALUES (?, ?)");s.transaction(()=>{for(let s of e)r.run(t,s)})()}function J(e,t){let s=(0,_.getDb)(),r=s.prepare("UPDATE sessions SET starred = ? WHERE id = ?");s.transaction(()=>{for(let s of e)r.run(+!!t,s)})()}function Y(e,t){let s=(0,_.getDb)();s.prepare("DELETE FROM sessions_fts WHERE session_id = ?").run(e),s.prepare("INSERT INTO sessions_fts (session_id, content) VALUES (?, ?)").run(e,t)}function $(e,t={}){let s=(0,_.getDb)(),{projectId:r,limit:a=20,offset:i=0}=t,n=`
92
+ `).all(e)}function v(e,t){let s=(0,_.getDb)(),r=s.prepare("SELECT id FROM tags WHERE name = ?").get(t);r||(r={id:Number(s.prepare("INSERT INTO tags (name) VALUES (?)").run(t).lastInsertRowid)});let a=s.prepare("INSERT OR IGNORE INTO session_tags (session_id, tag_id) VALUES (?, ?)");s.transaction(()=>{for(let t of e)a.run(t,r.id)})()}function U(e,t){let s=(0,_.getDb)(),r=s.prepare("INSERT OR IGNORE INTO workspace_sessions (workspace_id, session_id) VALUES (?, ?)");s.transaction(()=>{for(let s of e)r.run(t,s)})()}function B(e,t){let s=(0,_.getDb)(),r=s.prepare("UPDATE sessions SET starred = ? WHERE id = ?");s.transaction(()=>{for(let s of e)r.run(+!!t,s)})()}function J(e,t){let s=(0,_.getDb)();s.prepare("DELETE FROM sessions_fts WHERE session_id = ?").run(e),s.prepare("INSERT INTO sessions_fts (session_id, content) VALUES (?, ?)").run(e,t)}function V(e,t={}){let s=(0,_.getDb)(),{projectId:r,limit:a=20,offset:o=0}=t,i=`
93
93
  SELECT f.session_id as sessionId, snippet(sessions_fts, 1, '<mark>', '</mark>', '...', 40) as snippet,
94
94
  rank, p.name as projectName, s.first_prompt as firstPrompt, s.created
95
95
  FROM sessions_fts f
96
96
  JOIN sessions s ON s.id = f.session_id OR s.session_id = f.session_id
97
97
  LEFT JOIN projects p ON p.id = s.project_id
98
98
  WHERE sessions_fts MATCH ?
99
- `,o=[e];r&&(n+=" AND s.project_id = ?",o.push(r)),n+=" ORDER BY rank LIMIT ? OFFSET ?",o.push(a,i);try{return s.prepare(n).all(...o)}catch{return s.prepare(`
99
+ `,n=[e];r&&(i+=" AND s.project_id = ?",n.push(r)),i+=" ORDER BY rank LIMIT ? OFFSET ?",n.push(a,o);try{return s.prepare(i).all(...n)}catch{return s.prepare(`
100
100
  SELECT s.id as sessionId, substr(s.first_prompt, 1, 200) as snippet,
101
101
  0 as rank, p.name as projectName, s.first_prompt as firstPrompt, s.created
102
102
  FROM sessions s
103
103
  LEFT JOIN projects p ON p.id = s.project_id
104
104
  WHERE s.first_prompt LIKE ? OR s.summary LIKE ?
105
105
  LIMIT ? OFFSET ?
106
- `).all(`%${e}%`,`%${e}%`,a,i)}}let V=`
106
+ `).all(`%${e}%`,`%${e}%`,a,o)}}let Y=`
107
107
  id, title, color, cwd, claude_session_id as claudeSessionId,
108
108
  agent_type as agentType, custom_command as customCommand,
109
109
  grid_col as gridCol, grid_row as gridRow, sort_order as sortOrder,
@@ -114,27 +114,16 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
114
114
  is_collaborating as isCollaborating,
115
115
  diff_baseline_sha as diffBaselineSha,
116
116
  custom_model_id as customModelId
117
- `;function G(t,i,n){if(!i||!n||"shell"===n)return null;try{let o=s.default.resolve(i),d=t.prepare(`
118
- SELECT s.session_id as sessionId
119
- FROM sessions s
120
- LEFT JOIN projects p ON p.id = s.project_id
121
- WHERE s.agent_type = ?
122
- AND (
123
- s.project_path = ? OR s.project_path = ?
124
- OR p.path = ? OR p.path = ?
125
- )
126
- ORDER BY s.modified DESC
127
- LIMIT 1
128
- `).get(n,i,o,i,o);if(d?.sessionId)return d.sessionId;if("codex"===n){let e=(0,r.getUserPaths)((0,a.getCurrentUser)()),t=p(e.codexSessionsDir).find(e=>{try{return s.default.resolve(e.cwd)===o}catch{return!1}});if(t?.id)return t.id}if("pi"===n){let t=e.r(522734);for(let r of[s.default.join(o,".pi","sessions"),s.default.join(e.r(446786).homedir(),".pi","agent","sessions")])try{if(!t.existsSync(r))continue;let e=t.readdirSync(r).filter(e=>e.endsWith(".jsonl")).sort((e,a)=>{let i=t.statSync(s.default.join(r,e));return t.statSync(s.default.join(r,a)).mtimeMs-i.mtimeMs});if(e.length>0)return s.default.basename(e[0],".jsonl")}catch{}}return null}catch{return null}}function X(e){let t={...e,isPopout:!!e.isPopout,isCollaborating:!!e.isCollaborating};if(!t.claudeSessionId||"new"===t.claudeSessionId){let e=(0,_.getDb)(),s=G(e,t.cwd,t.agentType);if(s){t.claudeSessionId=s;try{e.prepare("UPDATE panes SET claude_session_id = ? WHERE id = ?").run(s,t.id)}catch{}}}return t}function K(e){return(0,_.getDb)().prepare(`SELECT ${V} FROM panes WHERE workspace_id = ? ORDER BY sort_order, created`).all(e).map(X)}function z(){let e=(0,_.getDb)().prepare("SELECT id FROM workspaces WHERE is_active = 1").get();return e?K(e.id):[]}function Z(t){let s=(0,_.getDb)(),r=s.prepare("SELECT MAX(sort_order) as m FROM panes").get(),a=t.sortOrder??(r.m??-1)+1,i=t.workspaceId;if(void 0===i){let e=s.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();i=e?.id}let n=null;try{let{execFileSync:s}=e.r(233405);n=s("git",["rev-parse","HEAD"],{cwd:t.cwd,encoding:"utf-8",timeout:3e3}).trim()}catch{}let o=t.claudeSessionId||null;return o&&"new"!==o||(o=G(s,t.cwd,t.agentType||"shell")),s.prepare(`
117
+ `;function $(e){return{...e,isPopout:!!e.isPopout,isCollaborating:!!e.isCollaborating}}function G(e){return(0,_.getDb)().prepare(`SELECT ${Y} FROM panes WHERE workspace_id = ? ORDER BY sort_order, created`).all(e).map($)}function X(){let e=(0,_.getDb)().prepare("SELECT id FROM workspaces WHERE is_active = 1").get();return e?G(e.id):[]}function K(t){let s=(0,_.getDb)(),r=s.prepare("SELECT MAX(sort_order) as m FROM panes").get(),a=t.sortOrder??(r.m??-1)+1,o=t.workspaceId;if(void 0===o){let e=s.prepare("SELECT id FROM workspaces WHERE is_active = 1").get();o=e?.id}let i=null;try{let{execFileSync:s}=e.r(233405);i=s("git",["rev-parse","HEAD"],{cwd:t.cwd,encoding:"utf-8",timeout:3e3}).trim()}catch{}let n=t.claudeSessionId&&"new"!==t.claudeSessionId?t.claudeSessionId:null;return s.prepare(`
129
118
  INSERT INTO panes (id, title, color, cwd, claude_session_id, agent_type, custom_command, sort_order, workspace_id, node_id, is_collaborating, diff_baseline_sha, custom_model_id)
130
119
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
131
- `).run(t.id,t.title,t.color,t.cwd,o,t.agentType||"shell",t.customCommand||null,a,i||null,t.nodeId||null,+!!t.isCollaborating,n,t.customModelId||null),q(t.id)}function q(e){let t=(0,_.getDb)().prepare(`SELECT ${V} FROM panes WHERE id = ?`).get(e);return t?X(t):null}function Q(e,t){let s=(0,_.getDb)(),r=[],a=[];void 0!==t.title&&(r.push("title = ?"),a.push(t.title)),void 0!==t.color&&(r.push("color = ?"),a.push(t.color)),void 0!==t.cwd&&(r.push("cwd = ?"),a.push(t.cwd)),void 0!==t.claudeSessionId&&(r.push("claude_session_id = ?"),a.push(t.claudeSessionId)),void 0!==t.agentType&&(r.push("agent_type = ?"),a.push(t.agentType)),void 0!==t.customCommand&&(r.push("custom_command = ?"),a.push(t.customCommand)),void 0!==t.gridCol&&(r.push("grid_col = ?"),a.push(t.gridCol)),void 0!==t.gridRow&&(r.push("grid_row = ?"),a.push(t.gridRow)),void 0!==t.sortOrder&&(r.push("sort_order = ?"),a.push(t.sortOrder)),void 0!==t.workspaceId&&(r.push("workspace_id = ?"),a.push(t.workspaceId)),void 0!==t.isPopout&&(r.push("is_popout = ?"),a.push(+!!t.isPopout)),void 0!==t.winX&&(r.push("win_x = ?"),a.push(t.winX)),void 0!==t.winY&&(r.push("win_y = ?"),a.push(t.winY)),void 0!==t.winWidth&&(r.push("win_width = ?"),a.push(t.winWidth)),void 0!==t.winHeight&&(r.push("win_height = ?"),a.push(t.winHeight)),void 0!==t.nodeId&&(r.push("node_id = ?"),a.push(t.nodeId)),void 0!==t.isCollaborating&&(r.push("is_collaborating = ?"),a.push(+!!t.isCollaborating)),void 0!==t.diffBaselineSha&&(r.push("diff_baseline_sha = ?"),a.push(t.diffBaselineSha)),void 0!==t.customModelId&&(r.push("custom_model_id = ?"),a.push(t.customModelId)),0!==r.length&&(a.push(e),s.prepare(`UPDATE panes SET ${r.join(", ")} WHERE id = ?`).run(...a))}function ee(e){(0,_.getDb)().prepare("DELETE FROM panes WHERE id = ?").run(e)}function et(){return(0,_.getDb)().prepare("SELECT id, name, description, color, created, is_active as isActive, collaboration FROM workspaces WHERE is_active = 1").get()}function es(e){let t=(0,_.getDb)();t.prepare("UPDATE workspaces SET is_active = 0").run(),t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(e)}function er(e,t,s){let r=(0,_.getDb)(),a=r.prepare("SELECT * FROM workspaces WHERE id = ?").get(e),i=Number(r.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES (?, ?, ?, 0)").run(t,a?.description||"",s||a?.color||"#6366f1").lastInsertRowid),n=r.prepare("SELECT * FROM panes WHERE workspace_id = ?").all(e),o=r.prepare(`
120
+ `).run(t.id,t.title,t.color,t.cwd,n,t.agentType||"shell",t.customCommand||null,a,o||null,t.nodeId||null,+!!t.isCollaborating,i,t.customModelId||null),z(t.id)}function z(e){let t=(0,_.getDb)().prepare(`SELECT ${Y} FROM panes WHERE id = ?`).get(e);return t?$(t):null}function Z(e,t){let s=(0,_.getDb)(),r=[],a=[];void 0!==t.title&&(r.push("title = ?"),a.push(t.title)),void 0!==t.color&&(r.push("color = ?"),a.push(t.color)),void 0!==t.cwd&&(r.push("cwd = ?"),a.push(t.cwd)),void 0!==t.claudeSessionId&&(r.push("claude_session_id = ?"),a.push(t.claudeSessionId)),void 0!==t.agentType&&(r.push("agent_type = ?"),a.push(t.agentType)),void 0!==t.customCommand&&(r.push("custom_command = ?"),a.push(t.customCommand)),void 0!==t.gridCol&&(r.push("grid_col = ?"),a.push(t.gridCol)),void 0!==t.gridRow&&(r.push("grid_row = ?"),a.push(t.gridRow)),void 0!==t.sortOrder&&(r.push("sort_order = ?"),a.push(t.sortOrder)),void 0!==t.workspaceId&&(r.push("workspace_id = ?"),a.push(t.workspaceId)),void 0!==t.isPopout&&(r.push("is_popout = ?"),a.push(+!!t.isPopout)),void 0!==t.winX&&(r.push("win_x = ?"),a.push(t.winX)),void 0!==t.winY&&(r.push("win_y = ?"),a.push(t.winY)),void 0!==t.winWidth&&(r.push("win_width = ?"),a.push(t.winWidth)),void 0!==t.winHeight&&(r.push("win_height = ?"),a.push(t.winHeight)),void 0!==t.nodeId&&(r.push("node_id = ?"),a.push(t.nodeId)),void 0!==t.isCollaborating&&(r.push("is_collaborating = ?"),a.push(+!!t.isCollaborating)),void 0!==t.diffBaselineSha&&(r.push("diff_baseline_sha = ?"),a.push(t.diffBaselineSha)),void 0!==t.customModelId&&(r.push("custom_model_id = ?"),a.push(t.customModelId)),0!==r.length&&(a.push(e),s.prepare(`UPDATE panes SET ${r.join(", ")} WHERE id = ?`).run(...a))}function q(e){(0,_.getDb)().prepare("DELETE FROM panes WHERE id = ?").run(e)}function Q(){return(0,_.getDb)().prepare("SELECT id, name, description, color, created, is_active as isActive, collaboration FROM workspaces WHERE is_active = 1").get()}function ee(e){let t=(0,_.getDb)();t.prepare("UPDATE workspaces SET is_active = 0").run(),t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(e)}function et(e,t,s){let r=(0,_.getDb)(),a=r.prepare("SELECT * FROM workspaces WHERE id = ?").get(e),o=Number(r.prepare("INSERT INTO workspaces (name, description, color, is_active) VALUES (?, ?, ?, 0)").run(t,a?.description||"",s||a?.color||"#6366f1").lastInsertRowid),i=r.prepare("SELECT * FROM panes WHERE workspace_id = ?").all(e),n=r.prepare(`
132
121
  INSERT INTO panes (id, title, color, cwd, claude_session_id, agent_type, custom_command, grid_col, grid_row, sort_order, shell, workspace_id, is_popout, win_x, win_y, win_width, win_height)
133
122
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
134
- `);return r.transaction(()=>{for(let e of n){let t=E.default.randomUUID();o.run(t,e.title,e.color,e.cwd,e.claude_session_id,e.agent_type||"shell",e.custom_command||null,e.grid_col,e.grid_row,e.sort_order,e.shell,i,0,e.win_x,e.win_y,e.win_width,e.win_height)}})(),{workspace:{id:i,name:t,description:a?.description||"",color:s||a?.color||"#6366f1",created:new Date().toISOString()},panes:K(i)}}function ea(e){let t=(0,_.getDb)();if(t.prepare("DELETE FROM panes WHERE workspace_id = ?").run(e),t.prepare("DELETE FROM workspaces WHERE id = ?").run(e),!t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()){let e=t.prepare("SELECT id FROM workspaces ORDER BY id LIMIT 1").get();e&&t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(e.id)}}function ei(){let e=(0,_.getDb)(),t=e.prepare(`
123
+ `);return r.transaction(()=>{for(let e of i){let t=E.default.randomUUID();n.run(t,e.title,e.color,e.cwd,e.claude_session_id,e.agent_type||"shell",e.custom_command||null,e.grid_col,e.grid_row,e.sort_order,e.shell,o,0,e.win_x,e.win_y,e.win_width,e.win_height)}})(),{workspace:{id:o,name:t,description:a?.description||"",color:s||a?.color||"#6366f1",created:new Date().toISOString()},panes:G(o)}}function es(e){let t=(0,_.getDb)();if(t.prepare("DELETE FROM panes WHERE workspace_id = ?").run(e),t.prepare("DELETE FROM workspaces WHERE id = ?").run(e),!t.prepare("SELECT id FROM workspaces WHERE is_active = 1").get()){let e=t.prepare("SELECT id FROM workspaces ORDER BY id LIMIT 1").get();e&&t.prepare("UPDATE workspaces SET is_active = 1 WHERE id = ?").run(e.id)}}function er(){let e=(0,_.getDb)(),t=e.prepare(`
135
124
  SELECT COUNT(*) as totalSessions, COALESCE(SUM(message_count), 0) as totalMessages
136
125
  FROM sessions
137
- `).get(),s=e.prepare("SELECT COUNT(*) as count FROM projects").get();return{totalSessions:t.totalSessions,totalMessages:t.totalMessages,totalProjects:s.count}}function en(e=30){return(0,_.getDb)().prepare(`
126
+ `).get(),s=e.prepare("SELECT COUNT(*) as count FROM projects").get();return{totalSessions:t.totalSessions,totalMessages:t.totalMessages,totalProjects:s.count}}function ea(e=30){return(0,_.getDb)().prepare(`
138
127
  SELECT date(created) as date,
139
128
  COUNT(*) as sessionCount,
140
129
  COALESCE(SUM(message_count), 0) as messageCount,
@@ -143,19 +132,47 @@ module.exports=[319668,(e,t,s)=>{t.exports=e.x("readline",()=>require("readline"
143
132
  WHERE created >= date('now', ?)
144
133
  GROUP BY date(created)
145
134
  ORDER BY date(created)
146
- `).all(`-${e} days`)}async function eo(){let e=(0,a.getCurrentUser)(),i=(0,r.getUserPaths)(e),o=(0,_.getDb)(),d=0,l=0;return o.transaction(()=>{let a=function(e){if(!t.default.existsSync(e))return{projects:0,sessions:0};let r=t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()),a=0,i=0;for(let o of r){let r=s.default.join(e,o.name),d=o.name,l=function(e){let t=e.split("--");if(t.length<2)return e;let s=t.slice(1).join("/"),r=s.split("-");return"projects"===r[0]&&r.length>1?r.slice(1).join("-"):s}(o.name),p=function(e){let t=e.match(/^([A-Za-z])--(.*)/);return t?t[1]+":\\"+t[2].replace(/-/g,"\\"):e.startsWith("-")?"/"+e.substring(1).replace(/-/g,"/"):e}(o.name),c=s.default.join(r,"sessions-index.json");if(t.default.existsSync(c)){let e=n(c);if(e?.entries){let n=e.entries.find(e=>e.projectPath);n?.projectPath&&(p=n.projectPath,l=s.default.basename(n.projectPath)),S({id:d,name:l,path:p,claudePath:r,agentType:"claude"}),a++;let o=new Set;for(let t of e.entries)o.add(t.sessionId),T({id:t.sessionId,sessionId:t.sessionId,projectId:d,firstPrompt:t.firstPrompt?.slice(0,500)||"",summary:t.summary||"",messageCount:t.messageCount||0,created:t.created||"",modified:t.modified||"",gitBranch:t.gitBranch||"",projectPath:t.projectPath||"",fullPath:t.fullPath||"",agentType:"claude"}),i++;for(let e of t.default.readdirSync(r).filter(e=>e.endsWith(".jsonl")&&!e.startsWith(".")&&!o.has(e.replace(".jsonl","")))){let t=s.default.join(r,e),a=e.replace(".jsonl","");T({id:a,sessionId:a,projectId:d,firstPrompt:"",summary:"",messageCount:0,created:"",modified:"",gitBranch:"",projectPath:"",fullPath:t,agentType:"claude"}),i++}continue}}for(let e of(S({id:d,name:l,path:p,claudePath:r,agentType:"claude"}),a++,t.default.readdirSync(r).filter(e=>e.endsWith(".jsonl")&&!e.startsWith(".")))){let t=s.default.join(r,e),a=e.replace(".jsonl","");T({id:a,sessionId:a,projectId:d,firstPrompt:"",summary:"",messageCount:0,created:"",modified:"",gitBranch:"",projectPath:"",fullPath:t,agentType:"claude"}),i++}}return{projects:a,sessions:i}}(i.claudeProjectsDir);d+=a.projects,l+=a.sessions;let c=function(e){let t=p(e);if(0===t.length)return{projects:0,sessions:0};let r=new Map;for(let e of t){let t=e.cwd||"unknown";r.has(t)||r.set(t,[]),r.get(t).push(e)}let a=0,i=0;for(let[e,t]of r){let r="codex-"+e.replace(/[^a-zA-Z0-9]/g,"-").slice(0,80);for(let n of(S({id:r,name:"unknown"!==e?s.default.basename(e):"Codex (unknown)",path:e,claudePath:"",agentType:"codex"}),a++,t))T({id:n.id,sessionId:n.id,projectId:r,firstPrompt:n.firstPrompt||"",summary:"",messageCount:n.messageCount,created:n.timestamp||"",modified:n.modified||"",gitBranch:"",projectPath:e,fullPath:"",agentType:"codex"}),i++}return{projects:a,sessions:i}}(i.codexSessionsDir);d+=c.projects,l+=c.sessions;let u=function(e,t){let r=g(e,t);if(0===r.length)return{projects:0,sessions:0};let a=new Map;for(let e of r){let t=e.projectSlug||"unknown";a.has(t)||a.set(t,[]),a.get(t).push(e)}let i=0,n=0;for(let[e,t]of a){let r="gemini-"+e,a=t.find(e=>e.projectPath),o=a?.projectPath||"";for(let a of(S({id:r,name:o?s.default.basename(o):e,path:o,claudePath:"",agentType:"gemini"}),i++,t))T({id:a.sessionId,sessionId:a.sessionId,projectId:r,firstPrompt:a.firstPrompt||"",summary:a.summary||"",messageCount:a.messageCount,created:a.startTime||"",modified:a.lastUpdated||"",gitBranch:"",projectPath:a.projectPath||"",fullPath:a.fullPath||"",agentType:"gemini"}),n++}return{projects:i,sessions:n}}(i.geminiChatsBaseDir,i.geminiProjectsRegistry);d+=u.projects,l+=u.sessions;let f=(0,r.readConfig)(e),m=o.prepare("SELECT DISTINCT project_path FROM sessions WHERE project_path != '' AND project_path IS NOT NULL").all().map(e=>e.project_path),_=function(e){let r=function(e){let r=new Set,a=[];for(let i of e){let e=s.default.resolve(i);if(r.has(e))continue;r.add(e);let n=function(e){let r,a,i=s.default.join(e,".aider.chat.history.md");if(!t.default.existsSync(i))return null;try{r=t.default.readFileSync(i,"utf-8")}catch{return null}let n=0,o="";for(let e of r.split("\n"))e.startsWith(h)&&(n++,o||(o=e.slice(h.length).trim().slice(0,200)));if(0===n)return null;try{a=t.default.statSync(i)}catch{return null}return{projectPath:e,firstPrompt:o,messageCount:n,modified:a.mtime.toISOString(),created:(a.birthtime&&a.birthtime.getTime()>0?a.birthtime:a.ctime).toISOString()}}(e);n&&a.push(n)}return a}(e);if(0===r.length)return{projects:0,sessions:0};let a=0,i=0;for(let e of r){var n,o;let t=(n=e.projectPath,"aider-proj-"+E.default.createHash("sha256").update(n).digest("hex").slice(0,12)),r=(o=e.projectPath,"aider-"+E.default.createHash("sha256").update(o).digest("hex").slice(0,16));S({id:t,name:s.default.basename(e.projectPath),path:e.projectPath,claudePath:"",agentType:"aider"}),a++,T({id:r,sessionId:r,projectId:t,firstPrompt:e.firstPrompt||"",summary:"",messageCount:e.messageCount,created:e.created||"",modified:e.modified||"",gitBranch:"",projectPath:e.projectPath,fullPath:s.default.join(e.projectPath,".aider.chat.history.md"),agentType:"aider"}),i++}return{projects:a,sessions:i}}([...new Set([...f.devDirectories||[],...m])]);d+=_.projects,l+=_.sessions;let y=function(e){let r=function(e){if(!t.default.existsSync(e))return[];let r=[];for(let a of t.default.readdirSync(e).filter(e=>e.endsWith(".json")&&!e.startsWith("."))){let i=s.default.join(e,a);try{let e=t.default.readFileSync(i,"utf-8"),s=JSON.parse(e);s.id&&r.push({...s,fullPath:i})}catch{}}return r}(e);if(0===r.length)return{projects:0,sessions:0};let a=new Map;for(let e of r){let t=e.metadata?.cwd||"unknown";a.has(t)||a.set(t,[]),a.get(t).push(e)}let i=0,n=0;for(let[e,t]of a){let r="forge-"+("unknown"!==e?e.replace(/[^a-zA-Z0-9]/g,"-").slice(0,80):"unknown");for(let a of(S({id:r,name:"unknown"!==e?s.default.basename(e):"Forge (unknown)",path:"unknown"!==e?e:"",claudePath:"",agentType:"forge"}),i++,t)){let t=a.context?.messages?.find(e=>"user"===e.role),s="string"==typeof t?.content?t.content:"";T({id:a.id,sessionId:a.id,projectId:r,firstPrompt:s.slice(0,500),summary:a.title||"",messageCount:a.context?.messages?.length||0,created:a.metrics?.started_at||"",modified:a.metrics?.ended_at||"",gitBranch:"",projectPath:"unknown"!==e?e:"",fullPath:a.fullPath,agentType:"forge"}),n++}}return{projects:i,sessions:n}}(i.forgeConversationsDir);d+=y.projects,l+=y.sessions})(),{projects:d,sessions:l}}async function ed(){let e=(0,_.getDb)(),s=e.prepare(`
135
+ `).all(`-${e} days`)}function eo(e){return{id:e.id,workspaceId:e.workspace_id,text:e.text,completed:!!e.completed,sortOrder:e.sort_order,created:e.created,completedAt:e.completed_at}}function ei(e){return(0,_.getDb)().prepare(`
136
+ SELECT id, workspace_id, text, completed, sort_order, created, completed_at
137
+ FROM workspace_todos
138
+ WHERE workspace_id = ?
139
+ ORDER BY completed ASC,
140
+ CASE WHEN completed = 0 THEN sort_order END ASC,
141
+ completed_at DESC
142
+ `).all(e).map(eo)}function en(e,t){let s=(0,_.getDb)(),r=t.trim();if(!r)throw Error("todo text is required");let a=s.prepare(`
143
+ SELECT COALESCE(MAX(sort_order), -1) AS max_order
144
+ FROM workspace_todos
145
+ WHERE workspace_id = ? AND completed = 0
146
+ `).get(e),o=(a?.max_order??-1)+1,i=s.prepare(`
147
+ INSERT INTO workspace_todos (workspace_id, text, sort_order)
148
+ VALUES (?, ?, ?)
149
+ `).run(e,r,o);return eo(s.prepare(`
150
+ SELECT id, workspace_id, text, completed, sort_order, created, completed_at
151
+ FROM workspace_todos WHERE id = ?
152
+ `).get(Number(i.lastInsertRowid)))}function ed(e,t,s){let r=(0,_.getDb)();if(void 0!==s.text){let a=s.text.trim();if(!a)throw Error("todo text cannot be empty");r.prepare("UPDATE workspace_todos SET text = ? WHERE id = ? AND workspace_id = ?").run(a,t,e)}void 0!==s.completed&&(s.completed?r.prepare(`
153
+ UPDATE workspace_todos
154
+ SET completed = 1, completed_at = datetime('now')
155
+ WHERE id = ? AND workspace_id = ?
156
+ `).run(t,e):r.prepare(`
157
+ UPDATE workspace_todos
158
+ SET completed = 0, completed_at = NULL
159
+ WHERE id = ? AND workspace_id = ?
160
+ `).run(t,e));let a=r.prepare(`
161
+ SELECT id, workspace_id, text, completed, sort_order, created, completed_at
162
+ FROM workspace_todos WHERE id = ? AND workspace_id = ?
163
+ `).get(t,e);return a?eo(a):null}function ep(e,t){(0,_.getDb)().prepare("DELETE FROM workspace_todos WHERE id = ? AND workspace_id = ?").run(t,e)}async function el(){let e=(0,a.getCurrentUser)(),o=(0,r.getUserPaths)(e),n=(0,_.getDb)(),d=0,p=0;return n.transaction(()=>{let a=function(e){if(!t.default.existsSync(e))return{projects:0,sessions:0};let r=t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()),a=0,o=0;for(let n of r){let r=s.default.join(e,n.name),d=n.name,p=function(e){let t=e.split("--");if(t.length<2)return e;let s=t.slice(1).join("/"),r=s.split("-");return"projects"===r[0]&&r.length>1?r.slice(1).join("-"):s}(n.name),l=function(e){let t=e.match(/^([A-Za-z])--(.*)/);return t?t[1]+":\\"+t[2].replace(/-/g,"\\"):e.startsWith("-")?"/"+e.substring(1).replace(/-/g,"/"):e}(n.name),c=s.default.join(r,"sessions-index.json");if(t.default.existsSync(c)){let e=i(c);if(e?.entries){let i=e.entries.find(e=>e.projectPath);i?.projectPath&&(l=i.projectPath,p=s.default.basename(i.projectPath)),h({id:d,name:p,path:l,claudePath:r,agentType:"claude"}),a++;let n=new Set;for(let t of e.entries)n.add(t.sessionId),w({id:t.sessionId,sessionId:t.sessionId,projectId:d,firstPrompt:t.firstPrompt?.slice(0,500)||"",summary:t.summary||"",messageCount:t.messageCount||0,created:t.created||"",modified:t.modified||"",gitBranch:t.gitBranch||"",projectPath:t.projectPath||"",fullPath:t.fullPath||"",agentType:"claude"}),o++;for(let e of t.default.readdirSync(r).filter(e=>e.endsWith(".jsonl")&&!e.startsWith(".")&&!n.has(e.replace(".jsonl","")))){let t=s.default.join(r,e),a=e.replace(".jsonl","");w({id:a,sessionId:a,projectId:d,firstPrompt:"",summary:"",messageCount:0,created:"",modified:"",gitBranch:"",projectPath:"",fullPath:t,agentType:"claude"}),o++}continue}}for(let e of(h({id:d,name:p,path:l,claudePath:r,agentType:"claude"}),a++,t.default.readdirSync(r).filter(e=>e.endsWith(".jsonl")&&!e.startsWith(".")))){let t=s.default.join(r,e),a=e.replace(".jsonl","");w({id:a,sessionId:a,projectId:d,firstPrompt:"",summary:"",messageCount:0,created:"",modified:"",gitBranch:"",projectPath:"",fullPath:t,agentType:"claude"}),o++}}return{projects:a,sessions:o}}(o.claudeProjectsDir);d+=a.projects,p+=a.sessions;let l=function(e){let r=function(e){if(!e||!t.default.existsSync(e))return[];let r=function e(r){let a=[];try{for(let o of t.default.readdirSync(r,{withFileTypes:!0})){let t=s.default.join(r,o.name);o.isDirectory()?a.push(...e(t)):o.isFile()&&o.name.startsWith("rollout-")&&o.name.endsWith(".jsonl")&&a.push({filePath:t,filename:o.name})}}catch{}return a}(e),a=[];for(let{filePath:e,filename:s}of r){let r=function(e,s){try{let r,a,o=function(e,s,r){let a=null;try{a=t.default.openSync(e,"r");let s=[],r=0,o=0;for(;r<262144&&o<6;){let e=Math.min(8192,262144-r),i=Buffer.alloc(e),n=t.default.readSync(a,i,0,e,r);if(n<=0)break;let d=i.subarray(0,n);s.push(d),r+=n;for(let e=0;e<d.length;e++)10===d[e]&&o++}return Buffer.concat(s).toString("utf-8")}finally{null!==a&&t.default.closeSync(a)}}(e,0,0),i=t.default.statSync(e),n=o.split("\n").filter(e=>e.trim().length>0);if(0===n.length)return null;let d="",p="",l="",c="",u=0;for(let e=0;e<n.length;e++){let t;try{t=JSON.parse(n[e])}catch{continue}if(0===e||!d&&!p&&!l){let e=t.payload,s=t.item;d=s?.id||e?.id||t.id||t.session_id||"",p=s?.cwd||e?.cwd||t.cwd||"",l=s?.timestamp||e?.timestamp||t.timestamp||s?.created_at||e?.created_at||t.created_at||t.created||""}if(function(e){let t=e.payload,s=t?.type??e.type;return!!s&&new Set(["user_message","UserMessage","assistant_message","AssistantMessage","message","response","tool_call","ToolCall","tool_result","ToolResult"]).has(s)}(t)&&u++,!c){let e=function(e){for(let t of[e.payload,e]){if(!t||"object"!=typeof t)continue;let e=t.type;if("user_message"===e||"UserMessage"===e){if("string"==typeof t.text)return t.text;if("string"==typeof t.content)return t.content;let e=t.message;if(e&&"string"==typeof e.content)return e.content}}return null}(t);e&&(c=e.slice(0,500))}}if(d||(d=(a=(r=s.replace(/\.jsonl$/,"")).match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/i))?a[1]:r.replace(/^rollout-/,"")),!l){let e=s.match(/^rollout-(\d+)/);if(e){let t=parseInt(e[1],10),s=new Date(t>1e12?t:1e3*t);isNaN(s.getTime())||(l=s.toISOString())}}return l||(l=i.mtime.toISOString()),{id:d,cwd:p,timestamp:l,firstPrompt:c,messageCount:u,modified:i.mtime.toISOString()}}catch{return null}}(e,s);r&&a.push(r)}return a.sort((e,t)=>e.timestamp&&t.timestamp?t.timestamp.localeCompare(e.timestamp):t.modified.localeCompare(e.modified)),a}(e);if(0===r.length)return{projects:0,sessions:0};let a=new Map;for(let e of r){let t=e.cwd||"unknown";a.has(t)||a.set(t,[]),a.get(t).push(e)}let o=0,i=0;for(let[e,t]of a){let r="codex-"+e.replace(/[^a-zA-Z0-9]/g,"-").slice(0,80);for(let a of(h({id:r,name:"unknown"!==e?s.default.basename(e):"Codex (unknown)",path:e,claudePath:"",agentType:"codex"}),o++,t))w({id:a.id,sessionId:a.id,projectId:r,firstPrompt:a.firstPrompt||"",summary:"",messageCount:a.messageCount,created:a.timestamp||"",modified:a.modified||"",gitBranch:"",projectPath:e,fullPath:"",agentType:"codex"}),i++}return{projects:o,sessions:i}}(o.codexSessionsDir);d+=l.projects,p+=l.sessions;let c=function(e,t){let r=m(e,t);if(0===r.length)return{projects:0,sessions:0};let a=new Map;for(let e of r){let t=e.projectSlug||"unknown";a.has(t)||a.set(t,[]),a.get(t).push(e)}let o=0,i=0;for(let[e,t]of a){let r="gemini-"+e,a=t.find(e=>e.projectPath),n=a?.projectPath||"";for(let a of(h({id:r,name:n?s.default.basename(n):e,path:n,claudePath:"",agentType:"gemini"}),o++,t))w({id:a.sessionId,sessionId:a.sessionId,projectId:r,firstPrompt:a.firstPrompt||"",summary:a.summary||"",messageCount:a.messageCount,created:a.startTime||"",modified:a.lastUpdated||"",gitBranch:"",projectPath:a.projectPath||"",fullPath:a.fullPath||"",agentType:"gemini"}),i++}return{projects:o,sessions:i}}(o.geminiChatsBaseDir,o.geminiProjectsRegistry);d+=c.projects,p+=c.sessions;let u=(0,r.readConfig)(e),f=n.prepare("SELECT DISTINCT project_path FROM sessions WHERE project_path != '' AND project_path IS NOT NULL").all().map(e=>e.project_path),_=function(e){let r=function(e){let r=new Set,a=[];for(let o of e){let e=s.default.resolve(o);if(r.has(e))continue;r.add(e);let i=function(e){let r,a,o=s.default.join(e,".aider.chat.history.md");if(!t.default.existsSync(o))return null;try{r=t.default.readFileSync(o,"utf-8")}catch{return null}let i=0,n="";for(let e of r.split("\n"))e.startsWith(g)&&(i++,n||(n=e.slice(g.length).trim().slice(0,200)));if(0===i)return null;try{a=t.default.statSync(o)}catch{return null}return{projectPath:e,firstPrompt:n,messageCount:i,modified:a.mtime.toISOString(),created:(a.birthtime&&a.birthtime.getTime()>0?a.birthtime:a.ctime).toISOString()}}(e);i&&a.push(i)}return a}(e);if(0===r.length)return{projects:0,sessions:0};let a=0,o=0;for(let e of r){var i,n;let t=(i=e.projectPath,"aider-proj-"+E.default.createHash("sha256").update(i).digest("hex").slice(0,12)),r=(n=e.projectPath,"aider-"+E.default.createHash("sha256").update(n).digest("hex").slice(0,16));h({id:t,name:s.default.basename(e.projectPath),path:e.projectPath,claudePath:"",agentType:"aider"}),a++,w({id:r,sessionId:r,projectId:t,firstPrompt:e.firstPrompt||"",summary:"",messageCount:e.messageCount,created:e.created||"",modified:e.modified||"",gitBranch:"",projectPath:e.projectPath,fullPath:s.default.join(e.projectPath,".aider.chat.history.md"),agentType:"aider"}),o++}return{projects:a,sessions:o}}([...new Set([...u.devDirectories||[],...f])]);d+=_.projects,p+=_.sessions;let S=function(e){let r=function(e){if(!t.default.existsSync(e))return[];let r=[];for(let a of t.default.readdirSync(e).filter(e=>e.endsWith(".json")&&!e.startsWith("."))){let o=s.default.join(e,a);try{let e=t.default.readFileSync(o,"utf-8"),s=JSON.parse(e);s.id&&r.push({...s,fullPath:o})}catch{}}return r}(e);if(0===r.length)return{projects:0,sessions:0};let a=new Map;for(let e of r){let t=e.metadata?.cwd||"unknown";a.has(t)||a.set(t,[]),a.get(t).push(e)}let o=0,i=0;for(let[e,t]of a){let r="forge-"+("unknown"!==e?e.replace(/[^a-zA-Z0-9]/g,"-").slice(0,80):"unknown");for(let a of(h({id:r,name:"unknown"!==e?s.default.basename(e):"Forge (unknown)",path:"unknown"!==e?e:"",claudePath:"",agentType:"forge"}),o++,t)){let t=a.context?.messages?.find(e=>"user"===e.role),s="string"==typeof t?.content?t.content:"";w({id:a.id,sessionId:a.id,projectId:r,firstPrompt:s.slice(0,500),summary:a.title||"",messageCount:a.context?.messages?.length||0,created:a.metrics?.started_at||"",modified:a.metrics?.ended_at||"",gitBranch:"",projectPath:"unknown"!==e?e:"",fullPath:a.fullPath,agentType:"forge"}),i++}}return{projects:o,sessions:i}}(o.forgeConversationsDir);d+=S.projects,p+=S.sessions})(),{projects:d,sessions:p}}async function ec(){let e=(0,_.getDb)(),s=e.prepare(`
147
164
  SELECT id, full_path FROM sessions
148
165
  WHERE ((first_prompt = '' OR first_prompt IS NULL) OR (message_count = 0 OR message_count IS NULL))
149
166
  AND full_path != ''
150
- `).all(),r=0;for(let a of s){if(!t.default.existsSync(a.full_path))continue;let s=await l(a.full_path);s&&(e.prepare(`
167
+ `).all(),r=0;for(let a of s){if(!t.default.existsSync(a.full_path))continue;let s=await p(a.full_path);s&&(e.prepare(`
151
168
  UPDATE sessions SET
152
169
  first_prompt = ?, message_count = ?, created = ?, modified = ?,
153
170
  git_branch = ?, project_path = ?
154
171
  WHERE id = ?
155
- `).run(s.firstPrompt,s.messageCount,s.created,s.modified,s.gitBranch,s.projectPath,a.id),r++)}return r}async function el(e){let s=(0,_.getDb)().prepare(`
172
+ `).run(s.firstPrompt,s.messageCount,s.created,s.modified,s.gitBranch,s.projectPath,a.id),r++)}return r}async function eu(e){let s=(0,_.getDb)().prepare(`
156
173
  SELECT s.id, s.full_path FROM sessions s
157
174
  LEFT JOIN sessions_fts f ON f.session_id = s.id
158
175
  WHERE f.session_id IS NULL AND s.full_path != ''
159
- `).all(),r=0;for(let a of s)if(t.default.existsSync(a.full_path)){try{let e=await d(a.full_path);e&&(Y(a.id,e),r++)}catch{}e?.(r,s.length)}return r}e.s(["addSessionToWorkspace",()=>N,"addTagToSession",()=>b,"bulkAddTag",()=>U,"bulkAddToWorkspace",()=>B,"bulkStar",()=>J,"createPane",()=>Z,"createTag",()=>C,"createWorkspace",()=>j,"deletePane",()=>ee,"deleteTag",()=>W,"deleteWorkspaceFull",()=>ea,"duplicateWorkspace",()=>er,"getActivePanes",()=>z,"getActiveWorkspace",()=>et,"getAllProjects",()=>y,"getAllTags",()=>P,"getAnalyticsOverview",()=>ei,"getDailyActivity",()=>en,"getPaneById",()=>q,"getPanesByWorkspace",()=>K,"getSessionById",()=>O,"getSessionTags",()=>A,"getSessionWorkspaces",()=>v,"getSessions",()=>w,"getWorkspaceSessions",()=>x,"getWorkspacesForSession",()=>H,"removeSessionFromWorkspace",()=>D,"removeTagFromSessionByName",()=>L,"renameSession",()=>M,"searchSessions",()=>$,"switchWorkspace",()=>es,"toggleStar",()=>R,"updatePane",()=>Q,"updateSessionNotes",()=>I,"updateTagColor",()=>k,"updateWorkspace",()=>F,"upsertFtsContent",()=>Y,"upsertProject",()=>S,"upsertSession",()=>T],550837),e.s(["buildFtsIndex",()=>el,"enrichMissingSessions",()=>ed,"fullSync",()=>eo],460569)}];
176
+ `).all(),r=0;for(let a of s)if(t.default.existsSync(a.full_path)){try{let e=await d(a.full_path);e&&(J(a.id,e),r++)}catch{}e?.(r,s.length)}return r}e.s(["addSessionToWorkspace",()=>I,"addTagToSession",()=>P,"addWorkspaceTodo",()=>en,"bulkAddTag",()=>v,"bulkAddToWorkspace",()=>U,"bulkStar",()=>B,"createPane",()=>K,"createTag",()=>j,"createWorkspace",()=>N,"deletePane",()=>q,"deleteTag",()=>k,"deleteWorkspaceFull",()=>es,"deleteWorkspaceTodo",()=>ep,"duplicateWorkspace",()=>et,"getActivePanes",()=>X,"getActiveWorkspace",()=>Q,"getAllProjects",()=>S,"getAllTags",()=>C,"getAnalyticsOverview",()=>er,"getDailyActivity",()=>ea,"getPaneById",()=>z,"getPanesByWorkspace",()=>G,"getSessionById",()=>y,"getSessionTags",()=>W,"getSessionWorkspaces",()=>x,"getSessions",()=>T,"getWorkspaceSessions",()=>H,"getWorkspaceTodos",()=>ei,"getWorkspacesForSession",()=>F,"removeSessionFromWorkspace",()=>D,"removeTagFromSessionByName",()=>b,"renameSession",()=>A,"searchSessions",()=>V,"switchWorkspace",()=>ee,"toggleStar",()=>R,"updatePane",()=>Z,"updateSessionNotes",()=>O,"updateTagColor",()=>L,"updateWorkspace",()=>M,"updateWorkspaceTodo",()=>ed,"upsertFtsContent",()=>J,"upsertProject",()=>h,"upsertSession",()=>w],550837),e.s(["buildFtsIndex",()=>eu,"enrichMissingSessions",()=>ec,"fullSync",()=>el],460569)}];
160
177
 
161
178
  //# sourceMappingURL=%5Broot-of-the-server%5D__160e7c73._.js.map