@jlongo78/agent-spaces 0.7.7 → 0.8.0

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 (797) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +6 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +19 -19
  6. package/.next/standalone/.next/routes-manifest.json +38 -0
  7. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/cortex/page/react-loadable-manifest.json +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/cortex/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  28. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  36. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  37. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  40. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  44. package/.next/standalone/.next/server/app/admin/analytics.rsc +6 -7
  45. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
  46. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +6 -7
  50. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  54. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  63. package/.next/standalone/.next/server/app/analytics.html +1 -1
  64. package/.next/standalone/.next/server/app/analytics.rsc +3 -3
  65. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +2 -2
  66. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +3 -3
  69. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/app-paths-manifest.json +3 -0
  74. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/build-manifest.json +11 -0
  75. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/server-reference-manifest.json +4 -0
  76. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +7 -0
  77. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.map +5 -0
  78. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -0
  79. package/.next/standalone/.next/server/app/api/benchmark/lobes/route_client-reference-manifest.js +2 -0
  80. package/.next/standalone/.next/server/app/api/benchmark/run/route/app-paths-manifest.json +3 -0
  81. package/.next/standalone/.next/server/app/api/benchmark/run/route/build-manifest.json +11 -0
  82. package/.next/standalone/.next/server/app/api/benchmark/run/route/server-reference-manifest.json +4 -0
  83. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +7 -0
  84. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.map +5 -0
  85. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -0
  86. package/.next/standalone/.next/server/app/api/benchmark/run/route_client-reference-manifest.js +2 -0
  87. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/app-paths-manifest.json +3 -0
  88. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/build-manifest.json +11 -0
  89. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/server-reference-manifest.json +4 -0
  90. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +7 -0
  91. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.map +5 -0
  92. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -0
  93. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route_client-reference-manifest.js +2 -0
  94. package/.next/standalone/.next/server/app/api/benchmark/runs/route/app-paths-manifest.json +3 -0
  95. package/.next/standalone/.next/server/app/api/benchmark/runs/route/build-manifest.json +11 -0
  96. package/.next/standalone/.next/server/app/api/benchmark/runs/route/server-reference-manifest.json +4 -0
  97. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +7 -0
  98. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.map +5 -0
  99. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -0
  100. package/.next/standalone/.next/server/app/api/benchmark/runs/route_client-reference-manifest.js +2 -0
  101. package/.next/standalone/.next/server/app/api/benchmark/status/route/app-paths-manifest.json +3 -0
  102. package/.next/standalone/.next/server/app/api/benchmark/status/route/build-manifest.json +11 -0
  103. package/.next/standalone/.next/server/app/api/benchmark/status/route/server-reference-manifest.json +4 -0
  104. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +7 -0
  105. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.map +5 -0
  106. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -0
  107. package/.next/standalone/.next/server/app/api/benchmark/status/route_client-reference-manifest.js +2 -0
  108. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +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.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/files/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/whisper/route/app-paths-manifest.json +3 -0
  168. package/.next/standalone/.next/server/app/api/whisper/route/build-manifest.json +11 -0
  169. package/.next/standalone/.next/server/app/api/whisper/route/server-reference-manifest.json +4 -0
  170. package/.next/standalone/.next/server/app/api/whisper/route.js +7 -0
  171. package/.next/standalone/.next/server/app/api/whisper/route.js.map +5 -0
  172. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -0
  173. package/.next/standalone/.next/server/app/api/whisper/route_client-reference-manifest.js +2 -0
  174. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/cortex.html +1 -1
  182. package/.next/standalone/.next/server/app/cortex.rsc +3 -3
  183. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  184. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  185. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  186. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
  187. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  188. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  189. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  190. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/login.html +1 -1
  192. package/.next/standalone/.next/server/app/login.rsc +2 -2
  193. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  194. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  195. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  196. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  197. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  198. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  202. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  203. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  204. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  205. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  206. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  207. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  209. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  214. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  215. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  216. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  217. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  218. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  219. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  224. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  225. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  226. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  227. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  229. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/m/terminal/page.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  235. package/.next/standalone/.next/server/app/m/terminal.rsc +3 -3
  236. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
  237. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  239. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  240. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  241. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  243. package/.next/standalone/.next/server/app/m.html +1 -1
  244. package/.next/standalone/.next/server/app/m.rsc +2 -2
  245. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  246. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  248. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  251. package/.next/standalone/.next/server/app/network.html +1 -1
  252. package/.next/standalone/.next/server/app/network.rsc +2 -2
  253. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  259. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  260. package/.next/standalone/.next/server/app/projects.html +1 -1
  261. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  262. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  266. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/sessions.html +1 -1
  270. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  271. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  275. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  276. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  278. package/.next/standalone/.next/server/app/settings.html +1 -1
  279. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  280. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  284. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  287. package/.next/standalone/.next/server/app/terminal.html +1 -1
  288. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  289. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  293. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  295. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +1 -1
  297. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/vr.html +1 -1
  299. package/.next/standalone/.next/server/app/vr.rsc +3 -3
  300. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
  301. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  304. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  307. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  308. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app-paths-manifest.json +6 -0
  316. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +2 -2
  317. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +2 -2
  318. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a837dd9._.js +98 -0
  319. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +3 -3
  320. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +2 -2
  321. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10e47926._.js +1 -1
  322. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1665dc78._.js +2 -2
  323. package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +2 -2
  324. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +2 -2
  325. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d359752._.js +2 -2
  326. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e8fabeb._.js +2 -2
  327. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +8 -8
  328. package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +2 -2
  329. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +2 -2
  330. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a386564._.js +3 -3
  331. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c20fb38._.js +2 -2
  332. package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
  333. package/.next/standalone/.next/server/chunks/[root-of-the-server]__33fec964._.js +3 -3
  334. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +1 -1
  335. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3ae92407._.js +2 -2
  336. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +2 -2
  337. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4619e9bd._.js +1 -1
  338. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a051043._.js +1 -1
  339. package/.next/standalone/.next/server/chunks/[root-of-the-server]__508002e4._.js +2 -2
  340. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +2 -2
  341. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +2 -2
  342. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +2 -2
  343. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c1f2459._.js +2 -2
  344. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ec8c977._.js +2 -2
  345. package/.next/standalone/.next/server/chunks/[root-of-the-server]__63cebc6c._.js +2 -2
  346. package/.next/standalone/.next/server/chunks/[root-of-the-server]__64d30d4d._.js +2 -2
  347. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +2 -2
  348. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6dc1fb7e._.js +1 -1
  349. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +2 -2
  350. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6faa04c0._.js +2 -2
  351. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74a34dc3._.js +2 -2
  352. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7819e4cf._.js +98 -0
  353. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +2 -2
  354. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +2 -2
  355. package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +6 -6
  356. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +2 -2
  357. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +2 -2
  358. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +2 -2
  359. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e1f0137._.js +98 -0
  360. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +2 -2
  361. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +2 -2
  362. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +2 -2
  363. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +2 -2
  364. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4270b77._.js +1 -1
  365. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +3 -3
  366. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0757773._.js +98 -0
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c24cfa91._.js +3 -0
  368. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eb8acb65._.js → [root-of-the-server]__c7c47529._.js} +2 -2
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +2 -2
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cba5f007._.js +1 -1
  371. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +2 -2
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +2 -2
  373. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +2 -2
  374. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +2 -2
  375. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +2 -2
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d73273ca._.js +2 -2
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8417eb6._.js +2 -2
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +2 -2
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +2 -2
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3ea8547._.js +98 -0
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +1 -1
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9223f55._.js +2 -2
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +2 -2
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f26ca49d._.js +1 -1
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f33e1101._.js +1 -1
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f515f865._.js +2 -2
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fceb5d60._.js +2 -2
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fed41403._.js +2 -2
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +2 -2
  390. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_lobes_route_actions_ea7beadb.js +3 -0
  391. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_run_route_actions_9ed0ba41.js +3 -0
  392. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_[id]_route_actions_39f90307.js +3 -0
  393. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_route_actions_37cf958b.js +3 -0
  394. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_status_route_actions_009e2cba.js +3 -0
  395. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_whisper_route_actions_be9a633d.js +3 -0
  396. package/.next/standalone/.next/server/chunks/ssr/{_c1cfdd09._.js → [root-of-the-server]__16621ac5._.js} +2 -2
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9c81bd86._.js +3 -0
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e3bf6054._.js +5 -0
  400. package/.next/standalone/.next/server/chunks/ssr/{_81abf587._.js → _31ada310._.js} +2 -2
  401. package/.next/standalone/.next/server/chunks/ssr/_648a8a2d._.js +3 -0
  402. package/.next/standalone/.next/server/chunks/ssr/_999dae61._.js +3 -0
  403. package/.next/standalone/.next/server/chunks/ssr/_c48c91e5._.js +3 -0
  404. package/.next/standalone/.next/server/chunks/ssr/_f8959434._.js +3 -0
  405. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
  406. package/.next/standalone/.next/server/chunks/ssr/src_components_terminal_terminal-pane_tsx_803c5e2c._.js +9 -0
  407. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__32a0045c._.js +1 -1
  408. package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
  409. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  410. package/.next/standalone/.next/server/pages/404.html +1 -1
  411. package/.next/standalone/.next/server/pages/500.html +2 -2
  412. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  413. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  414. package/.next/standalone/.next/static/chunks/157826a3253f8ccf.js +7 -0
  415. package/.next/standalone/.next/static/chunks/{69606d281c39f9b2.js → 2f9f09924ff9d447.js} +1 -1
  416. package/.next/standalone/.next/static/chunks/{84fe8d44deeeb74f.js → 4ced66ef12d91b38.js} +35 -12
  417. package/.next/standalone/.next/static/chunks/57d04d161b8a01b3.js +7 -0
  418. package/.next/standalone/.next/static/chunks/709c4608e5b935e8.js +1 -0
  419. package/.next/standalone/.next/static/chunks/{9cfa0291d55d8d2a.js → 7b14d4e609b55b9b.js} +1 -1
  420. package/.next/standalone/.next/static/chunks/7be37f4a56b8f575.js +1 -0
  421. package/.next/standalone/.next/static/chunks/8021d5a2269ff113.js +1 -0
  422. package/.next/standalone/.next/static/chunks/a3fd93a9dde3cacc.js +1 -0
  423. package/.next/standalone/.next/static/chunks/{412140a02893327a.js → afee31c7399daf2a.js} +1 -1
  424. package/.next/standalone/.next/static/chunks/b92fdbf858aeb0b3.js +1 -0
  425. package/.next/standalone/.next/static/chunks/c17274c2f95d4ba2.js +5 -0
  426. package/.next/standalone/.next/static/chunks/e82f4414650587cf.js +7 -0
  427. package/.next/standalone/.next/static/chunks/f6464729e7aa0da0.css +3 -0
  428. package/.next/standalone/LICENSE +661 -0
  429. package/.next/standalone/NOTICE +5 -0
  430. package/.next/standalone/README.md +131 -0
  431. package/.next/standalone/bin/cortex-hook.sh +62 -62
  432. package/.next/standalone/bin/cortex-mcp.js +60 -60
  433. package/.next/standalone/bin/fix-standalone-externals.js +79 -0
  434. package/.next/standalone/bin/lib/auto-setup.js +110 -0
  435. package/.next/standalone/bin/mdns-service.js +171 -0
  436. package/.next/standalone/bin/postinstall.js +35 -0
  437. package/.next/standalone/bin/setup-admin.js +195 -0
  438. package/.next/standalone/bin/spaces-dev.js +247 -0
  439. package/.next/standalone/bin/spaces-install.js +638 -0
  440. package/.next/standalone/bin/spaces-reset-totp.js +50 -0
  441. package/.next/standalone/bin/spaces-service.js +1020 -0
  442. package/.next/standalone/bin/spaces-setup.js +253 -0
  443. package/.next/standalone/bin/spaces.js +788 -0
  444. package/.next/standalone/bin/ssh-auth-keys.sh +68 -0
  445. package/.next/standalone/bin/terminal-server.js +1807 -0
  446. package/.next/standalone/docker-compose.yml +28 -0
  447. package/.next/standalone/docs/architecture.md +387 -0
  448. package/.next/standalone/docs/cortex.md +293 -0
  449. package/.next/standalone/docs/getting-started.md +96 -0
  450. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +133 -0
  451. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +959 -0
  452. package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +146 -0
  453. package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +254 -0
  454. package/.next/standalone/docs/server-install.md +564 -0
  455. package/.next/standalone/docs/social-card.html +150 -0
  456. package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +5270 -0
  457. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +1387 -1387
  458. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +1923 -1923
  459. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +1113 -1113
  460. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +853 -853
  461. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +1274 -1274
  462. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +933 -933
  463. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +1080 -1080
  464. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +768 -768
  465. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +1108 -1108
  466. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -1846
  467. package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +1639 -0
  468. package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +320 -0
  469. package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +720 -0
  470. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +268 -268
  471. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +623 -623
  472. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +263 -263
  473. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +240 -240
  474. package/.next/standalone/docs/superpowers/specs/2026-03-16-pane-ux-design.md +77 -0
  475. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -341
  476. package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +288 -0
  477. package/.next/standalone/docs/tiers.md +104 -0
  478. package/.next/standalone/eslint.config.mjs +18 -0
  479. package/.next/standalone/next.config.ts +20 -0
  480. package/.next/standalone/nginx.conf +53 -0
  481. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  482. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  483. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  484. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  485. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  486. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  487. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  488. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  489. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  490. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  491. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  492. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  493. package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-linux-x64}/package.json +46 -39
  494. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  495. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  496. package/.next/standalone/package-lock.json +14154 -0
  497. package/.next/standalone/package.json +104 -104
  498. package/.next/standalone/postcss.config.mjs +7 -0
  499. package/.next/standalone/scripts/rebuild.cmd +65 -0
  500. package/.next/standalone/scripts/rebuild.sh +59 -0
  501. package/.next/standalone/server.js +1 -1
  502. package/.next/standalone/src/app/(desktop)/admin/analytics/page.tsx +266 -0
  503. package/.next/standalone/src/app/(desktop)/admin/users/page.tsx +399 -0
  504. package/.next/standalone/src/app/(desktop)/analytics/page.tsx +166 -0
  505. package/.next/standalone/src/app/(desktop)/cortex/page.tsx +81 -78
  506. package/.next/standalone/src/app/(desktop)/dashboard-client.tsx +56 -0
  507. package/.next/standalone/src/app/(desktop)/layout.tsx +18 -0
  508. package/.next/standalone/src/app/(desktop)/network/page.tsx +137 -0
  509. package/.next/standalone/src/app/(desktop)/page.tsx +17 -0
  510. package/.next/standalone/src/app/(desktop)/projects/page.tsx +68 -0
  511. package/.next/standalone/src/app/(desktop)/sessions/[id]/page.tsx +519 -0
  512. package/.next/standalone/src/app/(desktop)/sessions/page.tsx +145 -0
  513. package/.next/standalone/src/app/(desktop)/settings/page.tsx +446 -0
  514. package/.next/standalone/src/app/(desktop)/terminal/layout.tsx +7 -0
  515. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +1151 -0
  516. package/.next/standalone/src/app/(desktop)/terminal/pane/[id]/page.tsx +211 -0
  517. package/.next/standalone/src/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.tsx +192 -0
  518. package/.next/standalone/src/app/(desktop)/workspaces/page.tsx +12 -0
  519. package/.next/standalone/src/app/api/admin/analytics/route.ts +10 -0
  520. package/.next/standalone/src/app/api/admin/users/[id]/route.ts +20 -0
  521. package/.next/standalone/src/app/api/admin/users/route.ts +15 -0
  522. package/.next/standalone/src/app/api/analytics/overview/route.ts +80 -0
  523. package/.next/standalone/src/app/api/auth/login/route.ts +10 -0
  524. package/.next/standalone/src/app/api/auth/logout/route.ts +9 -0
  525. package/.next/standalone/src/app/api/auth/me/route.ts +22 -0
  526. package/.next/standalone/src/app/api/auth/totp/setup/route.ts +10 -0
  527. package/.next/standalone/src/app/api/auth/totp/status/route.ts +10 -0
  528. package/.next/standalone/src/app/api/auth/totp/verify/route.ts +10 -0
  529. package/.next/standalone/src/app/api/benchmark/lobes/route.ts +16 -0
  530. package/.next/standalone/src/app/api/benchmark/run/route.ts +92 -0
  531. package/.next/standalone/src/app/api/benchmark/runs/[id]/route.ts +26 -0
  532. package/.next/standalone/src/app/api/benchmark/runs/route.ts +16 -0
  533. package/.next/standalone/src/app/api/benchmark/status/route.ts +35 -0
  534. package/.next/standalone/src/app/api/bulk/route.ts +34 -0
  535. package/.next/standalone/src/app/api/chat/route.ts +85 -0
  536. package/.next/standalone/src/app/api/config/route.ts +30 -0
  537. package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
  538. package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -27
  539. package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -23
  540. package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -23
  541. package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -29
  542. package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -23
  543. package/.next/standalone/src/app/api/cortex/export/route.ts +40 -40
  544. package/.next/standalone/src/app/api/cortex/federation/pending/route.ts +20 -20
  545. package/.next/standalone/src/app/api/cortex/federation/resolve/route.ts +43 -43
  546. package/.next/standalone/src/app/api/cortex/federation/search/route.ts +35 -35
  547. package/.next/standalone/src/app/api/cortex/federation/teach/route.ts +76 -76
  548. package/.next/standalone/src/app/api/cortex/graph/edges/route.ts +112 -112
  549. package/.next/standalone/src/app/api/cortex/graph/entities/[id]/route.ts +73 -73
  550. package/.next/standalone/src/app/api/cortex/graph/entities/route.ts +75 -75
  551. package/.next/standalone/src/app/api/cortex/graph/populate/route.ts +203 -203
  552. package/.next/standalone/src/app/api/cortex/import/route.ts +75 -75
  553. package/.next/standalone/src/app/api/cortex/import/status/route.ts +15 -15
  554. package/.next/standalone/src/app/api/cortex/ingest/bootstrap/route.ts +29 -29
  555. package/.next/standalone/src/app/api/cortex/ingest/status/route.ts +15 -15
  556. package/.next/standalone/src/app/api/cortex/knowledge/[id]/route.ts +91 -91
  557. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +93 -93
  558. package/.next/standalone/src/app/api/cortex/lobes/[id]/route.ts +67 -67
  559. package/.next/standalone/src/app/api/cortex/lobes/route.ts +22 -22
  560. package/.next/standalone/src/app/api/cortex/lobes/share/route.ts +80 -80
  561. package/.next/standalone/src/app/api/cortex/marketplace/browse/route.ts +43 -43
  562. package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -46
  563. package/.next/standalone/src/app/api/cortex/mcp/call/route.ts +11 -11
  564. package/.next/standalone/src/app/api/cortex/mcp/tools/route.ts +6 -6
  565. package/.next/standalone/src/app/api/cortex/search/route.ts +43 -43
  566. package/.next/standalone/src/app/api/cortex/settings/route.ts +33 -33
  567. package/.next/standalone/src/app/api/cortex/status/route.ts +169 -169
  568. package/.next/standalone/src/app/api/cortex/timeline/route.ts +42 -42
  569. package/.next/standalone/src/app/api/cortex/usage/route.ts +31 -31
  570. package/.next/standalone/src/app/api/cortex/workspace/[id]/context/route.ts +41 -41
  571. package/.next/standalone/src/app/api/events/route.ts +40 -0
  572. package/.next/standalone/src/app/api/files/route.ts +187 -0
  573. package/.next/standalone/src/app/api/folders/route.ts +97 -0
  574. package/.next/standalone/src/app/api/network/connect-callback/route.ts +11 -0
  575. package/.next/standalone/src/app/api/network/connect-request/[id]/route.ts +11 -0
  576. package/.next/standalone/src/app/api/network/connect-request/route.ts +17 -0
  577. package/.next/standalone/src/app/api/network/discovered/route.ts +9 -0
  578. package/.next/standalone/src/app/api/network/handshake/route.ts +25 -0
  579. package/.next/standalone/src/app/api/network/health/route.ts +10 -0
  580. package/.next/standalone/src/app/api/network/identity/route.ts +15 -0
  581. package/.next/standalone/src/app/api/network/keys/[id]/route.ts +10 -0
  582. package/.next/standalone/src/app/api/network/keys/route.ts +15 -0
  583. package/.next/standalone/src/app/api/network/nodes/[id]/route.ts +15 -0
  584. package/.next/standalone/src/app/api/network/nodes/check/route.ts +9 -0
  585. package/.next/standalone/src/app/api/network/nodes/route.ts +15 -0
  586. package/.next/standalone/src/app/api/network/projects/route.ts +25 -0
  587. package/.next/standalone/src/app/api/network/proxy/[nodeId]/[...path]/route.ts +15 -0
  588. package/.next/standalone/src/app/api/network/search/route.ts +38 -0
  589. package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +36 -0
  590. package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +34 -0
  591. package/.next/standalone/src/app/api/network/sessions/route.ts +43 -0
  592. package/.next/standalone/src/app/api/network/terminal/token/route.ts +10 -0
  593. package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +34 -0
  594. package/.next/standalone/src/app/api/network/workspaces/route.ts +61 -0
  595. package/.next/standalone/src/app/api/panes/[id]/route.ts +60 -0
  596. package/.next/standalone/src/app/api/panes/route.ts +39 -0
  597. package/.next/standalone/src/app/api/projects/route.ts +13 -0
  598. package/.next/standalone/src/app/api/search/route.ts +47 -0
  599. package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +120 -0
  600. package/.next/standalone/src/app/api/sessions/[id]/messages/route.ts +28 -0
  601. package/.next/standalone/src/app/api/sessions/[id]/route.ts +73 -0
  602. package/.next/standalone/src/app/api/sessions/route.ts +64 -0
  603. package/.next/standalone/src/app/api/sync/route.ts +24 -0
  604. package/.next/standalone/src/app/api/tags/route.ts +35 -0
  605. package/.next/standalone/src/app/api/tier/route.ts +16 -0
  606. package/.next/standalone/src/app/api/updates/route.ts +53 -0
  607. package/.next/standalone/src/app/api/whisper/route.ts +90 -0
  608. package/.next/standalone/src/app/api/workspaces/[id]/context/[key]/route.ts +39 -0
  609. package/.next/standalone/src/app/api/workspaces/[id]/context/route.ts +28 -0
  610. package/.next/standalone/src/app/api/workspaces/[id]/messages/[msgId]/route.ts +17 -0
  611. package/.next/standalone/src/app/api/workspaces/[id]/messages/route.ts +39 -0
  612. package/.next/standalone/src/app/api/workspaces/[id]/route.ts +47 -0
  613. package/.next/standalone/src/app/api/workspaces/[id]/sessions/route.ts +62 -0
  614. package/.next/standalone/src/app/api/workspaces/route.ts +79 -0
  615. package/.next/standalone/src/app/globals.css +85 -0
  616. package/.next/standalone/src/app/icon.png +0 -0
  617. package/.next/standalone/src/app/layout.tsx +33 -0
  618. package/.next/standalone/src/app/login/layout.tsx +7 -0
  619. package/.next/standalone/src/app/login/page.tsx +315 -0
  620. package/.next/standalone/src/app/m/layout.tsx +16 -0
  621. package/.next/standalone/src/app/m/page.tsx +118 -0
  622. package/.next/standalone/src/app/m/projects/page.tsx +64 -0
  623. package/.next/standalone/src/app/m/sessions/[id]/page.tsx +168 -0
  624. package/.next/standalone/src/app/m/sessions/page.tsx +177 -0
  625. package/.next/standalone/src/app/m/settings/page.tsx +230 -0
  626. package/.next/standalone/src/app/m/terminal/page.tsx +413 -0
  627. package/.next/standalone/src/app/vr/page.tsx +21 -0
  628. package/.next/standalone/src/app/vr/vr-app.tsx +163 -0
  629. package/.next/standalone/src/app/vr/vr-controls.tsx +139 -0
  630. package/.next/standalone/src/app/vr/vr-door.tsx +82 -0
  631. package/.next/standalone/src/app/vr/vr-environment.tsx +71 -0
  632. package/.next/standalone/src/app/vr/vr-gaze.tsx +89 -0
  633. package/.next/standalone/src/app/vr/vr-layout.ts +49 -0
  634. package/.next/standalone/src/app/vr/vr-lobby.tsx +97 -0
  635. package/.next/standalone/src/app/vr/vr-pane.tsx +195 -0
  636. package/.next/standalone/src/app/vr/vr-room.tsx +79 -0
  637. package/.next/standalone/src/app/vr/vr-terminal.tsx +303 -0
  638. package/.next/standalone/src/components/auth/totp-gate.tsx +183 -0
  639. package/.next/standalone/src/components/bus/activity-panel.tsx +261 -0
  640. package/.next/standalone/src/components/common/color-picker.tsx +35 -0
  641. package/.next/standalone/src/components/common/dev-directory-picker.tsx +339 -0
  642. package/.next/standalone/src/components/common/folder-picker.tsx +200 -0
  643. package/.next/standalone/src/components/common/tag-picker.tsx +190 -0
  644. package/.next/standalone/src/components/common/workspace-picker.tsx +113 -0
  645. package/.next/standalone/src/components/cortex/benchmark-tab.tsx +880 -0
  646. package/.next/standalone/src/components/cortex/constants.ts +29 -29
  647. package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -304
  648. package/.next/standalone/src/components/cortex/cortex-indicator.tsx +44 -44
  649. package/.next/standalone/src/components/cortex/cortex-panel.tsx +140 -140
  650. package/.next/standalone/src/components/cortex/cortex-settings.tsx +221 -221
  651. package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -810
  652. package/.next/standalone/src/components/cortex/entity-detail.tsx +101 -101
  653. package/.next/standalone/src/components/cortex/entity-graph.tsx +382 -382
  654. package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -212
  655. package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
  656. package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -109
  657. package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -158
  658. package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -215
  659. package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -126
  660. package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -113
  661. package/.next/standalone/src/components/dashboard/activity-chart.tsx +41 -0
  662. package/.next/standalone/src/components/dashboard/model-usage-chart.tsx +61 -0
  663. package/.next/standalone/src/components/dashboard/recent-sessions.tsx +68 -0
  664. package/.next/standalone/src/components/dashboard/stats-cards.tsx +36 -0
  665. package/.next/standalone/src/components/files/file-explorer.tsx +703 -0
  666. package/.next/standalone/src/components/layout/providers.tsx +38 -0
  667. package/.next/standalone/src/components/layout/sidebar.tsx +170 -0
  668. package/.next/standalone/src/components/layout/tier-provider.tsx +53 -0
  669. package/.next/standalone/src/components/layout/update-banner.tsx +92 -0
  670. package/.next/standalone/src/components/mobile/bottom-nav.tsx +46 -0
  671. package/.next/standalone/src/components/mobile/mobile-chat-input.tsx +244 -0
  672. package/.next/standalone/src/components/mobile/mobile-header.tsx +44 -0
  673. package/.next/standalone/src/components/mobile/mobile-session-card.tsx +56 -0
  674. package/.next/standalone/src/components/mobile/mobile-terminal-input.tsx +71 -0
  675. package/.next/standalone/src/components/mobile/mobile-terminal-pane.tsx +300 -0
  676. package/.next/standalone/src/components/mobile/mobile-terminal-toolbar.tsx +53 -0
  677. package/.next/standalone/src/components/mobile/pull-to-refresh.tsx +82 -0
  678. package/.next/standalone/src/components/mobile/voice-input.tsx +53 -0
  679. package/.next/standalone/src/components/network/api-key-list.tsx +190 -0
  680. package/.next/standalone/src/components/network/connection-requests.tsx +94 -0
  681. package/.next/standalone/src/components/network/node-add-dialog.tsx +131 -0
  682. package/.next/standalone/src/components/network/node-badge.tsx +26 -0
  683. package/.next/standalone/src/components/network/node-list.tsx +207 -0
  684. package/.next/standalone/src/components/network/node-selector.tsx +49 -0
  685. package/.next/standalone/src/components/sessions/session-filters.tsx +116 -0
  686. package/.next/standalone/src/components/sessions/session-list.tsx +485 -0
  687. package/.next/standalone/src/components/terminal/terminal-pane.tsx +874 -0
  688. package/.next/standalone/src/components/viewer/chat-input.tsx +275 -0
  689. package/.next/standalone/src/components/viewer/message-renderer.tsx +551 -0
  690. package/.next/standalone/src/components/workspace/universe-cluster.tsx +131 -0
  691. package/.next/standalone/src/components/workspace/universe-orb.tsx +128 -0
  692. package/.next/standalone/src/components/workspace/universe-types.ts +22 -0
  693. package/.next/standalone/src/components/workspace/universe-utils.ts +11 -0
  694. package/.next/standalone/src/components/workspace/universe-view.tsx +397 -0
  695. package/.next/standalone/src/components/workspace/workspace-chooser.tsx +616 -0
  696. package/.next/standalone/src/hooks/use-benchmark.ts +71 -0
  697. package/.next/standalone/src/hooks/use-bus.ts +147 -0
  698. package/.next/standalone/src/hooks/use-idle-detection.ts +79 -0
  699. package/.next/standalone/src/hooks/use-network.ts +229 -0
  700. package/.next/standalone/src/hooks/use-sessions.ts +437 -0
  701. package/.next/standalone/src/hooks/use-speech-recognition.ts +113 -0
  702. package/.next/standalone/src/hooks/use-sse.ts +35 -0
  703. package/.next/standalone/src/hooks/use-tier.ts +39 -0
  704. package/.next/standalone/src/lib/agents.ts +70 -0
  705. package/.next/standalone/src/lib/aider/parser.ts +111 -0
  706. package/.next/standalone/src/lib/api.ts +19 -0
  707. package/.next/standalone/src/lib/auth.ts +47 -0
  708. package/.next/standalone/src/lib/claude/parser.ts +212 -0
  709. package/.next/standalone/src/lib/claude/stats.ts +204 -0
  710. package/.next/standalone/src/lib/codex/parser.ts +265 -0
  711. package/.next/standalone/src/lib/config.ts +115 -0
  712. package/.next/standalone/src/lib/cortex/benchmark.ts +67 -0
  713. package/.next/standalone/src/lib/cortex/config.ts +40 -40
  714. package/.next/standalone/src/lib/cortex/debug.ts +10 -10
  715. package/.next/standalone/src/lib/cortex/distillation/usage-store.ts +18 -18
  716. package/.next/standalone/src/lib/cortex/graph/resolver.ts +10 -10
  717. package/.next/standalone/src/lib/cortex/graph/types.ts +22 -22
  718. package/.next/standalone/src/lib/cortex/index.ts +56 -56
  719. package/.next/standalone/src/lib/cortex/ingestion/bootstrap.ts +14 -14
  720. package/.next/standalone/src/lib/cortex/knowledge/compat.ts +14 -14
  721. package/.next/standalone/src/lib/cortex/knowledge/contradiction.ts +10 -10
  722. package/.next/standalone/src/lib/cortex/knowledge/types.ts +67 -67
  723. package/.next/standalone/src/lib/cortex/lobes/config.ts +16 -16
  724. package/.next/standalone/src/lib/cortex/lobes/resolver.ts +8 -8
  725. package/.next/standalone/src/lib/cortex/lobes/shares.ts +14 -14
  726. package/.next/standalone/src/lib/cortex/mcp/server.ts +8 -8
  727. package/.next/standalone/src/lib/cortex/portability/exporter.ts +6 -6
  728. package/.next/standalone/src/lib/cortex/portability/importer.ts +10 -10
  729. package/.next/standalone/src/lib/cortex/retrieval/context-engine.ts +10 -10
  730. package/.next/standalone/src/lib/cortex/types.ts +39 -39
  731. package/.next/standalone/src/lib/cost-calculator.ts +48 -0
  732. package/.next/standalone/src/lib/db/init.ts +71 -0
  733. package/.next/standalone/src/lib/db/queries.ts +718 -0
  734. package/.next/standalone/src/lib/db/schema.ts +202 -0
  735. package/.next/standalone/src/lib/events/sse.ts +36 -0
  736. package/.next/standalone/src/lib/gemini/parser.ts +216 -0
  737. package/.next/standalone/src/lib/license.ts +56 -0
  738. package/.next/standalone/src/lib/pro.ts +31 -0
  739. package/.next/standalone/src/lib/sync/indexer.ts +429 -0
  740. package/.next/standalone/src/lib/sync/watcher.ts +64 -0
  741. package/.next/standalone/src/lib/teams.ts +31 -0
  742. package/.next/standalone/src/lib/telemetry.ts +75 -0
  743. package/.next/standalone/src/lib/terminal/server.ts +128 -0
  744. package/.next/standalone/src/lib/tier.ts +38 -0
  745. package/.next/standalone/src/lib/utils.ts +72 -0
  746. package/.next/standalone/src/middleware.ts +133 -0
  747. package/.next/standalone/src/types/claude.ts +208 -0
  748. package/.next/standalone/src/types/network.ts +61 -0
  749. package/.next/standalone/tests/setup.ts +8 -0
  750. package/.next/standalone/tsconfig.json +34 -34
  751. package/.next/standalone/vitest.config.ts +24 -0
  752. package/LICENSE +661 -661
  753. package/README.md +131 -131
  754. package/bin/cortex-hook.sh +62 -62
  755. package/bin/cortex-mcp.js +60 -60
  756. package/bin/fix-standalone-externals.js +79 -79
  757. package/bin/lib/auto-setup.js +110 -110
  758. package/bin/mdns-service.js +171 -171
  759. package/bin/postinstall.js +35 -35
  760. package/bin/setup-admin.js +195 -195
  761. package/bin/spaces-dev.js +247 -208
  762. package/bin/spaces-install.js +638 -599
  763. package/bin/spaces-reset-totp.js +50 -50
  764. package/bin/spaces-service.js +1020 -1020
  765. package/bin/spaces-setup.js +253 -253
  766. package/bin/spaces.js +788 -776
  767. package/bin/ssh-auth-keys.sh +68 -68
  768. package/bin/terminal-server.js +1807 -1683
  769. package/package.json +104 -104
  770. package/.next/standalone/.claude/settings.local.json +0 -55
  771. package/.next/standalone/.claude/spaces-env.json +0 -1
  772. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e921fdfc._.js +0 -5
  773. package/.next/standalone/.next/server/chunks/ssr/_2230ad2d._.js +0 -3
  774. package/.next/standalone/.next/server/chunks/ssr/_5cf334fd._.js +0 -3
  775. package/.next/standalone/.next/server/chunks/ssr/_db0abd0a._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/ssr/_db2fec84._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/ssr/_f4e57187._.js +0 -3
  778. package/.next/standalone/.next/server/chunks/ssr/src_40fa36ce._.js +0 -7
  779. package/.next/standalone/.next/static/chunks/003e7aa1adfe577d.js +0 -1
  780. package/.next/standalone/.next/static/chunks/158b52b84e647ac1.js +0 -5
  781. package/.next/standalone/.next/static/chunks/232d8aae4fefab70.js +0 -1
  782. package/.next/standalone/.next/static/chunks/5325351ef49cb65f.js +0 -1
  783. package/.next/standalone/.next/static/chunks/559735e598ca3cbb.js +0 -1
  784. package/.next/standalone/.next/static/chunks/5d5d7b0095dd52ae.js +0 -1
  785. package/.next/standalone/.next/static/chunks/898f380eba90427a.js +0 -1
  786. package/.next/standalone/.next/static/chunks/95339e55722bb4ca.js +0 -5
  787. package/.next/standalone/.next/static/chunks/9cd594813c539df9.js +0 -1
  788. package/.next/standalone/.next/static/chunks/c1a95aebf6725f64.css +0 -3
  789. package/.next/standalone/.next/static/chunks/c515eb77d9410aa0.js +0 -5
  790. package/.next/standalone/.next/static/chunks/d9ae203a7f123546.js +0 -5
  791. package/.next/standalone/.next/static/chunks/f9f2628207848ac2.js +0 -1
  792. package/.next/standalone/.spaces/cortex-context.md +0 -70
  793. package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
  794. /package/.next/standalone/.next/static/{BEY-sql3lQLouidpurSQf → PcpzUspSK8QDdwzAJz8br}/_buildManifest.js +0 -0
  795. /package/.next/standalone/.next/static/{BEY-sql3lQLouidpurSQf → PcpzUspSK8QDdwzAJz8br}/_clientMiddlewareManifest.json +0 -0
  796. /package/.next/standalone/.next/static/{BEY-sql3lQLouidpurSQf → PcpzUspSK8QDdwzAJz8br}/_ssgManifest.js +0 -0
  797. /package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -0,0 +1,7 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},69074,e=>{"use strict";let t=(0,e.i(75254).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",()=>t],69074)},34623,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(31278),i=e.i(39616),s=e.i(18566),a=e.i(9165),o=e.i(29320);let c="spaces-terminal-token";function l({children:e}){let l=(0,s.useRouter)(),{isDesktop:d,basePath:u}=(0,o.useTier)(),[p,m]=(0,n.useState)("loading"),[h,f]=(0,n.useState)(""),[x,g]=(0,n.useState)(""),[b,w]=(0,n.useState)(""),[y,v]=(0,n.useState)(!1),j=(0,n.useRef)(null),k=`${u}/spaces_icon.png`;(0,n.useEffect)(()=>{if(d){f("desktop-local"),m("authorized");return}function e(){let e=sessionStorage.getItem(c);if(e){f(e),m("authorized");return}fetch((0,a.api)("/api/auth/totp/status")).then(e=>e.json()).then(e=>{e.enabled?(m("prompt"),setTimeout(()=>j.current?.focus(),100)):m("not-setup")}).catch(()=>m("not-setup"))}fetch((0,a.api)("/api/auth/me")).then(t=>{if(t.ok){f("session-auth"),m("authorized");return}return e()}).catch(()=>e())},[d]);let N=(0,n.useCallback)(async e=>{if(6!==e.length)return;v(!0),w("");let t=await fetch((0,a.api)("/api/auth/totp/verify"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,action:"verify"})}),n=await t.json();v(!1),n.success&&n.terminalToken?(sessionStorage.setItem(c,n.terminalToken),f(n.terminalToken),m("authorized")):(w(n.error||"Invalid code"),g(""),j.current?.focus())},[]);return"loading"===p?(0,t.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,t.jsx)(r.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):"authorized"===p?(0,t.jsx)(t.Fragment,{children:e(h)}):"not-setup"===p?(0,t.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,t.jsxs)("div",{className:"text-center space-y-4 max-w-sm",children:[(0,t.jsx)("img",{src:k,alt:"Spaces",className:"w-12 h-12 mx-auto opacity-40"}),(0,t.jsx)("h2",{className:"text-lg font-semibold text-white",children:"2FA Required"}),(0,t.jsx)("p",{className:"text-sm text-zinc-400",children:"Two-factor authentication must be set up before you can use terminals."}),(0,t.jsxs)("button",{onClick:()=>l.push("/settings"),className:"inline-flex items-center gap-2 px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500",children:[(0,t.jsx)(i.Settings,{className:"w-4 h-4"}),"Go to Settings"]})]})}):(0,t.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,t.jsxs)("div",{className:"text-center space-y-4 max-w-sm",children:[(0,t.jsx)("img",{src:k,alt:"Spaces",className:"w-12 h-12 mx-auto"}),(0,t.jsx)("h2",{className:"text-lg font-semibold text-white",children:"Terminal Verification"}),(0,t.jsx)("p",{className:"text-sm text-zinc-400",children:"Enter the 6-digit code from your authenticator app."}),(0,t.jsxs)("div",{children:[(0,t.jsx)("input",{ref:j,type:"text",inputMode:"numeric",autoComplete:"one-time-code",placeholder:"000000",value:x,onChange:e=>{let t;g(t=e.target.value.replace(/\D/g,"").slice(0,6)),w(""),6===t.length&&N(t)},disabled:y,className:"w-48 px-3 py-3 text-2xl font-mono tracking-[0.4em] text-center bg-zinc-800 border border-zinc-700 rounded-lg focus:outline-none focus:border-indigo-500 text-white disabled:opacity-50",autoFocus:!0}),y&&(0,t.jsxs)("div",{className:"flex items-center justify-center gap-2 mt-3 text-xs text-zinc-400",children:[(0,t.jsx)(r.Loader2,{className:"w-3 h-3 animate-spin"}),"Verifying..."]}),b&&(0,t.jsx)("p",{className:"text-sm text-red-400 mt-3",children:b})]}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-600",children:"Token is valid for 8 hours after verification."})]})})}e.s(["TotpGate",()=>l])},73359,e=>{"use strict";let t={claude:{id:"claude",name:"Claude Code",command:"claude",resumeFlag:"--resume",supportsResume:!0,color:"#d97706",description:"Anthropic Claude Code CLI"},codex:{id:"codex",name:"Codex CLI",command:"codex",resumeFlag:"resume",supportsResume:!0,color:"#10b981",description:"OpenAI Codex CLI"},gemini:{id:"gemini",name:"Gemini CLI",command:"gemini",resumeFlag:"--resume",supportsResume:!0,color:"#3b82f6",description:"Google Gemini CLI"},aider:{id:"aider",name:"Aider",command:"aider",resumeFlag:"",supportsResume:!1,color:"#8b5cf6",description:"AI pair programming in your terminal"},shell:{id:"shell",name:"Shell",command:"",resumeFlag:"",supportsResume:!1,color:"#71717a",description:"Plain terminal shell"},custom:{id:"custom",name:"Custom",command:"",resumeFlag:"",supportsResume:!1,color:"#ec4899",description:"Custom command"}},n=Object.values(t);e.s(["AGENT_LIST",0,n,"AGENT_TYPES",0,t])},87951,87246,e=>{"use strict";var t=e.i(75254);let n=(0,t.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);e.s(["Mic",()=>n],87951);let r=(0,t.default)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]]);e.s(["MicOff",()=>r],87246)},24134,78917,e=>{"use strict";var t=e.i(47167),n=e.i(18050),r=e.i(71645),i=e.i(74080),s=e.i(37727),a=e.i(88699),o=e.i(43531),c=e.i(75254);let l=(0,c.default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),d=(0,c.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]),u=(0,c.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),p=(0,c.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>p],78917);var m=e.i(48256),h=e.i(61911),f=e.i(87951),x=e.i(87246),g=e.i(69074),b=e.i(75157),w=e.i(73359),y=e.i(29320);let v=t.default.env.NEXT_PUBLIC_WS_PATH;function j({pane:t,onClose:c,onUpdate:j,isMaximized:k,onToggleMaximize:N,onPopout:z,onBrowse:C,isPopout:S,terminalToken:T,workspaceCollaboration:E}){let{hasCortex:R}=(0,y.useTier)(),P=(0,r.useRef)(null),M=(0,r.useRef)(null),$=(0,r.useRef)(null),A=(0,r.useRef)(null),O=(0,r.useRef)(""),L=(0,r.useRef)(null),I=()=>{try{A.current?.fit()}catch{}},[F,U]=(0,r.useState)(!1),[B,J]=(0,r.useState)(!1),[W,D]=(0,r.useState)(t.title),[Y,H]=(0,r.useState)(!1),[q,G]=(0,r.useState)({x:0,y:0}),X=(0,r.useRef)(null),_=(0,r.useRef)(null),[K,V]=(0,r.useState)(!1),[Q,Z]=(0,r.useState)(0),[ee,et]=(0,r.useState)([]),[en,er]=(0,r.useState)(!1),[ei,es]=(0,r.useState)(!1),[ea,eo]=(0,r.useState)("idle"),ec=(0,r.useRef)(!1),[el,ed]=(0,r.useState)(""),eu=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=navigator.userAgent||"";er(/Quest|Oculus|Pacific/i.test(e))},[]);let ep=(0,r.useRef)(t);ep.current=t;let em=(0,r.useRef)(j);em.current=j;let eh=(0,r.useRef)(T);eh.current=T;let ef=(0,r.useRef)(()=>{}),ex=(0,r.useRef)(!1),eg=(0,r.useRef)(!1),eb=(0,r.useRef)(null),ew=(0,r.useRef)(0),ey=(0,r.useCallback)(async()=>{if(!P.current)return;ep.current,eg.current=!1,ew.current=0;let{Terminal:t}=await e.A(16049),{FitAddon:n}=await e.A(59439),{WebLinksAddon:r}=await e.A(16091);M.current&&M.current.dispose();let i=/Quest|Oculus|Pacific/i.test(navigator.userAgent),s=new t({cursorBlink:!i,disableStdin:i,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', 'JetBrains Mono', Consolas, monospace",scrollback:1e4,fastScrollModifier:"alt",smoothScrollDuration:0,theme:{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#6366f1",selectionBackground:"#6366f133",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"},allowProposedApi:!0}),a=new n,o=new r;s.loadAddon(a),s.loadAddon(o),await new Promise(e=>requestAnimationFrame(()=>{if(P.current){s.open(P.current);try{a.fit()}catch{}}e()})),s.attachCustomKeyEventHandler(e=>"keydown"!==e.type||(e.ctrlKey&&"c"===e.key&&s.hasSelection()?(navigator.clipboard.writeText(s.getSelection()),s.clearSelection(),!1):!e.ctrlKey||"v"!==e.key||(e.preventDefault(),navigator.clipboard.readText().then(e=>{e&&$.current?.readyState===WebSocket.OPEN&&$.current.send(JSON.stringify({type:"data",data:e}))}),!1))),M.current=s,A.current=a,requestAnimationFrame(()=>requestAnimationFrame(I)),setTimeout(I,300);let c=()=>{let e,t,n,r,i;if(eg.current)return;ew.current>0&&(s.write("\x1b[2J\x1b[H"),s.clear());let a=new WebSocket((t=new URLSearchParams({paneId:(e=ep.current).id,cwd:e.cwd,agentType:e.agentType||"shell",cols:String(s.cols),rows:String(s.rows)}),e.claudeSessionId&&t.set("agentSession",e.claudeSessionId),e.customCommand&&t.set("customCommand",e.customCommand),e.nodeId&&t.set("nodeId",e.nodeId),(n=eh.current)&&t.set("terminalToken",n),r=v||"/ws",i="https:"===location.protocol?"wss:":"ws:",`${i}//${location.host}${r}?${t}`));$.current=a,a.onopen=()=>{U(!0),V(!1),ex.current=!1,ew.current=0,setTimeout(I,150)},a.onmessage=e=>{try{let n=JSON.parse(e.data);if("data"===n.type){var t;t=n.data,O.current+=t,null===L.current&&(L.current=requestAnimationFrame(()=>{L.current=null;let e=O.current;O.current="",e&&M.current&&(e=e.replace(/\x1b\[3J/g,""),M.current.write(e))}))}else if("exit"===n.type){V(!0),ex.current=!0;let e=n.reason?` — ${n.reason}`:"";s.write(`\r
2
+ \x1b[90m[Process exited with code ${n.exitCode}${e}]\x1b[0m\r
3
+ `)}else"error"===n.type?s.write(`\r
4
+ \x1b[31m${n.data}\x1b[0m\r
5
+ `):"session-detected"===n.type?em.current(ep.current.id,{claudeSessionId:n.sessionId}):"cortex-injection"===n.type?(Z(n.count||0),n.items&&et(n.items)):"collab-updated"===n.type&&em.current(ep.current.id,{isCollaborating:n.isCollaborating})}catch{}},a.onclose=()=>{if(U(!1),!ex.current&&!eg.current){let e=ew.current;if(e<20){let t=Math.min(1e3*Math.pow(1.5,e),3e4);ew.current=e+1,eb.current=setTimeout(c,t)}}},a.onerror=()=>{U(!1)}};s.onData(e=>{$.current?.readyState===WebSocket.OPEN&&$.current.send(JSON.stringify({type:"data",data:e}))}),s.onResize(({cols:e,rows:t})=>{$.current?.readyState===WebSocket.OPEN&&$.current.send(JSON.stringify({type:"resize",cols:e,rows:t}))}),c()},[]);(0,r.useEffect)(()=>(ey(),()=>{eg.current=!0,eb.current&&clearTimeout(eb.current),$.current?.close(),M.current?.dispose()}),[ey]),(0,r.useEffect)(()=>{let e,t=new ResizeObserver(()=>{cancelAnimationFrame(e),e=requestAnimationFrame(I)});return P.current&&t.observe(P.current),()=>{cancelAnimationFrame(e),t.disconnect()}},[]),(0,r.useEffect)(()=>{setTimeout(I,50)},[k,en]);let ev=()=>{j(t.id,{title:W}),J(!1)},ej=e=>{$.current?.readyState===WebSocket.OPEN&&$.current.send(JSON.stringify({type:"data",data:e}))},ek=(0,r.useRef)(null),eN=!("u">typeof navigator&&/Quest|Oculus|Pacific/i.test(navigator.userAgent))&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window),ez=()=>{if(!ec.current)return;let e=window.SpeechRecognition||window.webkitSpeechRecognition;if(!e)return;let t=new e;t.continuous=!0,t.interimResults=!0,t.lang="en-US";let n=0;t.onresult=e=>{if(!ec.current)return;let t="";for(let n=0;n<e.results.length;n++)e.results[n].isFinal&&(t+=e.results[n][0].transcript);if(t.length>n){var r=t.slice(n);if($.current?.readyState===WebSocket.OPEN){let e=`\x1b[200~${r}\x1b[201~`;$.current.send(JSON.stringify({type:"data",data:e}))}n=t.length}},t.onerror=e=>{if("not-allowed"===e.error||"service-not-allowed"===e.error){ec.current=!1,es(!1),eo("idle");return}ec.current&&setTimeout(ez,500)},t.onend=()=>{ec.current?setTimeout(ez,100):eo("idle")},t.onstart=()=>eo("listening"),ek.current=t,t.start()};(0,r.useEffect)(()=>()=>{if(ec.current=!1,ek.current)try{ek.current.abort()}catch{}},[]);let[eC,eS]=(0,r.useState)(null),[eT,eE]=(0,r.useState)(!1),eR=(0,r.useRef)(null);return ef.current=(0,r.useCallback)(async e=>{if(0===e.length)return;let t=ep.current.cwd||"/",n=new FormData;for(let r of(n.append("dir",t),e))n.append("files",r);let r=e.map(e=>e.name).join(", ");eS(`Uploading ${e.length} file${e.length>1?"s":""}...`),eR.current&&clearTimeout(eR.current);try{let e=await fetch("/api/files",{method:"POST",body:n});if(e.ok){let n=await e.json();eS(`Uploaded ${n.files?.join(", ")||r} to ${t}`);let i=M.current;i&&i.write(`\r
6
+ \x1b[90m[Uploaded ${n.files?.join(", ")||r} → ${t}]\x1b[0m\r
7
+ `)}else eS("Upload failed")}catch{eS("Upload failed")}eR.current=setTimeout(()=>eS(null),4e3)},[]),(0,r.useEffect)(()=>{let e=P.current;if(!e)return;let t=t=>{if(!e.contains(t.target))return;let n=t.clipboardData?.items;if(!n)return;let r=[];for(let e=0;e<n.length;e++){let t=n[e];if("file"===t.kind){let e=t.getAsFile();e&&r.push(e)}}r.length>0&&(t.preventDefault(),t.stopPropagation(),ef.current(r))};document.addEventListener("paste",t,!0);let n=e=>{e.preventDefault(),e.stopPropagation(),eE(!0)},r=t=>{t.preventDefault(),e&&!e.contains(t.relatedTarget)&&eE(!1)},i=e=>{e.preventDefault(),e.stopPropagation(),eE(!1);let t=[];if(e.dataTransfer?.files)for(let n=0;n<e.dataTransfer.files.length;n++)t.push(e.dataTransfer.files[n]);t.length>0&&ef.current(t)};return e.addEventListener("dragover",n),e.addEventListener("dragleave",r),e.addEventListener("drop",i),()=>{document.removeEventListener("paste",t,!0),e.removeEventListener("dragover",n),e.removeEventListener("dragleave",r),e.removeEventListener("drop",i)}},[]),(0,r.useEffect)(()=>{if(!Y)return;let e=e=>{let t=e.target;X.current&&!X.current.contains(t)&&_.current&&!_.current.contains(t)&&H(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[Y]),(0,n.jsxs)("div",{className:(0,b.cn)("flex flex-col border rounded-lg overflow-hidden",k?"absolute inset-0 z-40 !rounded-none":"","border-zinc-700"),style:{borderColor:`${t.color}60`},children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs select-none flex-shrink-0",style:{backgroundColor:`${t.color}30`,borderBottom:`1px solid ${t.color}40`},children:[(0,n.jsxs)("div",{ref:X,className:"flex-shrink-0",children:[(0,n.jsx)("button",{onClick:e=>{let t=e.currentTarget.getBoundingClientRect();G({x:t.left,y:t.bottom+6}),H(!Y)},className:"w-3 h-3 rounded-full hover:ring-2 hover:ring-zinc-500 ring-offset-1 ring-offset-zinc-900 transition-shadow cursor-pointer",style:{backgroundColor:t.color},title:"Change color"}),Y&&(0,i.createPortal)((0,n.jsx)("div",{ref:_,className:"fixed z-[9999] bg-zinc-800 border border-zinc-600 rounded-xl p-3 shadow-2xl",style:{left:q.x,top:q.y},children:(0,n.jsx)("div",{className:"grid grid-cols-4 gap-2.5",style:{width:132},children:["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c"].map(e=>(0,n.jsx)("button",{onClick:()=>{j(t.id,{color:e}),H(!1)},className:`w-7 h-7 rounded-full border-2 transition-all hover:scale-110 ${t.color===e?"border-white scale-110 shadow-lg":"border-transparent hover:border-zinc-500"}`,style:{backgroundColor:e}},e))})}),document.body)]}),B?(0,n.jsxs)("div",{className:"flex items-center gap-1 flex-1",children:[(0,n.jsx)("input",{autoFocus:!0,value:W,onChange:e=>D(e.target.value),onKeyDown:e=>{"Enter"===e.key&&ev(),"Escape"===e.key&&(D(t.title),J(!1))},className:"flex-1 bg-transparent border border-zinc-600 rounded px-1.5 py-0.5 text-xs focus:outline-none focus:border-indigo-400"}),(0,n.jsx)("button",{onClick:ev,className:"text-green-400 hover:text-green-300",children:(0,n.jsx)(o.Check,{className:"w-3 h-3"})})]}):(0,n.jsxs)("div",{className:"flex items-center gap-1 flex-1 min-w-0 group/title",children:[(0,n.jsx)("span",{onDoubleClick:()=>J(!0),className:"truncate text-zinc-300 font-medium cursor-default",children:t.title}),(0,n.jsx)("button",{onClick:()=>J(!0),className:"text-zinc-600 hover:text-zinc-300 opacity-0 group-hover/title:opacity-100 transition-opacity flex-shrink-0",title:"Rename",children:(0,n.jsx)(a.Pencil,{className:"w-2.5 h-2.5"})})]}),(0,n.jsx)("button",{onClick:()=>C?.(t.cwd),className:"text-[10px] text-zinc-500 truncate max-w-[120px] hover:text-amber-400 transition-colors",title:`Browse ${t.cwd}`,children:t.cwd.split(/[/\\]/).pop()}),t.agentType&&"shell"!==t.agentType&&(0,n.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium",style:{backgroundColor:`${w.AGENT_TYPES[t.agentType]?.color||"#6366f1"}20`,color:w.AGENT_TYPES[t.agentType]?.color||"#6366f1"},children:w.AGENT_TYPES[t.agentType]?.name||t.agentType}),t.nodeId&&(0,n.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium bg-blue-500/10 text-blue-400 flex items-center gap-0.5",children:[(0,n.jsx)(m.Globe,{className:"w-2.5 h-2.5"}),"remote"]}),E&&"shell"!==t.agentType&&(0,n.jsx)("button",{onClick:async()=>{let e=!t.isCollaborating;await j(t.id,{isCollaborating:e}),$.current?.readyState===WebSocket.OPEN&&$.current.send(JSON.stringify({type:"collab-toggle",isCollaborating:e}))},className:`transition-colors ${t.isCollaborating?"text-indigo-400 hover:text-indigo-300":"text-zinc-600 hover:text-zinc-400"}`,title:t.isCollaborating?"Collaborating — click to opt out":"Not collaborating — click to opt in",children:(0,n.jsx)(h.Users,{className:"w-3 h-3"})}),!F&&!K&&(0,n.jsx)("span",{className:"text-[10px] text-yellow-500",children:"connecting..."}),K&&(0,n.jsx)("button",{onClick:()=>{eg.current=!0,eb.current&&clearTimeout(eb.current),$.current?.close(),M.current?.dispose(),V(!1),ex.current=!1,setTimeout(ey,100)},className:"text-zinc-400 hover:text-white",title:"Restart",children:(0,n.jsx)(l,{className:"w-3 h-3"})}),!S&&z&&(0,n.jsx)("button",{onClick:()=>{z&&(eg.current=!0,eb.current&&clearTimeout(eb.current),$.current?.close(),M.current?.dispose(),z(t.id))},className:"text-zinc-300 hover:text-white",title:"Pop out to new window",children:(0,n.jsx)(p,{className:"w-3 h-3"})}),(0,n.jsx)("button",{onClick:()=>N(t.id),className:"text-zinc-300 hover:text-white",title:k?"Restore":"Maximize",children:k?(0,n.jsx)(u,{className:"w-3 h-3"}):(0,n.jsx)(d,{className:"w-3 h-3"})}),(0,n.jsx)("button",{onClick:()=>{confirm("Close this terminal?")&&c(t.id)},className:"text-zinc-300 hover:text-red-400",title:"Close",children:(0,n.jsx)(s.X,{className:"w-3 h-3"})})]}),(0,n.jsxs)("div",{ref:P,className:"flex-1 relative bg-[#0a0a0a]",style:{minHeight:k?en?"calc(100vh - 180px)":"calc(100vh - 100px)":"300px"},onClick:en?e=>{e.preventDefault(),eu.current?.focus()}:void 0,children:[eT&&(0,n.jsx)("div",{className:"absolute inset-0 z-10 bg-indigo-500/10 border-2 border-dashed border-indigo-400 flex items-center justify-center pointer-events-none",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 bg-zinc-900/90 px-4 py-2 rounded-lg text-sm text-indigo-300",children:[(0,n.jsx)(g.Upload,{className:"w-4 h-4"}),"Drop files to upload to ",t.cwd.split(/[/\\]/).pop()||t.cwd]})}),eC&&(0,n.jsx)("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 z-10 bg-zinc-800/95 border border-zinc-600 px-3 py-1.5 rounded-lg text-xs text-zinc-300 shadow-lg",children:eC})]}),en&&(0,n.jsxs)("div",{className:"flex flex-col gap-1 px-2 py-1.5 flex-shrink-0 border-t border-zinc-700",style:{backgroundColor:`${t.color}15`,borderTopColor:`${t.color}30`},children:[(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("input",{ref:eu,type:"text",value:el,onChange:e=>ed(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),ej(el?el+"\r":"\r"),ed(""))},placeholder:"Type or use mic...",className:"flex-1 bg-zinc-900 text-zinc-200 text-sm px-3 py-2 rounded border border-zinc-600 focus:border-zinc-400 focus:outline-none font-mono placeholder:text-zinc-600",autoComplete:"off",autoCorrect:"on",spellCheck:!1}),(0,n.jsx)("button",{onClick:()=>{ej(el?el+"\r":"\r"),ed(""),eu.current?.focus()},className:"px-3 py-2 text-[11px] font-mono bg-indigo-600 hover:bg-indigo-500 text-white rounded border border-indigo-500 font-medium",children:"Send"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("button",{onClick:()=>{ej("\x1b"),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Esc"}),(0,n.jsx)("button",{onClick:()=>{ej(" "),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Tab"}),(0,n.jsx)("button",{onClick:()=>{ej("\x03"),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Ctrl+C"}),(0,n.jsx)("button",{onClick:()=>{ej("\x1b[A"),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↑"}),(0,n.jsx)("button",{onClick:()=>{ej("\x1b[B"),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↓"}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)("button",{onClick:()=>{ed(""),eu.current?.focus()},className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Clear"})]})]}),!en&&eN&&(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 px-2 py-1 flex-shrink-0 border-t border-zinc-700/50",style:{backgroundColor:`${t.color}08`},children:[ei&&(0,n.jsx)("span",{className:"text-[10px] text-green-400 animate-pulse mr-1",children:"Listening..."}),(0,n.jsx)("button",{onClick:()=>{if(ec.current){if(ec.current=!1,es(!1),eo("idle"),ek.current){try{ek.current.abort()}catch{}ek.current=null}}else eN&&(ec.current=!0,es(!0),ez(),setTimeout(()=>M.current?.focus(),100))},className:(0,b.cn)("p-1 rounded border transition-all",ei?"bg-green-900/50 border-green-500 text-green-400 hover:bg-red-900/50 hover:border-red-600 hover:text-red-400 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"bg-zinc-800/50 border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:bg-zinc-700"),title:ei?"Stop voice mode":"Start voice dictation",children:ei?(0,n.jsx)(x.MicOff,{className:"w-3.5 h-3.5"}):(0,n.jsx)(f.Mic,{className:"w-3.5 h-3.5"})})]})]})}e.s(["TerminalPane",()=>j],24134)},80416,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(31278),i=e.i(24134),s=e.i(34623),a=e.i(9165);function o({params:e}){return(0,t.jsx)(s.TotpGate,{children:n=>(0,t.jsx)(c,{params:e,terminalToken:n})})}function c({params:e,terminalToken:s}){let[o,c]=(0,n.useState)(null),[l,d]=(0,n.useState)(!0),[u,p]=(0,n.useState)(null),m=(0,n.useRef)(null),h=(0,n.useRef)(!1);(0,n.useEffect)(()=>{e.then(e=>p(e.id))},[e]),(0,n.useEffect)(()=>{u&&fetch((0,a.api)(`/api/panes/${u}`)).then(e=>e.json()).then(e=>{c(e),d(!1)}).catch(()=>d(!1))},[u]),(0,n.useEffect)(()=>{if(!u)return;let e=new BroadcastChannel("spaces-panes");return m.current=e,e.postMessage({type:"popout-opened",paneId:u}),fetch((0,a.api)(`/api/panes/${u}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!0,winX:window.screenX,winY:window.screenY,winWidth:window.innerWidth,winHeight:window.innerHeight})}),e.onmessage=e=>{"close-popouts"===e.data.type&&(h.current=!0,navigator.sendBeacon((0,a.api)(`/api/panes/${u}`),new Blob([JSON.stringify({isPopout:!0,winX:window.screenX,winY:window.screenY,winWidth:window.innerWidth,winHeight:window.innerHeight})],{type:"application/json"})),window.close())},()=>{e.close()}},[u]),(0,n.useEffect)(()=>{let e;if(!u)return;let t=()=>{clearTimeout(e),e=setTimeout(()=>{fetch((0,a.api)(`/api/panes/${u}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({winX:window.screenX,winY:window.screenY,winWidth:window.innerWidth,winHeight:window.innerHeight})})},2e3)};window.addEventListener("resize",t);let n=window.screenX,r=window.screenY,i=setInterval(()=>{(window.screenX!==n||window.screenY!==r)&&(n=window.screenX,r=window.screenY,t())},1e3);return()=>{window.removeEventListener("resize",t),clearInterval(i),clearTimeout(e)}},[u]),(0,n.useEffect)(()=>{if(!u)return;let e=()=>{h.current||navigator.sendBeacon((0,a.api)(`/api/panes/${u}`),new Blob([JSON.stringify({isPopout:!1,winX:window.screenX,winY:window.screenY,winWidth:window.innerWidth,winHeight:window.innerHeight})],{type:"application/json"})),m.current?.postMessage({type:"popout-closed",paneId:u})};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[u]),(0,n.useEffect)(()=>{o&&(document.title=`${o.title} - Spaces`)},[o?.title]);let f=(0,n.useCallback)(async e=>{await fetch((0,a.api)(`/api/panes/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!1})}),m.current?.postMessage({type:"popout-closed",paneId:e}),h.current=!0,window.close()},[]),x=(0,n.useCallback)(async(e,t)=>{await fetch((0,a.api)(`/api/panes/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),c(e=>e?{...e,...t}:null),m.current?.postMessage({type:"pane-updated",paneId:e,data:t})},[]);return l||!o?(0,t.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,t.jsx)(r.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,t.jsx)("div",{className:"h-screen bg-zinc-950",children:(0,t.jsx)(i.TerminalPane,{pane:o,onClose:f,onUpdate:x,isMaximized:!0,onToggleMaximize:()=>{},terminalToken:s})})}e.s(["default",()=>o])},16049,e=>{e.v(t=>Promise.all(["static/chunks/e40d2bd3b4ce8192.js"].map(t=>e.l(t))).then(()=>t(44908)))},59439,e=>{e.v(t=>Promise.all(["static/chunks/af8bfb72187b7cbf.js"].map(t=>e.l(t))).then(()=>t(93309)))},16091,e=>{e.v(t=>Promise.all(["static/chunks/9768207ca0a51abd.js"].map(t=>e.l(t))).then(()=>t(52216)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},66027,54616,e=>{"use strict";let t;var r=e.i(75555),i=e.i(40143),n=e.i(86491),s=e.i(15823),a=e.i(93803),o=e.i(19273),l=e.i(80166),u=class extends s.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,a.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#i=void 0;#n=void 0;#s=void 0;#a;#o;#r;#t;#l;#u;#c;#h;#d;#p;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#i.addObserver(this),c(this.#i,this.options)?this.#y():this.updateResult(),this.#m())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#i,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#i,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#v(),this.#b(),this.#i.removeObserver(this)}setOptions(e){let t=this.options,r=this.#i;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,o.resolveEnabled)(this.options.enabled,this.#i))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#g(),this.#i.setOptions(this.options),t._defaulted&&!(0,o.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#i,observer:this});let i=this.hasListeners();i&&d(this.#i,r,this.options,t)&&this.#y(),this.updateResult(),i&&(this.#i!==r||(0,o.resolveEnabled)(this.options.enabled,this.#i)!==(0,o.resolveEnabled)(t.enabled,this.#i)||(0,o.resolveStaleTime)(this.options.staleTime,this.#i)!==(0,o.resolveStaleTime)(t.staleTime,this.#i))&&this.#x();let n=this.#w();i&&(this.#i!==r||(0,o.resolveEnabled)(this.options.enabled,this.#i)!==(0,o.resolveEnabled)(t.enabled,this.#i)||n!==this.#p)&&this.#O(n)}getOptimisticResult(e){var t,r;let i=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(i,e);return t=this,r=n,(0,o.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#s=n,this.#o=this.options,this.#a=this.#i.state),n}getCurrentResult(){return this.#s}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#i}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#y({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#y(e){this.#g();let t=this.#i.fetch(this.options,e);return e?.throwOnError||(t=t.catch(o.noop)),t}#x(){this.#v();let e=(0,o.resolveStaleTime)(this.options.staleTime,this.#i);if(o.isServer||this.#s.isStale||!(0,o.isValidTimeout)(e))return;let t=(0,o.timeUntilStale)(this.#s.dataUpdatedAt,e);this.#h=l.timeoutManager.setTimeout(()=>{this.#s.isStale||this.updateResult()},t+1)}#w(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#i):this.options.refetchInterval)??!1}#O(e){this.#b(),this.#p=e,!o.isServer&&!1!==(0,o.resolveEnabled)(this.options.enabled,this.#i)&&(0,o.isValidTimeout)(this.#p)&&0!==this.#p&&(this.#d=l.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||r.focusManager.isFocused())&&this.#y()},this.#p))}#m(){this.#x(),this.#O(this.#w())}#v(){this.#h&&(l.timeoutManager.clearTimeout(this.#h),this.#h=void 0)}#b(){this.#d&&(l.timeoutManager.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let r,i=this.#i,s=this.options,l=this.#s,u=this.#a,h=this.#o,f=e!==i?e.state:this.#n,{state:y}=e,m={...y},v=!1;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&c(e,t),o=r&&d(e,i,t,s);(a||o)&&(m={...m,...(0,n.fetchState)(y.data,e.options)}),"isRestoring"===t._optimisticResults&&(m.fetchStatus="idle")}let{error:b,errorUpdatedAt:g,status:x}=m;r=m.data;let w=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===x){let e;l?.isPlaceholderData&&t.placeholderData===h?.placeholderData?(e=l.data,w=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#c?.state.data,this.#c):t.placeholderData,void 0!==e&&(x="success",r=(0,o.replaceData)(l?.data,e,t),v=!0)}if(t.select&&void 0!==r&&!w)if(l&&r===u?.data&&t.select===this.#l)r=this.#u;else try{this.#l=t.select,r=t.select(r),r=(0,o.replaceData)(l?.data,r,t),this.#u=r,this.#t=null}catch(e){this.#t=e}this.#t&&(b=this.#t,r=this.#u,g=Date.now(),x="error");let O="fetching"===m.fetchStatus,S="pending"===x,k="error"===x,j=S&&O,E=void 0!==r,I={status:x,fetchStatus:m.fetchStatus,isPending:S,isSuccess:"success"===x,isError:k,isInitialLoading:j,isLoading:j,data:r,dataUpdatedAt:m.dataUpdatedAt,error:b,errorUpdatedAt:g,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>f.dataUpdateCount||m.errorUpdateCount>f.errorUpdateCount,isFetching:O,isRefetching:O&&!S,isLoadingError:k&&!E,isPaused:"paused"===m.fetchStatus,isPlaceholderData:v,isRefetchError:k&&E,isStale:p(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,o.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==I.data,r="error"===I.status&&!t,n=e=>{r?e.reject(I.error):t&&e.resolve(I.data)},s=()=>{n(this.#r=I.promise=(0,a.pendingThenable)())},o=this.#r;switch(o.status){case"pending":e.queryHash===i.queryHash&&n(o);break;case"fulfilled":(r||I.data!==o.value)&&s();break;case"rejected":r&&I.error===o.reason||s()}}return I}updateResult(){let e=this.#s,t=this.createResult(this.#i,this.options);if(this.#a=this.#i.state,this.#o=this.options,void 0!==this.#a.data&&(this.#c=this.#i),(0,o.shallowEqualObjects)(t,e))return;this.#s=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#f.size)return!0;let i=new Set(r??this.#f);return this.options.throwOnError&&i.add("error"),Object.keys(this.#s).some(t=>this.#s[t]!==e[t]&&i.has(t))};this.#S({listeners:r()})}#g(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#i)return;let t=this.#i;this.#i=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#m()}#S(e){i.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#s)}),this.#e.getQueryCache().notify({query:this.#i,type:"observerResultsUpdated"})})}};function c(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,r){if(!1!==(0,o.resolveEnabled)(t.enabled,e)&&"static"!==(0,o.resolveStaleTime)(t.staleTime,e)){let i="function"==typeof r?r(e):r;return"always"===i||!1!==i&&p(e,t)}return!1}function d(e,t,r,i){return(e!==t||!1===(0,o.resolveEnabled)(i.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&p(e,r)}function p(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,o.resolveStaleTime)(t.staleTime,e))}e.i(47167);var f=e.i(71645),y=e.i(12598);e.i(18050);var m=f.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),v=f.createContext(!1);v.Provider;var b=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function g(e,t){return function(e,t,r){let n,s=f.useContext(v),a=f.useContext(m),l=(0,y.useQueryClient)(r),u=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(u);let c=l.getQueryCache().get(u.queryHash);if(u._optimisticResults=s?"isRestoring":"optimistic",u.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=u.staleTime;u.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof u.gcTime&&(u.gcTime=Math.max(u.gcTime,1e3))}n=c?.state.error&&"function"==typeof u.throwOnError?(0,o.shouldThrowError)(u.throwOnError,[c.state.error,c]):u.throwOnError,(u.suspense||u.experimental_prefetchInRender||n)&&!a.isReset()&&(u.retryOnMount=!1),f.useEffect(()=>{a.clearReset()},[a]);let h=!l.getQueryCache().get(u.queryHash),[d]=f.useState(()=>new t(l,u)),p=d.getOptimisticResult(u),g=!s&&!1!==e.subscribed;if(f.useSyncExternalStore(f.useCallback(e=>{let t=g?d.subscribe(i.notifyManager.batchCalls(e)):o.noop;return d.updateResult(),t},[d,g]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),f.useEffect(()=>{d.setOptions(u)},[u,d]),u?.suspense&&p.isPending)throw b(u,d,a);if((({result:e,errorResetBoundary:t,throwOnError:r,query:i,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&i&&(n&&void 0===e.data||(0,o.shouldThrowError)(r,[e.error,i])))({result:p,errorResetBoundary:a,throwOnError:u.throwOnError,query:c,suspense:u.suspense}))throw p.error;if(l.getDefaultOptions().queries?._experimental_afterQuery?.(u,p),u.experimental_prefetchInRender&&!o.isServer&&p.isLoading&&p.isFetching&&!s){let e=h?b(u,d,a):c?.promise;e?.catch(o.noop).finally(()=>{d.updateResult()})}return u.notifyOnChangeProps?p:d.trackResult(p)}(e,u,t)}e.s(["useQuery",()=>g],66027);var x=e.i(14272),w=s,O=class extends w.Subscribable{#e;#s=void 0;#k;#j;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#E()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#k,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#k?.state.status==="pending"&&this.#k.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#k?.removeObserver(this)}onMutationUpdate(e){this.#E(),this.#S(e)}getCurrentResult(){return this.#s}reset(){this.#k?.removeObserver(this),this.#k=void 0,this.#E(),this.#S()}mutate(e,t){return this.#j=t,this.#k?.removeObserver(this),this.#k=this.#e.getMutationCache().build(this.#e,this.options),this.#k.addObserver(this),this.#k.execute(e)}#E(){let e=this.#k?.state??(0,x.getDefaultState)();this.#s={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#S(e){i.notifyManager.batch(()=>{if(this.#j&&this.hasListeners()){let t=this.#s.variables,r=this.#s.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#j.onSuccess?.(e.data,t,r,i)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(e.data,null,t,r,i)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#j.onError?.(e.error,t,r,i)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(void 0,e.error,t,r,i)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#s)})})}};function S(e,t){let r=(0,y.useQueryClient)(t),[n]=f.useState(()=>new O(r,e));f.useEffect(()=>{n.setOptions(e)},[n,e]);let s=f.useSyncExternalStore(f.useCallback(e=>n.subscribe(i.notifyManager.batchCalls(e)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),a=f.useCallback((e,t)=>{n.mutate(e,t).catch(o.noop)},[n]);if(s.error&&(0,o.shouldThrowError)(n.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:a,mutateAsync:s.mutate}}e.s(["useMutation",()=>S],54616)},3999,e=>{"use strict";var t=e.i(66027),r=e.i(54616),i=e.i(12598),n=e.i(9165);function s(e={}){return(0,t.useQuery)({queryKey:["sessions",e],queryFn:async()=>{let t=new URLSearchParams;return e.projectId&&t.set("projectId",e.projectId),void 0!==e.starred&&t.set("starred",String(e.starred)),e.search&&t.set("search",e.search),e.agentType&&t.set("agentType",e.agentType),e.sortBy&&t.set("sortBy",e.sortBy),e.sortDir&&t.set("sortDir",e.sortDir),void 0!==e.offset&&t.set("offset",String(e.offset)),void 0!==e.limit&&t.set("limit",String(e.limit)),"all"===e.nodeFilter&&t.set("nodes","all"),(await fetch((0,n.api)(`/api/sessions?${t}`))).json()}})}function a(e){return(0,t.useQuery)({queryKey:["session",e],queryFn:async()=>{let t=await fetch((0,n.api)(`/api/sessions/${e}`));if(!t.ok)throw Error("Session not found");return t.json()},enabled:!!e})}function o(e,r=0,i=50,s){return(0,t.useQuery)({queryKey:["messages",e,r,i,s],queryFn:async()=>{let t=s?(0,n.api)(`/api/network/proxy/${s}/sessions/${e}/messages?offset=${r}&limit=${i}`):(0,n.api)(`/api/sessions/${e}/messages?offset=${r}&limit=${i}`);return(await fetch(t)).json()},enabled:!!e})}function l(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>(await fetch((0,n.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"star"})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function u(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({sessionId:e,notes:t})=>(await fetch((0,n.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"notes",notes:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["session"]})}})}function c(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,n.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"tag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function h(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,n.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"removeTag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function d(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({sessionId:e,name:t})=>(await fetch((0,n.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",name:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function p(){return(0,t.useQuery)({queryKey:["tags"],queryFn:async()=>(await fetch((0,n.api)("/api/tags"))).json()})}function f(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>(await fetch((0,n.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",tagId:e})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function y(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({tagId:e,color:t})=>(await fetch((0,n.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"updateColor",tagId:e,color:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function m(){return(0,t.useQuery)({queryKey:["workspaces"],queryFn:async()=>(await fetch((0,n.api)("/api/workspaces"))).json()})}function v(){return(0,t.useQuery)({queryKey:["workspaces","remote"],queryFn:async()=>(await fetch((0,n.api)("/api/workspaces?nodes=all"))).json()})}function b(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({workspaceId:e,sessionId:t,nodeId:r,title:i,cwd:s,agentType:a})=>{let o=await fetch((0,n.api)(`/api/workspaces/${e}/sessions`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,nodeId:r,title:i,cwd:s,agentType:a})});if(!o.ok)throw Error("Failed to add session to workspace");return o.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function g(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async({workspaceId:e,sessionId:t})=>{let r=await fetch((0,n.api)(`/api/workspaces/${e}/sessions`),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})});if(!r.ok)throw Error("Failed to remove session from workspace");return r.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function x(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async e=>(await fetch((0,n.api)("/api/bulk"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["tags"]})}})}function w(){return(0,t.useQuery)({queryKey:["projects"],queryFn:async()=>(await fetch((0,n.api)("/api/projects"))).json()})}function O(){return(0,t.useQuery)({queryKey:["analytics"],queryFn:async()=>(await fetch((0,n.api)("/api/analytics/overview"))).json()})}function S(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:async()=>(await fetch((0,n.api)("/api/sync"),{method:"POST"})).json(),onSuccess:()=>{e.invalidateQueries()}})}e.s(["useAddSessionToWorkspace",()=>b,"useAddTag",()=>c,"useAnalytics",()=>O,"useBulkAction",()=>x,"useDeleteTag",()=>f,"useMessages",()=>o,"useProjects",()=>w,"useRemoteWorkspaces",()=>v,"useRemoveSessionFromWorkspace",()=>g,"useRemoveTag",()=>h,"useRenameSession",()=>d,"useSession",()=>a,"useSessions",()=>s,"useSync",()=>S,"useTags",()=>p,"useToggleStar",()=>l,"useUpdateNotes",()=>u,"useUpdateTagColor",()=>y,"useWorkspaces",()=>m])},88081,e=>{"use strict";let t=(0,e.i(75254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},55838,(e,t,r)=>{"use strict";var i=e.r(71645),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=i.useState,a=i.useEffect,o=i.useLayoutEffect,l=i.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),i=s({inst:{value:r,getSnapshot:t}}),n=i[0].inst,c=i[1];return o(function(){n.value=r,n.getSnapshot=t,u(n)&&c({inst:n})},[e,r,t]),a(function(){return u(n)&&c({inst:n}),e(function(){u(n)&&c({inst:n})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:c},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var i=e.r(71645),n=e.r(2239),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=n.useSyncExternalStore,o=i.useRef,l=i.useEffect,u=i.useMemo,c=i.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,i,n){var h=o(null);if(null===h.current){var d={hasValue:!1,value:null};h.current=d}else d=h.current;var p=a(e,(h=u(function(){function e(e){if(!l){if(l=!0,a=e,e=i(e),void 0!==n&&d.hasValue){var t=d.value;if(n(t,e))return o=t}return o=e}if(t=o,s(a,e))return t;var r=i(e);return void 0!==n&&n(t,r)?(a=e,t):(a=e,o=r)}var a,o,l=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,i,n]))[0],h[1]);return l(function(){d.hasValue=!0,d.value=p},[p]),c(p),p}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},65332,e=>{"use strict";function t(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function r(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}e.s(["initInterpolator",()=>r,"initRange",()=>t])},51381,e=>{"use strict";class t extends Map{constructor(e,t=i){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,r]of e)this.set(t,r)}get(e){return super.get(r(this,e))}has(e){return super.has(r(this,e))}set(e,t){return super.set(function({_intern:e,_key:t},r){let i=t(r);return e.has(i)?e.get(i):(e.set(i,r),r)}(this,e),t)}delete(e){return super.delete(function({_intern:e,_key:t},r){let i=t(r);return e.has(i)&&(r=e.get(i),e.delete(i)),r}(this,e))}}function r({_intern:e,_key:t},r){let i=t(r);return e.has(i)?e.get(i):r}function i(e){return null!==e&&"object"==typeof e?e.valueOf():e}e.s(["InternMap",()=>t])},65232,e=>{"use strict";var t=e.i(51381),r=e.i(65332);let i=Symbol("implicit");e.s(["default",()=>function e(){var n=new t.InternMap,s=[],a=[],o=i;function l(e){let t=n.get(e);if(void 0===t){if(o!==i)return o;n.set(e,t=s.push(e)-1)}return a[t%a.length]}return l.domain=function(e){if(!arguments.length)return s.slice();for(let r of(s=[],n=new t.InternMap,e))n.has(r)||n.set(r,s.push(r)-1);return l},l.range=function(e){return arguments.length?(a=Array.from(e),l):a.slice()},l.unknown=function(e){return arguments.length?(o=e,l):o},l.copy=function(){return e(s,a).unknown(o)},r.initRange.apply(l,arguments),l},"implicit",0,i])},79996,47238,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var i in t)r[i]=t[i];return r}function i(){}var n="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",o=/^#([0-9a-f]{3,8})$/,l=RegExp(`^rgb\\(${n},${n},${n}\\)$`),u=RegExp(`^rgb\\(${a},${a},${a}\\)$`),c=RegExp(`^rgba\\(${n},${n},${n},${s}\\)$`),h=RegExp(`^rgba\\(${a},${a},${a},${s}\\)$`),d=RegExp(`^hsl\\(${s},${a},${a}\\)$`),p=RegExp(`^hsla\\(${s},${a},${a},${s}\\)$`),f={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function y(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=o.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?b(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?g(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?g(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=l.exec(e))?new w(t[1],t[2],t[3],1):(t=u.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=c.exec(e))?g(t[1],t[2],t[3],t[4]):(t=h.exec(e))?g(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=d.exec(e))?I(t[1],t[2]/100,t[3]/100,1):(t=p.exec(e))?I(t[1],t[2]/100,t[3]/100,t[4]):f.hasOwnProperty(e)?b(f[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function b(e){return new w(e>>16&255,e>>8&255,255&e,1)}function g(e,t,r,i){return i<=0&&(e=t=r=NaN),new w(e,t,r,i)}function x(e,t,r,n){var s;return 1==arguments.length?((s=e)instanceof i||(s=v(s)),s)?new w((s=s.rgb()).r,s.g,s.b,s.opacity):new w:new w(e,t,r,null==n?1:n)}function w(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}function O(){return`#${E(this.r)}${E(this.g)}${E(this.b)}`}function S(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${j(this.r)}, ${j(this.g)}, ${j(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function j(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function E(e){return((e=j(e))<16?"0":"")+e.toString(16)}function I(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new R(e,t,r,i)}function N(e){if(e instanceof R)return new R(e.h,e.s,e.l,e.opacity);if(e instanceof i||(e=v(e)),!e)return new R;if(e instanceof R)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,s=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,l=a-s,u=(a+s)/2;return l?(o=t===a?(r-n)/l+(r<n)*6:r===a?(n-t)/l+2:(t-r)/l+4,l/=u<.5?a+s:2-a-s,o*=60):l=u>0&&u<1?0:o,new R(o,l,u,e.opacity)}function R(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}function C(e){return(e=(e||0)%360)<0?e+360:e}function P(e){return Math.max(0,Math.min(1,e||0))}function T(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(i,v,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:y,formatHex:y,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return N(this).formatHsl()},formatRgb:m,toString:m}),t(w,x,r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(j(this.r),j(this.g),j(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:O,formatHex:O,formatHex8:function(){return`#${E(this.r)}${E(this.g)}${E(this.b)}${E((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:S,toString:S})),t(R,function(e,t,r,i){return 1==arguments.length?N(e):new R(e,t,r,null==i?1:i)},r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new R(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new R(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,n=2*r-i;return new w(T(e>=240?e-240:e+120,n,i),T(e,n,i),T(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new R(C(this.h),P(this.s),P(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${C(this.h)}, ${100*P(this.s)}%, ${100*P(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>v,"rgb",()=>x],47238),e.s(["color",()=>v],79996)},65445,625,e=>{"use strict";var t=e.i(47238);function r(e,t,r,i,n){var s=e*e,a=s*e;return((1-3*e+3*s-a)*t+(4-6*s+3*a)*r+(1+3*e+3*s-3*a)*i+a*n)/6}let i=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:i(isNaN(e)?t:e)}e.s(["default",0,i],625);let s=function e(r){var s,a=1==(s=+r)?n:function(e,t){var r,n,a;return t-e?(r=e,n=t,r=Math.pow(r,a=s),n=Math.pow(n,a)-r,a=1/a,function(e){return Math.pow(r+e*n,a)}):i(isNaN(e)?t:e)};function o(e,r){var i=a((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),s=a(e.g,r.g),o=a(e.b,r.b),l=n(e.opacity,r.opacity);return function(t){return e.r=i(t),e.g=s(t),e.b=o(t),e.opacity=l(t),e+""}}return o.gamma=e,o}(1);function a(e){return function(r){var i,n,s=r.length,a=Array(s),o=Array(s),l=Array(s);for(i=0;i<s;++i)n=(0,t.rgb)(r[i]),a[i]=n.r||0,o[i]=n.g||0,l[i]=n.b||0;return a=e(a),o=e(o),l=e(l),n.opacity=1,function(e){return n.r=a(e),n.g=o(e),n.b=l(e),n+""}}}a(function(e){var t=e.length-1;return function(i){var n=i<=0?i=0:i>=1?(i=1,t-1):Math.floor(i*t),s=e[n],a=e[n+1],o=n>0?e[n-1]:2*s-a,l=n<t-1?e[n+2]:2*a-s;return r((i-n/t)*t,o,s,a,l)}}),a(function(e){var t=e.length;return function(i){var n=Math.floor(((i%=1)<0?++i:i)*t),s=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],l=e[(n+2)%t];return r((i-n/t)*t,s,a,o,l)}}),e.s(["default",0,s],65445)},68593,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},35204,e=>{"use strict";var t=e.i(68593),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,i=RegExp(r.source,"g");e.s(["default",0,function(e,n){var s,a,o,l,u,c=r.lastIndex=i.lastIndex=0,h=-1,d=[],p=[];for(e+="",n+="";(o=r.exec(e))&&(l=i.exec(n));)(u=l.index)>c&&(u=n.slice(c,u),d[h]?d[h]+=u:d[++h]=u),(o=o[0])===(l=l[0])?d[h]?d[h]+=l:d[++h]=l:(d[++h]=null,p.push({i:h,x:(0,t.default)(o,l)})),c=i.lastIndex;return c<n.length&&(u=n.slice(c),d[h]?d[h]+=u:d[++h]=u),d.length<2?p[0]?(s=p[0].x,function(e){return s(e)+""}):(a=n,function(){return a}):(n=p.length,function(e){for(var t,r=0;r<n;++r)d[(t=p[r]).i]=t.x(e);return d.join("")})}])},52491,e=>{"use strict";var t=e.i(68593);e.s(["interpolateNumber",()=>t.default])},89785,e=>{"use strict";function t(e,t){let r;if(void 0===t)for(let t of e)null!=t&&(r<t||void 0===r&&t>=t)&&(r=t);else{let i=-1;for(let n of e)null!=(n=t(n,++i,e))&&(r<n||void 0===r&&n>=n)&&(r=n)}return r}e.s(["default",()=>t])},65993,e=>{"use strict";function t(e,t){let r;if(void 0===t)for(let t of e)null!=t&&(r>t||void 0===r&&t>=t)&&(r=t);else{let i=-1;for(let n of e)null!=(n=t(n,++i,e))&&(r>n||void 0===r&&n>=n)&&(r=n)}return r}e.s(["default",()=>t])},237,e=>{"use strict";e.s(["Area",()=>ek,"computeArea",()=>eS],237);var t=e.i(71645),r=e.i(7670),i=e.i(72733),n=e.i(97865),s=e.i(69212),a=e.i(73393),o=e.i(57999),l=e.i(94395);function u(){return(u=Object.assign.bind()).apply(null,arguments)}var c=e=>{var{cx:i,cy:n,r:s,className:c}=e,h=(0,r.clsx)("recharts-dot",c);return(0,l.isNumber)(i)&&(0,l.isNumber)(n)&&(0,l.isNumber)(s)?t.createElement("circle",u({},(0,o.svgPropertiesNoEvents)(e),(0,a.adaptEventHandlers)(e),{className:h,cx:i,cy:n,r:s})):null},h=e.i(81977),d=e.i(43404),p=e.i(29601),f=e.i(18457),y=["points"];function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(){return(b=Object.assign.bind()).apply(null,arguments)}function g(e){var{option:i,dotProps:n,className:s}=e;if((0,t.isValidElement)(i))return(0,t.cloneElement)(i,n);if("function"==typeof i)return i(n);var a=(0,r.clsx)(s,"boolean"!=typeof i?i.className:""),o=null!=n?n:{},{points:l}=o,u=function(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;r[i]=e[i]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)r=s[i],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(o,y);return t.createElement(c,b({},u,{className:a}))}function x(e){var{points:r,dot:i,className:s,dotClassName:a,dataKey:o,baseProps:l,needClip:u,clipPathId:c,zIndex:y=f.DefaultZIndexes.scatter}=e;if(null==r||!i&&1!==r.length)return null;var m=(0,h.isClipDot)(i),x=(0,d.svgPropertiesAndEventsFromUnknown)(i),w=r.map((e,n)=>{var s,u,c=v(v(v({r:3},l),x),{},{index:n,cx:null!=(s=e.x)?s:void 0,cy:null!=(u=e.y)?u:void 0,dataKey:o,value:e.value,payload:e.payload,points:r});return t.createElement(g,{key:"dot-".concat(n),option:i,dotProps:c,className:a})}),O={};return u&&null!=c&&(O.clipPath="url(#clipPath-".concat(m?"":"dots-").concat(c,")")),t.createElement(p.ZIndexLayer,{zIndex:y},t.createElement(n.Layer,b({className:s},O),w))}var w=e.i(62728),O=e.i(79812),S=e.i(27241),k=e.i(76735),j=e.i(52734);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var N=e=>{var r,{point:i,childIndex:s,mainColor:l,activeDot:u,dataKey:h,clipPath:d}=e;if(!1===u||null==i.x||null==i.y)return null;var p=I(I(I({},{index:s,dataKey:h,cx:i.x,cy:i.y,r:4,fill:null!=l?l:"none",strokeWidth:2,stroke:"#fff",payload:i.payload,value:i.value}),(0,o.svgPropertiesNoEventsFromUnknown)(u)),(0,a.adaptEventHandlers)(u));return r=(0,t.isValidElement)(u)?(0,t.cloneElement)(u,p):"function"==typeof u?u(p):t.createElement(c,p),t.createElement(n.Layer,{className:"recharts-active-dot",clipPath:d},r)};function R(e){var{points:r,mainColor:i,activeDot:n,itemDataKey:s,clipPath:a,zIndex:o=f.DefaultZIndexes.activeDot}=e,u=(0,S.useAppSelector)(k.selectActiveTooltipIndex),c=(0,j.useActiveTooltipDataPoints)();if(null==r||null==c)return null;var h=r.find(e=>c.includes(e.payload));return(0,l.isNullish)(h)?null:t.createElement(p.ZIndexLayer,{zIndex:o},t.createElement(N,{point:h,childIndex:Number(u),mainColor:i,dataKey:s,activeDot:n,clipPath:a}))}var C=e.i(844),P=e.i(59798),T=e.i(61849),Q=e.i(61764),M=e.i(46710),A=e.i(92860),D=e.i(91526),$=e.i(77320),q=e.i(42221),K=(e,t,r)=>(0,Q.selectAxisWithScale)(e,"xAxis",(0,q.selectXAxisIdFromGraphicalItemId)(e,t),r),F=(e,t,r)=>(0,Q.selectTicksOfGraphicalItem)(e,"xAxis",(0,q.selectXAxisIdFromGraphicalItemId)(e,t),r),L=(e,t,r)=>(0,Q.selectAxisWithScale)(e,"yAxis",(0,q.selectYAxisIdFromGraphicalItemId)(e,t),r),z=(e,t,r)=>(0,Q.selectTicksOfGraphicalItem)(e,"yAxis",(0,q.selectYAxisIdFromGraphicalItemId)(e,t),r),U=(0,T.createSelector)([M.selectChartLayout,K,L,F,z],(e,t,r,i,n)=>(0,O.isCategoricalAxis)(e,"xAxis")?(0,O.getBandSizeOfAxis)(t,i,!1):(0,O.getBandSizeOfAxis)(r,n,!1)),W=(0,T.createSelector)([Q.selectUnfilteredCartesianItems,(e,t)=>t],(e,t)=>e.filter(e=>"area"===e.type).find(e=>e.id===t)),B=e=>{var t=(0,M.selectChartLayout)(e);return(0,O.isCategoricalAxis)(t,"xAxis")?"yAxis":"xAxis"},H=(0,T.createSelector)([W,(e,t,r)=>(0,Q.selectStackGroups)(e,B(e),"yAxis"===B(e)?(0,q.selectYAxisIdFromGraphicalItemId)(e,t):(0,q.selectXAxisIdFromGraphicalItemId)(e,t),r)],(e,t)=>{if(null!=e&&null!=t){var r,{stackId:i}=e,n=(0,D.getStackSeriesIdentifier)(e);if(null!=i&&null!=n){var s=null==(r=t[i])?void 0:r.stackedData,a=null==s?void 0:s.find(e=>e.key===n);if(null!=a)return a.map(e=>[e[0],e[1]])}}}),V=(0,T.createSelector)([M.selectChartLayout,K,L,F,z,H,A.selectChartDataWithIndexesIfNotInPanoramaPosition3,U,W,$.selectChartBaseValue],(e,t,r,i,n,s,a,o,l,u)=>{var c,{chartData:h,dataStartIndex:d,dataEndIndex:p}=a;if(null!=l&&("horizontal"===e||"vertical"===e)&&null!=t&&null!=r&&null!=i&&null!=n&&0!==i.length&&0!==n.length&&null!=o){var{data:f}=l;if(null!=(c=f&&f.length>0?f:null==h?void 0:h.slice(d,p+1)))return eS({layout:e,xAxis:t,yAxis:r,xAxisTicks:i,yAxisTicks:n,dataStartIndex:d,areaSettings:l,stackedData:s,displayedData:c,chartBaseValue:u,bandSize:o})}}),_=e.i(75337),G=e.i(75502),J=e.i(95146),Z=e.i(40657),X=e.i(51883),Y=e.i(22075),ee=e.i(15549),et=e.i(91187),er=e.i(66576),ei=e.i(20135),en=["id"],es=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function ea(){return(ea=Object.assign.bind()).apply(null,arguments)}function eo(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;r[i]=e[i]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)r=s[i],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function el(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function eu(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?el(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):el(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ec(e,t){return e&&"none"!==e?e:t}var eh=t.memo(e=>{var{dataKey:r,data:i,stroke:n,strokeWidth:s,fill:a,name:o,hide:u,unit:c,tooltipType:h,id:d}=e,p={dataDefinedOnItem:i,getPosition:l.noop,settings:{stroke:n,strokeWidth:s,fill:a,dataKey:r,nameKey:void 0,name:(0,O.getTooltipNameProp)(o,r),hide:u,type:h,color:ec(n,a),unit:c,graphicalItemId:d}};return t.createElement(C.SetTooltipEntrySettings,{tooltipEntrySettings:p})});function ed(e){var{clipPathId:r,points:i,props:n}=e,{needClip:s,dot:a,dataKey:l}=n,u=(0,o.svgPropertiesNoEvents)(n);return t.createElement(x,{points:i,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:l,baseProps:u,needClip:s,clipPathId:r})}function ep(e){var{showLabels:r,children:i,points:n}=e,a=n.map(e=>{var t,r,i={x:null!=(t=e.x)?t:0,y:null!=(r=e.y)?r:0,width:0,lowerWidth:0,upperWidth:0,height:0};return eu(eu({},i),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:i,fill:void 0})});return t.createElement(s.CartesianLabelListContextProvider,{value:r?a:void 0},i)}function ef(e){var{points:r,baseLine:s,needClip:a,clipPathId:l,props:u}=e,{layout:c,type:h,stroke:p,connectNulls:f,isRange:y}=u,{id:m}=u,v=eo(u,en),b=(0,o.svgPropertiesNoEvents)(v),g=(0,d.svgPropertiesAndEvents)(v);return t.createElement(t.Fragment,null,(null==r?void 0:r.length)>1&&t.createElement(n.Layer,{clipPath:a?"url(#clipPath-".concat(l,")"):void 0},t.createElement(i.Curve,ea({},g,{id:m,points:r,connectNulls:f,type:h,baseLine:s,layout:c,stroke:"none",className:"recharts-area-area"})),"none"!==p&&t.createElement(i.Curve,ea({},b,{className:"recharts-area-curve",layout:c,type:h,connectNulls:f,fill:"none",points:r})),"none"!==p&&y&&t.createElement(i.Curve,ea({},b,{className:"recharts-area-curve",layout:c,type:h,connectNulls:f,fill:"none",points:s}))),t.createElement(ed,{points:r,props:v,clipPathId:l}))}function ey(e){var r,i,{alpha:n,baseLine:s,points:a,strokeWidth:o}=e,u=null==(r=a[0])?void 0:r.y,c=null==(i=a[a.length-1])?void 0:i.y;if(!(0,Y.isWellBehavedNumber)(u)||!(0,Y.isWellBehavedNumber)(c))return null;var h=n*Math.abs(u-c),d=Math.max(...a.map(e=>e.x||0));return((0,l.isNumber)(s)?d=Math.max(s,d):s&&Array.isArray(s)&&s.length&&(d=Math.max(...s.map(e=>e.x||0),d)),(0,l.isNumber)(d))?t.createElement("rect",{x:0,y:u<c?u:u-h,width:d+(o?parseInt("".concat(o),10):1),height:Math.floor(h)}):null}function em(e){var r,i,{alpha:n,baseLine:s,points:a,strokeWidth:o}=e,u=null==(r=a[0])?void 0:r.x,c=null==(i=a[a.length-1])?void 0:i.x;if(!(0,Y.isWellBehavedNumber)(u)||!(0,Y.isWellBehavedNumber)(c))return null;var h=n*Math.abs(u-c),d=Math.max(...a.map(e=>e.y||0));return((0,l.isNumber)(s)?d=Math.max(s,d):s&&Array.isArray(s)&&s.length&&(d=Math.max(...s.map(e=>e.y||0),d)),(0,l.isNumber)(d))?t.createElement("rect",{x:u<c?u:u-h,y:0,width:h,height:Math.floor(d+(o?parseInt("".concat(o),10):1))}):null}function ev(e){var{alpha:r,layout:i,points:n,baseLine:s,strokeWidth:a}=e;return"vertical"===i?t.createElement(ey,{alpha:r,points:n,baseLine:s,strokeWidth:a}):t.createElement(em,{alpha:r,points:n,baseLine:s,strokeWidth:a})}function eb(e){var{needClip:r,clipPathId:i,props:a,previousPointsRef:o,previousBaselineRef:u}=e,{points:c,baseLine:h,isAnimationActive:d,animationBegin:p,animationDuration:f,animationEasing:y,onAnimationStart:m,onAnimationEnd:v}=a,b=(0,t.useMemo)(()=>({points:c,baseLine:h}),[c,h]),g=(0,Z.useAnimationId)(b,"recharts-area-"),x=(0,M.useCartesianChartLayout)(),[w,O]=(0,t.useState)(!1),S=(0,t.useCallback)(()=>{"function"==typeof v&&v(),O(!1)},[v]),k=(0,t.useCallback)(()=>{"function"==typeof m&&m(),O(!0)},[m]);if(null==x)return null;var j=o.current,E=u.current;return t.createElement(ep,{showLabels:!w,points:c},a.children,t.createElement(er.JavascriptAnimate,{animationId:g,begin:p,duration:f,isActive:d,easing:y,onAnimationEnd:S,onAnimationStart:k,key:g},e=>{if(j){var s,p=j.length/c.length,f=1===e?c:c.map((t,r)=>{var i=Math.floor(r*p);if(j[i]){var n=j[i];return eu(eu({},t),{},{x:(0,l.interpolate)(n.x,t.x,e),y:(0,l.interpolate)(n.y,t.y,e)})}return t});return s=(0,l.isNumber)(h)?(0,l.interpolate)(E,h,e):(0,l.isNullish)(h)||(0,l.isNan)(h)?(0,l.interpolate)(E,0,e):h.map((t,r)=>{var i=Math.floor(r*p);if(Array.isArray(E)&&E[i]){var n=E[i];return eu(eu({},t),{},{x:(0,l.interpolate)(n.x,t.x,e),y:(0,l.interpolate)(n.y,t.y,e)})}return t}),e>0&&(o.current=f,u.current=s),t.createElement(ef,{points:f,baseLine:s,needClip:r,clipPathId:i,props:a})}return e>0&&(o.current=c,u.current=h),t.createElement(n.Layer,null,d&&t.createElement("defs",null,t.createElement("clipPath",{id:"animationClipPath-".concat(i)},t.createElement(ev,{alpha:e,points:c,baseLine:h,layout:x,strokeWidth:a.strokeWidth}))),t.createElement(n.Layer,{clipPath:"url(#animationClipPath-".concat(i,")")},t.createElement(ef,{points:c,baseLine:h,needClip:r,clipPathId:i,props:a})))}),t.createElement(s.LabelListFromLabelProp,{label:a.label}))}function eg(e){var{needClip:r,clipPathId:i,props:n}=e,s=(0,t.useRef)(null),a=(0,t.useRef)();return t.createElement(eb,{needClip:r,clipPathId:i,props:n,previousPointsRef:s,previousBaselineRef:a})}class ex extends t.PureComponent{render(){var{hide:e,dot:i,points:s,className:a,top:l,left:u,needClip:c,xAxisId:d,yAxisId:f,width:y,height:m,id:v,baseLine:b,zIndex:g}=this.props;if(e)return null;var x=(0,r.clsx)("recharts-area",a),{r:w,strokeWidth:O}=function(e){var t=(0,o.svgPropertiesNoEventsFromUnknown)(e);if(null!=t){var{r,strokeWidth:i}=t,n=Number(r),s=Number(i);return(Number.isNaN(n)||n<0)&&(n=3),(Number.isNaN(s)||s<0)&&(s=2),{r:n,strokeWidth:s}}return{r:3,strokeWidth:2}}(i),S=(0,h.isClipDot)(i),k=2*w+O,j=c?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return t.createElement(p.ZIndexLayer,{zIndex:g},t.createElement(n.Layer,{className:x},c&&t.createElement("defs",null,t.createElement(P.GraphicalItemClipPath,{clipPathId:v,xAxisId:d,yAxisId:f}),!S&&t.createElement("clipPath",{id:"clipPath-dots-".concat(v)},t.createElement("rect",{x:u-k/2,y:l-k/2,width:y+k,height:m+k}))),t.createElement(eg,{needClip:c,clipPathId:v,props:this.props})),t.createElement(R,{points:s,mainColor:ec(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:j}),this.props.isRange&&Array.isArray(b)&&t.createElement(R,{points:b,mainColor:ec(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:j}))}}var ew={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:f.DefaultZIndexes.area};function eO(e){var r,i=(0,X.resolveDefaultProps)(e,ew),{activeDot:n,animationBegin:s,animationDuration:a,animationEasing:o,connectNulls:l,dot:u,fill:c,fillOpacity:h,hide:d,isAnimationActive:p,legendType:f,stroke:y,xAxisId:m,yAxisId:v}=i,b=eo(i,es),g=(0,M.useChartLayout)(),x=(0,G.useChartName)(),{needClip:O}=(0,P.useNeedsClip)(m,v),k=(0,_.useIsPanorama)(),{points:E,isRange:I,baseLine:N}=null!=(r=(0,S.useAppSelector)(t=>V(t,e.id,k)))?r:{},R=(0,j.usePlotArea)();if("horizontal"!==g&&"vertical"!==g||null==R||"AreaChart"!==x&&"ComposedChart"!==x)return null;var{height:C,width:T,x:Q,y:A}=R;return E&&E.length?t.createElement(ex,ea({},b,{activeDot:n,animationBegin:s,animationDuration:a,animationEasing:o,baseLine:N,connectNulls:l,dot:u,fill:c,fillOpacity:h,height:C,hide:d,layout:g,isAnimationActive:"auto"===p?!w.Global.isSsr:p,isRange:I,legendType:f,needClip:O,points:E,stroke:y,width:T,left:Q,top:A,xAxisId:m,yAxisId:v})):null}function eS(e){var t,{areaSettings:{connectNulls:r,baseValue:i,dataKey:n},stackedData:s,layout:a,chartBaseValue:o,xAxis:u,yAxis:c,displayedData:h,dataStartIndex:d,xAxisTicks:p,yAxisTicks:f,bandSize:y}=e,m=s&&s.length,v=((e,t,r,i,n)=>{var s=null!=r?r:t;if((0,l.isNumber)(s))return s;var a="horizontal"===e?n:i,o=a.scale.domain();if("number"===a.type){var u=Math.max(o[0],o[1]),c=Math.min(o[0],o[1]);return"dataMin"===s?c:"dataMax"===s||u<0?u:Math.max(Math.min(o[0],o[1]),0)}return"dataMin"===s?o[0]:"dataMax"===s?o[1]:o[0]})(a,o,i,u,c),b="horizontal"===a,g=!1,x=h.map((e,t)=>{if(m)l=s[d+t];else{var i,a,o,l,h,x=(0,O.getValueByDataKey)(e,n);Array.isArray(x)?(l=x,g=!0):l=[v,x]}var w=null!=(i=null==(a=l)?void 0:a[1])?i:null,S=null==w||m&&!r&&null==(0,O.getValueByDataKey)(e,n);return b?{x:(0,O.getCateCoordinateOfLine)({axis:u,ticks:p,bandSize:y,entry:e,index:t}),y:S?null:null!=(h=c.scale.map(w))?h:null,value:l,payload:e}:{x:S?null:null!=(o=u.scale.map(w))?o:null,y:(0,O.getCateCoordinateOfLine)({axis:c,ticks:f,bandSize:y,entry:e,index:t}),value:l,payload:e}});return t=m||g?x.map(e=>{var t,r,i=Array.isArray(e.value)?e.value[0]:null;return b?{x:e.x,y:null!=i&&null!=e.y&&null!=(r=c.scale.map(i))?r:null,payload:e.payload}:{x:null!=i&&null!=(t=u.scale.map(i))?t:null,y:e.y,payload:e.payload}}):b?c.scale.map(v):u.scale.map(v),{points:x,baseLine:null!=t?t:0,isRange:g}}var ek=t.memo(function(e){var r=(0,X.resolveDefaultProps)(e,ew),i=(0,_.useIsPanorama)();return t.createElement(ee.RegisterGraphicalItemId,{id:r.id,type:"area"},e=>t.createElement(t.Fragment,null,t.createElement(J.SetLegendPayload,{legendPayload:(e=>{var{dataKey:t,name:r,stroke:i,fill:n,legendType:s,hide:a}=e;return[{inactive:a,dataKey:t,type:s,color:ec(i,n),value:(0,O.getTooltipNameProp)(r,t),payload:e}]})(r)}),t.createElement(eh,{dataKey:r.dataKey,data:r.data,stroke:r.stroke,strokeWidth:r.strokeWidth,fill:r.fill,name:r.name,hide:r.hide,unit:r.unit,tooltipType:r.tooltipType,id:e}),t.createElement(et.SetCartesianGraphicalItem,{type:"area",id:e,data:r.data,dataKey:r.dataKey,xAxisId:r.xAxisId,yAxisId:r.yAxisId,zAxisId:0,stackId:(0,O.getNormalizedStackId)(r.stackId),hide:r.hide,barSize:void 0,baseValue:r.baseValue,isPanorama:i,connectNulls:r.connectNulls}),t.createElement(eO,ea({},r,{id:e}))))},ei.propsAreEqual);ek.displayName="Area"},1725,e=>{"use strict";var t=e.i(71645),r=e.i(25949),i=e.i(33369),n=["axis"],s=(0,t.forwardRef)((e,s)=>t.createElement(i.CartesianChart,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:n,tooltipPayloadSearcher:r.arrayTooltipSearcher,categoricalChartProps:e,ref:s}));e.s(["AreaChart",()=>s])},73401,e=>{"use strict";var t=e.i(18050),r=e.i(3999),i=e.i(29863),n=e.i(80969),s=e.i(99236),a=e.i(31278),o=e.i(9694),l=e.i(75225),u=e.i(85183),c=e.i(93230),h=e.i(34239),d=e.i(31195),p=e.i(237),f=e.i(1725),y=e.i(336),m=e.i(75157);function v(){let{data:e,isLoading:v}=(0,r.useAnalytics)();if(v)return(0,t.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,t.jsx)(a.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})});if(!e)return null;let g=(e.dailyModelTokens||[]).slice(-30).map(e=>{let t=Object.values(e.tokensByModel).reduce((e,t)=>e+t,0);return{date:new Date(e.date).toLocaleDateString("en-US",{month:"short",day:"numeric"}),tokens:t}}),x=(e.dailyActivity||[]).slice(-30).map(e=>({date:new Date(e.date).toLocaleDateString("en-US",{month:"short",day:"numeric"}),toolCalls:e.toolCallCount})),w=Object.entries(e.modelUsage||{}).map(([e,t])=>({model:(0,y.getModelDisplayName)(e),fullModel:e,input:t.inputTokens,output:t.outputTokens,cacheRead:t.cacheReadInputTokens,cacheWrite:t.cacheCreationInputTokens,total:t.inputTokens+t.outputTokens+t.cacheReadInputTokens+t.cacheCreationInputTokens})).sort((e,t)=>t.total-e.total);return(0,t.jsxs)("div",{className:"p-6 space-y-6 max-w-7xl",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold",children:"Analytics"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm mt-1",children:"Deep insights into your agent usage"})]}),(0,t.jsx)(s.StatsCards,{totalSessions:e.totalSessions,totalMessages:e.totalMessages,totalProjects:e.totalProjects,estimatedCost:e.estimatedCost}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,t.jsx)(i.ActivityChart,{dailyActivity:e.dailyActivity}),(0,t.jsx)(n.ModelUsageChart,{modelUsage:e.modelUsage})]}),(0,t.jsxs)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"font-semibold mb-4",children:"Token Usage Over Time"}),0===g.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground h-[200px] flex items-center justify-center",children:"No token data"}):(0,t.jsx)(d.ResponsiveContainer,{width:"100%",height:200,children:(0,t.jsxs)(f.AreaChart,{data:g,children:[(0,t.jsx)(u.XAxis,{dataKey:"date",tick:{fontSize:11}}),(0,t.jsx)(c.YAxis,{tick:{fontSize:11},tickFormatter:e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}),(0,t.jsx)(h.Tooltip,{formatter:e=>`${(Number(e)/1e3).toFixed(0)}K tokens`,contentStyle:{background:"var(--background)",border:"1px solid var(--border)",borderRadius:"0.5rem",fontSize:"12px"}}),(0,t.jsx)(p.Area,{type:"monotone",dataKey:"tokens",fill:"#6366f1",fillOpacity:.2,stroke:"#6366f1"})]})})]}),(0,t.jsxs)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"font-semibold mb-4",children:"Tool Calls Over Time"}),0===x.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground h-[200px] flex items-center justify-center",children:"No tool call data"}):(0,t.jsx)(d.ResponsiveContainer,{width:"100%",height:200,children:(0,t.jsxs)(o.BarChart,{data:x,children:[(0,t.jsx)(u.XAxis,{dataKey:"date",tick:{fontSize:11}}),(0,t.jsx)(c.YAxis,{tick:{fontSize:11}}),(0,t.jsx)(h.Tooltip,{contentStyle:{background:"var(--background)",border:"1px solid var(--border)",borderRadius:"0.5rem",fontSize:"12px"}}),(0,t.jsx)(l.Bar,{dataKey:"toolCalls",fill:"#8b5cf6",radius:[2,2,0,0]})]})})]}),(0,t.jsxs)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg",children:[(0,t.jsx)("div",{className:"p-4 border-b border-zinc-200 dark:border-zinc-800",children:(0,t.jsx)("h3",{className:"font-semibold",children:"Model Breakdown"})}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"text-left text-xs text-muted-foreground border-b border-zinc-200 dark:border-zinc-800",children:[(0,t.jsx)("th",{className:"px-4 py-2",children:"Model"}),(0,t.jsx)("th",{className:"px-4 py-2 text-right",children:"Input"}),(0,t.jsx)("th",{className:"px-4 py-2 text-right",children:"Output"}),(0,t.jsx)("th",{className:"px-4 py-2 text-right",children:"Cache Read"}),(0,t.jsx)("th",{className:"px-4 py-2 text-right",children:"Cache Write"})]})}),(0,t.jsx)("tbody",{className:"divide-y divide-zinc-200 dark:divide-zinc-800",children:w.map(e=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-4 py-2 font-medium",children:e.model}),(0,t.jsx)("td",{className:"px-4 py-2 text-right text-muted-foreground",children:b(e.input)}),(0,t.jsx)("td",{className:"px-4 py-2 text-right text-muted-foreground",children:b(e.output)}),(0,t.jsx)("td",{className:"px-4 py-2 text-right text-muted-foreground",children:b(e.cacheRead)}),(0,t.jsx)("td",{className:"px-4 py-2 text-right text-muted-foreground",children:b(e.cacheWrite)})]},e.fullModel))})]})}),e.estimatedCost>0&&(0,t.jsx)("div",{className:"px-4 py-3 border-t border-zinc-200 dark:border-zinc-800",children:(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Estimated API cost equivalent: ",(0,t.jsx)("span",{className:"text-zinc-400",children:(0,m.formatCost)(e.estimatedCost)})]})})]})]})}function b(e){return e?e>=1e9?`${(e/1e9).toFixed(1)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString():"-"}e.s(["default",()=>v])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70273,e=>{"use strict";let t=(0,e.i(75254).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);e.s(["Star",()=>t],70273)},31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},66027,54616,e=>{"use strict";let t;var s=e.i(75555),r=e.i(40143),i=e.i(86491),a=e.i(15823),n=e.i(93803),o=e.i(19273),u=e.i(80166),l=class extends a.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#s=(0,n.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#r=void 0;#i=void 0;#a=void 0;#n;#o;#s;#t;#u;#l;#c;#h;#d;#p;#y=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#r.addObserver(this),c(this.#r,this.options)?this.#f():this.updateResult(),this.#m())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#r,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#r,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#g(),this.#x(),this.#r.removeObserver(this)}setOptions(e){let t=this.options,s=this.#r;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,o.resolveEnabled)(this.options.enabled,this.#r))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#b(),this.#r.setOptions(this.options),t._defaulted&&!(0,o.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#r,observer:this});let r=this.hasListeners();r&&d(this.#r,s,this.options,t)&&this.#f(),this.updateResult(),r&&(this.#r!==s||(0,o.resolveEnabled)(this.options.enabled,this.#r)!==(0,o.resolveEnabled)(t.enabled,this.#r)||(0,o.resolveStaleTime)(this.options.staleTime,this.#r)!==(0,o.resolveStaleTime)(t.staleTime,this.#r))&&this.#v();let i=this.#k();r&&(this.#r!==s||(0,o.resolveEnabled)(this.options.enabled,this.#r)!==(0,o.resolveEnabled)(t.enabled,this.#r)||i!==this.#p)&&this.#R(i)}getOptimisticResult(e){var t,s;let r=this.#e.getQueryCache().build(this.#e,e),i=this.createResult(r,e);return t=this,s=i,(0,o.shallowEqualObjects)(t.getCurrentResult(),s)||(this.#a=i,this.#o=this.options,this.#n=this.#r.state),i}getCurrentResult(){return this.#a}trackResult(e,t){return new Proxy(e,{get:(e,s)=>(this.trackProp(s),t?.(s),"promise"===s&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#s.status||this.#s.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,s))})}trackProp(e){this.#y.add(e)}getCurrentQuery(){return this.#r}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),s=this.#e.getQueryCache().build(this.#e,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#f({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#a))}#f(e){this.#b();let t=this.#r.fetch(this.options,e);return e?.throwOnError||(t=t.catch(o.noop)),t}#v(){this.#g();let e=(0,o.resolveStaleTime)(this.options.staleTime,this.#r);if(o.isServer||this.#a.isStale||!(0,o.isValidTimeout)(e))return;let t=(0,o.timeUntilStale)(this.#a.dataUpdatedAt,e);this.#h=u.timeoutManager.setTimeout(()=>{this.#a.isStale||this.updateResult()},t+1)}#k(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#r):this.options.refetchInterval)??!1}#R(e){this.#x(),this.#p=e,!o.isServer&&!1!==(0,o.resolveEnabled)(this.options.enabled,this.#r)&&(0,o.isValidTimeout)(this.#p)&&0!==this.#p&&(this.#d=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||s.focusManager.isFocused())&&this.#f()},this.#p))}#m(){this.#v(),this.#R(this.#k())}#g(){this.#h&&(u.timeoutManager.clearTimeout(this.#h),this.#h=void 0)}#x(){this.#d&&(u.timeoutManager.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let s,r=this.#r,a=this.options,u=this.#a,l=this.#n,h=this.#o,y=e!==r?e.state:this.#i,{state:f}=e,m={...f},g=!1;if(t._optimisticResults){let s=this.hasListeners(),n=!s&&c(e,t),o=s&&d(e,r,t,a);(n||o)&&(m={...m,...(0,i.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(m.fetchStatus="idle")}let{error:x,errorUpdatedAt:b,status:v}=m;s=m.data;let k=!1;if(void 0!==t.placeholderData&&void 0===s&&"pending"===v){let e;u?.isPlaceholderData&&t.placeholderData===h?.placeholderData?(e=u.data,k=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#c?.state.data,this.#c):t.placeholderData,void 0!==e&&(v="success",s=(0,o.replaceData)(u?.data,e,t),g=!0)}if(t.select&&void 0!==s&&!k)if(u&&s===l?.data&&t.select===this.#u)s=this.#l;else try{this.#u=t.select,s=t.select(s),s=(0,o.replaceData)(u?.data,s,t),this.#l=s,this.#t=null}catch(e){this.#t=e}this.#t&&(x=this.#t,s=this.#l,b=Date.now(),v="error");let R="fetching"===m.fetchStatus,w="pending"===v,S="error"===v,j=w&&R,Q=void 0!==s,T={status:v,fetchStatus:m.fetchStatus,isPending:w,isSuccess:"success"===v,isError:S,isInitialLoading:j,isLoading:j,data:s,dataUpdatedAt:m.dataUpdatedAt,error:x,errorUpdatedAt:b,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>y.dataUpdateCount||m.errorUpdateCount>y.errorUpdateCount,isFetching:R,isRefetching:R&&!w,isLoadingError:S&&!Q,isPaused:"paused"===m.fetchStatus,isPlaceholderData:g,isRefetchError:S&&Q,isStale:p(e,t),refetch:this.refetch,promise:this.#s,isEnabled:!1!==(0,o.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==T.data,s="error"===T.status&&!t,i=e=>{s?e.reject(T.error):t&&e.resolve(T.data)},a=()=>{i(this.#s=T.promise=(0,n.pendingThenable)())},o=this.#s;switch(o.status){case"pending":e.queryHash===r.queryHash&&i(o);break;case"fulfilled":(s||T.data!==o.value)&&a();break;case"rejected":s&&T.error===o.reason||a()}}return T}updateResult(){let e=this.#a,t=this.createResult(this.#r,this.options);if(this.#n=this.#r.state,this.#o=this.options,void 0!==this.#n.data&&(this.#c=this.#r),(0,o.shallowEqualObjects)(t,e))return;this.#a=t;let s=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,s="function"==typeof t?t():t;if("all"===s||!s&&!this.#y.size)return!0;let r=new Set(s??this.#y);return this.options.throwOnError&&r.add("error"),Object.keys(this.#a).some(t=>this.#a[t]!==e[t]&&r.has(t))};this.#w({listeners:s()})}#b(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#r)return;let t=this.#r;this.#r=e,this.#i=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#m()}#w(e){r.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#a)}),this.#e.getQueryCache().notify({query:this.#r,type:"observerResultsUpdated"})})}};function c(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,s){if(!1!==(0,o.resolveEnabled)(t.enabled,e)&&"static"!==(0,o.resolveStaleTime)(t.staleTime,e)){let r="function"==typeof s?s(e):s;return"always"===r||!1!==r&&p(e,t)}return!1}function d(e,t,s,r){return(e!==t||!1===(0,o.resolveEnabled)(r.enabled,e))&&(!s.suspense||"error"!==e.state.status)&&p(e,s)}function p(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,o.resolveStaleTime)(t.staleTime,e))}e.i(47167);var y=e.i(71645),f=e.i(12598);e.i(18050);var m=y.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),g=y.createContext(!1);g.Provider;var x=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function b(e,t){return function(e,t,s){let i,a=y.useContext(g),n=y.useContext(m),u=(0,f.useQueryClient)(s),l=u.defaultQueryOptions(e);u.getDefaultOptions().queries?._experimental_beforeQuery?.(l);let c=u.getQueryCache().get(l.queryHash);if(l._optimisticResults=a?"isRestoring":"optimistic",l.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=l.staleTime;l.staleTime="function"==typeof t?(...s)=>e(t(...s)):e(t),"number"==typeof l.gcTime&&(l.gcTime=Math.max(l.gcTime,1e3))}i=c?.state.error&&"function"==typeof l.throwOnError?(0,o.shouldThrowError)(l.throwOnError,[c.state.error,c]):l.throwOnError,(l.suspense||l.experimental_prefetchInRender||i)&&!n.isReset()&&(l.retryOnMount=!1),y.useEffect(()=>{n.clearReset()},[n]);let h=!u.getQueryCache().get(l.queryHash),[d]=y.useState(()=>new t(u,l)),p=d.getOptimisticResult(l),b=!a&&!1!==e.subscribed;if(y.useSyncExternalStore(y.useCallback(e=>{let t=b?d.subscribe(r.notifyManager.batchCalls(e)):o.noop;return d.updateResult(),t},[d,b]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),y.useEffect(()=>{d.setOptions(l)},[l,d]),l?.suspense&&p.isPending)throw x(l,d,n);if((({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&void 0===e.data||(0,o.shouldThrowError)(s,[e.error,r])))({result:p,errorResetBoundary:n,throwOnError:l.throwOnError,query:c,suspense:l.suspense}))throw p.error;if(u.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!o.isServer&&p.isLoading&&p.isFetching&&!a){let e=h?x(l,d,n):c?.promise;e?.catch(o.noop).finally(()=>{d.updateResult()})}return l.notifyOnChangeProps?p:d.trackResult(p)}(e,l,t)}e.s(["useQuery",()=>b],66027);var v=e.i(14272),k=a,R=class extends k.Subscribable{#e;#a=void 0;#S;#j;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#Q()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#S,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#S?.state.status==="pending"&&this.#S.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#S?.removeObserver(this)}onMutationUpdate(e){this.#Q(),this.#w(e)}getCurrentResult(){return this.#a}reset(){this.#S?.removeObserver(this),this.#S=void 0,this.#Q(),this.#w()}mutate(e,t){return this.#j=t,this.#S?.removeObserver(this),this.#S=this.#e.getMutationCache().build(this.#e,this.options),this.#S.addObserver(this),this.#S.execute(e)}#Q(){let e=this.#S?.state??(0,v.getDefaultState)();this.#a={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#w(e){r.notifyManager.batch(()=>{if(this.#j&&this.hasListeners()){let t=this.#a.variables,s=this.#a.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#j.onSuccess?.(e.data,t,s,r)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(e.data,null,t,s,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#j.onError?.(e.error,t,s,r)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(void 0,e.error,t,s,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#a)})})}};function w(e,t){let s=(0,f.useQueryClient)(t),[i]=y.useState(()=>new R(s,e));y.useEffect(()=>{i.setOptions(e)},[i,e]);let a=y.useSyncExternalStore(y.useCallback(e=>i.subscribe(r.notifyManager.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),n=y.useCallback((e,t)=>{i.mutate(e,t).catch(o.noop)},[i]);if(a.error&&(0,o.shouldThrowError)(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:n,mutateAsync:a.mutate}}e.s(["useMutation",()=>w],54616)},3999,e=>{"use strict";var t=e.i(66027),s=e.i(54616),r=e.i(12598),i=e.i(9165);function a(e={}){return(0,t.useQuery)({queryKey:["sessions",e],queryFn:async()=>{let t=new URLSearchParams;return e.projectId&&t.set("projectId",e.projectId),void 0!==e.starred&&t.set("starred",String(e.starred)),e.search&&t.set("search",e.search),e.agentType&&t.set("agentType",e.agentType),e.sortBy&&t.set("sortBy",e.sortBy),e.sortDir&&t.set("sortDir",e.sortDir),void 0!==e.offset&&t.set("offset",String(e.offset)),void 0!==e.limit&&t.set("limit",String(e.limit)),"all"===e.nodeFilter&&t.set("nodes","all"),(await fetch((0,i.api)(`/api/sessions?${t}`))).json()}})}function n(e){return(0,t.useQuery)({queryKey:["session",e],queryFn:async()=>{let t=await fetch((0,i.api)(`/api/sessions/${e}`));if(!t.ok)throw Error("Session not found");return t.json()},enabled:!!e})}function o(e,s=0,r=50,a){return(0,t.useQuery)({queryKey:["messages",e,s,r,a],queryFn:async()=>{let t=a?(0,i.api)(`/api/network/proxy/${a}/sessions/${e}/messages?offset=${s}&limit=${r}`):(0,i.api)(`/api/sessions/${e}/messages?offset=${s}&limit=${r}`);return(await fetch(t)).json()},enabled:!!e})}function u(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"star"})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function l(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,notes:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"notes",notes:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["session"]})}})}function c(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"tag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function h(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"removeTag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function d(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,name:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",name:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function p(){return(0,t.useQuery)({queryKey:["tags"],queryFn:async()=>(await fetch((0,i.api)("/api/tags"))).json()})}function y(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",tagId:e})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function f(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({tagId:e,color:t})=>(await fetch((0,i.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"updateColor",tagId:e,color:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function m(){return(0,t.useQuery)({queryKey:["workspaces"],queryFn:async()=>(await fetch((0,i.api)("/api/workspaces"))).json()})}function g(){return(0,t.useQuery)({queryKey:["workspaces","remote"],queryFn:async()=>(await fetch((0,i.api)("/api/workspaces?nodes=all"))).json()})}function x(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t,nodeId:s,title:r,cwd:a,agentType:n})=>{let o=await fetch((0,i.api)(`/api/workspaces/${e}/sessions`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,nodeId:s,title:r,cwd:a,agentType:n})});if(!o.ok)throw Error("Failed to add session to workspace");return o.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function b(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t})=>{let s=await fetch((0,i.api)(`/api/workspaces/${e}/sessions`),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})});if(!s.ok)throw Error("Failed to remove session from workspace");return s.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function v(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/bulk"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["tags"]})}})}function k(){return(0,t.useQuery)({queryKey:["projects"],queryFn:async()=>(await fetch((0,i.api)("/api/projects"))).json()})}function R(){return(0,t.useQuery)({queryKey:["analytics"],queryFn:async()=>(await fetch((0,i.api)("/api/analytics/overview"))).json()})}function w(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async()=>(await fetch((0,i.api)("/api/sync"),{method:"POST"})).json(),onSuccess:()=>{e.invalidateQueries()}})}e.s(["useAddSessionToWorkspace",()=>x,"useAddTag",()=>c,"useAnalytics",()=>R,"useBulkAction",()=>v,"useDeleteTag",()=>y,"useMessages",()=>o,"useProjects",()=>k,"useRemoteWorkspaces",()=>g,"useRemoveSessionFromWorkspace",()=>b,"useRemoveTag",()=>h,"useRenameSession",()=>d,"useSession",()=>n,"useSessions",()=>a,"useSync",()=>w,"useTags",()=>p,"useToggleStar",()=>u,"useUpdateNotes",()=>l,"useUpdateTagColor",()=>f,"useWorkspaces",()=>m])},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},91898,e=>{"use strict";var t=e.i(18050),s=e.i(18566),r=e.i(71689),i=e.i(75157);function a({title:e,showBack:a,backHref:n,right:o,className:u}){let l=(0,s.useRouter)();return(0,t.jsxs)("header",{className:(0,i.cn)("sticky top-0 z-40 bg-zinc-950/95 backdrop-blur-sm border-b border-zinc-800","flex items-center gap-3 px-4 h-14 flex-shrink-0",u),children:[a&&(0,t.jsx)("button",{onClick:()=>{n?l.push(n):l.back()},className:"p-1 -ml-1 text-zinc-400 hover:text-white",children:(0,t.jsx)(r.ArrowLeft,{className:"w-5 h-5"})}),(0,t.jsx)("h1",{className:"text-base font-semibold truncate flex-1",children:e}),o&&(0,t.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:o})]})}e.s(["MobileHeader",()=>a])},78894,e=>{"use strict";let t=(0,e.i(75254).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],78894)},43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},48256,e=>{"use strict";let t=(0,e.i(75254).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],48256)},68054,e=>{"use strict";let t=(0,e.i(75254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],68054)},86536,e=>{"use strict";let t=(0,e.i(75254).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],86536)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},14764,e=>{"use strict";let t=(0,e.i(75254).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",()=>t],14764)},55711,e=>{"use strict";let t=(0,e.i(75254).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",()=>t],55711)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],55436)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},63059,78583,e=>{"use strict";var t=e.i(75254);let s=(0,t.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>s],63059);let r=(0,t.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>r],78583)},23284,e=>{"use strict";var t=e.i(71645);function s(){let[e,s]=(0,t.useState)(!1),[r,i]=(0,t.useState)(!1),[a,n]=(0,t.useState)(""),[o,u]=(0,t.useState)(""),l=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e,t;try{e=window.SpeechRecognition||window.webkitSpeechRecognition}catch{}if(i(!!e),e){try{(t=new e).continuous=!1,t.interimResults=!0,t.lang="en-US"}catch{i(!1);return}t.onresult=e=>{let t="",s="";for(let r=e.resultIndex;r<e.results.length;r++){let i=e.results[r];i.isFinal?s+=i[0].transcript:t+=i[0].transcript}s?(n(s),u("")):u(t)},t.onerror=()=>{s(!1)},t.onend=()=>{s(!1)},l.current=t}},[]);let c=(0,t.useCallback)(()=>{if(l.current&&!e){n(""),u("");try{l.current.start(),s(!0)}catch{}}},[e]);return{isListening:e,isSupported:r,transcript:a,interimTranscript:o,startListening:c,stopListening:(0,t.useCallback)(()=>{if(l.current){try{l.current.stop()}catch{}s(!1)}},[]),resetTranscript:(0,t.useCallback)(()=>{n(""),u("")},[])}}e.s(["useSpeechRecognition",()=>s])},14661,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(75254);let i=(0,r.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]),a=(0,r.default)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]]);var n=e.i(23284),o=e.i(75157);function u({onTranscript:e}){let{isListening:r,isSupported:u,transcript:l,interimTranscript:c,startListening:h,stopListening:d}=(0,n.useSpeechRecognition)();return((0,s.useEffect)(()=>{l&&e(l)},[l,e]),u)?(0,t.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,t.jsx)("button",{onClick:r?d:h,className:(0,o.cn)("p-2.5 rounded-xl transition-colors",r?"bg-red-500 text-white animate-pulse":"bg-zinc-800 text-zinc-400 hover:text-white"),children:r?(0,t.jsx)(a,{className:"w-4 h-4"}):(0,t.jsx)(i,{className:"w-4 h-4"})}),r&&c&&(0,t.jsx)("div",{className:"absolute bottom-full left-0 mb-2 px-3 py-1.5 bg-zinc-800 border border-zinc-700 rounded-lg text-xs text-zinc-300 whitespace-nowrap max-w-[200px] truncate shadow-xl",children:c})]}):null}e.s(["VoiceInput",()=>u],14661)},84437,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(12598),i=e.i(3999),a=e.i(46686),n=e.i(91898),o=e.i(14764),u=e.i(52044),l=e.i(31278),c=e.i(14661),h=e.i(75157),d=e.i(9165),p=e.i(18789),y=e.i(42531);function f({sessionId:e,projectPath:r,onMessageSent:i}){let[a,n]=(0,s.useState)(""),[f,m]=(0,s.useState)(!1),[g,x]=(0,s.useState)(""),[b,v]=(0,s.useState)(null),k=(0,s.useRef)(null),R=(0,s.useRef)(null),w=(0,s.useRef)(null);(0,s.useEffect)(()=>{k.current&&(k.current.style.height="auto",k.current.style.height=`${Math.min(k.current.scrollHeight,120)}px`)},[a]),(0,s.useEffect)(()=>{R.current&&(R.current.scrollTop=R.current.scrollHeight)},[g]);let S=(0,s.useCallback)(async()=>{if(!a.trim()||f)return;m(!0),x(""),v(null);let t=new AbortController;w.current=t;try{let s=await fetch((0,d.api)(`/api/sessions/${e}/chat`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a.trim(),cwd:r}),signal:t.signal});if(!s.ok){let e=await s.json();v(e.error||"Failed to send message"),m(!1);return}let o=s.body?.getReader();if(!o){v("No response stream"),m(!1);return}let u=new TextDecoder,l="",c="";for(n("");;){let{done:e,value:t}=await o.read();if(e)break;let s=(l+=u.decode(t,{stream:!0})).split("\n\n");for(let e of(l=s.pop()||"",s)){if(!e.startsWith("data: "))continue;let t=e.slice(6);try{let e=JSON.parse(t);if("done"===e.type)i?.();else if("error"===e.type)v(t=>(t||"")+(e.text||""));else if("stderr"===e.type){let t=e.text||"";(t.includes("Error")||t.includes("error"))&&v(e=>(e||"")+t)}else if("assistant"===e.type){let t=e.message?.content||e.content;if(Array.isArray(t))for(let e of t)"text"===e.type&&e.text&&(c+=e.text,x(c))}else if("content_block_delta"===e.type)(e.content?.type==="text_delta"||e.text)&&(c+=e.content?.text||e.text||"",x(c));else if("text"===e.type)c+=e.text||"",x(c);else if("result"===e.type){if(!c){let t=e.result;"string"==typeof t&&(c=t,x(c))}i?.()}}catch{}}}}catch(e){"AbortError"!==e.name&&v(e.message||"Connection failed")}finally{m(!1),w.current=null}},[a,f,e,r,i]);return(0,t.jsxs)("div",{className:"flex-shrink-0 border-t border-zinc-800 bg-zinc-950 pb-[env(safe-area-inset-bottom)]",children:[(g||b||f)&&(0,t.jsx)("div",{className:"border-b border-zinc-800",children:(0,t.jsxs)("div",{ref:R,className:"max-h-40 overflow-y-auto px-4 py-3 text-sm",children:[b&&(0,t.jsx)("div",{className:"text-red-400 text-xs mb-2 bg-red-950/20 rounded px-3 py-2",children:b}),g&&(0,t.jsx)("div",{className:"prose prose-sm prose-invert max-w-none prose-pre:bg-zinc-800 prose-pre:text-xs",children:(0,t.jsx)(p.default,{remarkPlugins:[y.default],children:g})}),f&&!g&&!b&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-zinc-500 text-xs",children:[(0,t.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin"}),"Waiting for Claude..."]})]})}),(0,t.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,t.jsx)(c.VoiceInput,{onTranscript:e=>{n(t=>t?`${t} ${e}`:e),k.current?.focus()}}),(0,t.jsx)("textarea",{ref:k,value:a,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),S())},placeholder:f?"Claude is thinking...":"Message...",disabled:f,rows:1,className:(0,h.cn)("flex-1 resize-none rounded-xl border px-3 py-2 text-sm bg-zinc-900","focus:outline-none focus:ring-1 focus:ring-indigo-500","placeholder:text-zinc-600 border-zinc-700","max-h-[120px]",f&&"opacity-50")}),f?(0,t.jsx)("button",{onClick:()=>{w.current?.abort(),m(!1)},className:"p-2.5 rounded-xl bg-red-500 text-white flex-shrink-0",children:(0,t.jsx)(u.Square,{className:"w-4 h-4"})}):(0,t.jsx)("button",{onClick:S,disabled:!a.trim(),className:(0,h.cn)("p-2.5 rounded-xl flex-shrink-0",a.trim()?"bg-indigo-500 text-white":"bg-zinc-800 text-zinc-600"),children:(0,t.jsx)(o.Send,{className:"w-4 h-4"})})]})]})}var m=e.i(70273),g=e.i(75505),x=e.i(86311);function b({params:e}){let{id:o}=(0,s.use)(e),[u,c]=(0,s.useState)([]),[d,p]=(0,s.useState)(0),y=(0,s.useRef)(null),{data:b,isLoading:v}=(0,i.useSession)(o),{data:k,isLoading:R}=(0,i.useMessages)(o,50*d,50),w=(0,i.useToggleStar)(),S=(0,r.useQueryClient)(),j=(0,s.useCallback)(()=>{setTimeout(()=>{p(0),c([]),S.invalidateQueries({queryKey:["messages",o]}),S.invalidateQueries({queryKey:["session",o]})},1500)},[o,S]);(0,s.useEffect)(()=>{k?.messages&&k.messages.length>0&&(0===d?c(k.messages):c(e=>[...e,...k.messages]))},[k,d]),(0,s.useEffect)(()=>{u.length>0&&0===d&&setTimeout(()=>{y.current?.scrollTo({top:y.current.scrollHeight})},100)},[u.length,d]);let Q=(0,s.useCallback)(()=>{!R&&k?.hasMore&&p(e=>e+1)},[R,k?.hasMore]);if(v)return(0,t.jsx)("div",{className:"flex items-center justify-center h-[80dvh]",children:(0,t.jsx)(l.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})});if(!b)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.MobileHeader,{title:"Session",showBack:!0,backHref:"/m/sessions"}),(0,t.jsx)("div",{className:"p-6 text-center",children:(0,t.jsx)("p",{className:"text-red-500 text-sm",children:"Session not found."})})]});let T=b.customName||b.summary||(0,h.truncate)(b.firstPrompt,60),M=k?.total||b.messageCount,C=k?.hasMore??!0;return(0,t.jsxs)("div",{className:"flex flex-col h-[100dvh]",children:[(0,t.jsx)(n.MobileHeader,{title:T,showBack:!0,backHref:"/m/sessions",right:(0,t.jsx)("button",{onClick:()=>w.mutate(b.id),className:"p-1.5",children:(0,t.jsx)(m.Star,{className:(0,h.cn)("w-5 h-5",b.starred?"text-amber-500 fill-amber-500":"text-zinc-500")})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2 text-[11px] text-zinc-500 border-b border-zinc-800 flex-shrink-0",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1 text-indigo-400/70",children:[(0,t.jsx)(g.FolderOpen,{className:"w-3 h-3"}),b.projectName]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(x.MessageSquare,{className:"w-3 h-3"}),M]}),(0,t.jsx)("span",{className:"ml-auto",children:(0,h.formatRelativeTime)(b.modified)})]}),(0,t.jsx)("div",{ref:y,className:"flex-1 overflow-y-auto",children:(0,t.jsx)("div",{className:"px-4 py-4 space-y-4",children:R&&0===u.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-3",children:[(0,t.jsx)(l.Loader2,{className:"w-5 h-5 animate-spin text-indigo-500"}),(0,t.jsx)("span",{className:"text-xs text-zinc-500",children:"Loading conversation..."})]}):(0,t.jsxs)(t.Fragment,{children:[C&&(0,t.jsx)("div",{className:"text-center py-2",children:(0,t.jsxs)("button",{onClick:Q,disabled:R,className:"px-4 py-2 text-xs bg-zinc-900 border border-zinc-800 rounded-lg text-zinc-400 disabled:opacity-50",children:[R?(0,t.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin inline mr-1.5"}):null,"Load earlier (",M-u.length," more)"]})}),u.map((e,s)=>(0,t.jsx)(a.MessageRenderer,{message:e,isLast:s===u.length-1},e.uuid||`msg-${s}`)),!C&&u.length>0&&(0,t.jsx)("p",{className:"text-center text-[11px] text-zinc-600 py-2",children:"End of conversation"})]})})}),(0,t.jsx)(f,{sessionId:o,projectPath:b.projectPath,onMessageSent:j})]})}e.s(["default",()=>b],84437)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70273,e=>{"use strict";let t=(0,e.i(75254).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);e.s(["Star",()=>t],70273)},31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},66027,54616,e=>{"use strict";let t;var s=e.i(75555),r=e.i(40143),i=e.i(86491),a=e.i(15823),n=e.i(93803),o=e.i(19273),u=e.i(80166),l=class extends a.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#s=(0,n.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#r=void 0;#i=void 0;#a=void 0;#n;#o;#s;#t;#u;#l;#c;#h;#d;#p;#y=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#r.addObserver(this),c(this.#r,this.options)?this.#f():this.updateResult(),this.#m())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#r,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#r,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#g(),this.#x(),this.#r.removeObserver(this)}setOptions(e){let t=this.options,s=this.#r;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,o.resolveEnabled)(this.options.enabled,this.#r))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#b(),this.#r.setOptions(this.options),t._defaulted&&!(0,o.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#r,observer:this});let r=this.hasListeners();r&&d(this.#r,s,this.options,t)&&this.#f(),this.updateResult(),r&&(this.#r!==s||(0,o.resolveEnabled)(this.options.enabled,this.#r)!==(0,o.resolveEnabled)(t.enabled,this.#r)||(0,o.resolveStaleTime)(this.options.staleTime,this.#r)!==(0,o.resolveStaleTime)(t.staleTime,this.#r))&&this.#v();let i=this.#k();r&&(this.#r!==s||(0,o.resolveEnabled)(this.options.enabled,this.#r)!==(0,o.resolveEnabled)(t.enabled,this.#r)||i!==this.#p)&&this.#R(i)}getOptimisticResult(e){var t,s;let r=this.#e.getQueryCache().build(this.#e,e),i=this.createResult(r,e);return t=this,s=i,(0,o.shallowEqualObjects)(t.getCurrentResult(),s)||(this.#a=i,this.#o=this.options,this.#n=this.#r.state),i}getCurrentResult(){return this.#a}trackResult(e,t){return new Proxy(e,{get:(e,s)=>(this.trackProp(s),t?.(s),"promise"===s&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#s.status||this.#s.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,s))})}trackProp(e){this.#y.add(e)}getCurrentQuery(){return this.#r}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),s=this.#e.getQueryCache().build(this.#e,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#f({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#a))}#f(e){this.#b();let t=this.#r.fetch(this.options,e);return e?.throwOnError||(t=t.catch(o.noop)),t}#v(){this.#g();let e=(0,o.resolveStaleTime)(this.options.staleTime,this.#r);if(o.isServer||this.#a.isStale||!(0,o.isValidTimeout)(e))return;let t=(0,o.timeUntilStale)(this.#a.dataUpdatedAt,e);this.#h=u.timeoutManager.setTimeout(()=>{this.#a.isStale||this.updateResult()},t+1)}#k(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#r):this.options.refetchInterval)??!1}#R(e){this.#x(),this.#p=e,!o.isServer&&!1!==(0,o.resolveEnabled)(this.options.enabled,this.#r)&&(0,o.isValidTimeout)(this.#p)&&0!==this.#p&&(this.#d=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||s.focusManager.isFocused())&&this.#f()},this.#p))}#m(){this.#v(),this.#R(this.#k())}#g(){this.#h&&(u.timeoutManager.clearTimeout(this.#h),this.#h=void 0)}#x(){this.#d&&(u.timeoutManager.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let s,r=this.#r,a=this.options,u=this.#a,l=this.#n,h=this.#o,y=e!==r?e.state:this.#i,{state:f}=e,m={...f},g=!1;if(t._optimisticResults){let s=this.hasListeners(),n=!s&&c(e,t),o=s&&d(e,r,t,a);(n||o)&&(m={...m,...(0,i.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(m.fetchStatus="idle")}let{error:x,errorUpdatedAt:b,status:v}=m;s=m.data;let k=!1;if(void 0!==t.placeholderData&&void 0===s&&"pending"===v){let e;u?.isPlaceholderData&&t.placeholderData===h?.placeholderData?(e=u.data,k=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#c?.state.data,this.#c):t.placeholderData,void 0!==e&&(v="success",s=(0,o.replaceData)(u?.data,e,t),g=!0)}if(t.select&&void 0!==s&&!k)if(u&&s===l?.data&&t.select===this.#u)s=this.#l;else try{this.#u=t.select,s=t.select(s),s=(0,o.replaceData)(u?.data,s,t),this.#l=s,this.#t=null}catch(e){this.#t=e}this.#t&&(x=this.#t,s=this.#l,b=Date.now(),v="error");let R="fetching"===m.fetchStatus,w="pending"===v,S="error"===v,j=w&&R,Q=void 0!==s,M={status:v,fetchStatus:m.fetchStatus,isPending:w,isSuccess:"success"===v,isError:S,isInitialLoading:j,isLoading:j,data:s,dataUpdatedAt:m.dataUpdatedAt,error:x,errorUpdatedAt:b,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>y.dataUpdateCount||m.errorUpdateCount>y.errorUpdateCount,isFetching:R,isRefetching:R&&!w,isLoadingError:S&&!Q,isPaused:"paused"===m.fetchStatus,isPlaceholderData:g,isRefetchError:S&&Q,isStale:p(e,t),refetch:this.refetch,promise:this.#s,isEnabled:!1!==(0,o.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==M.data,s="error"===M.status&&!t,i=e=>{s?e.reject(M.error):t&&e.resolve(M.data)},a=()=>{i(this.#s=M.promise=(0,n.pendingThenable)())},o=this.#s;switch(o.status){case"pending":e.queryHash===r.queryHash&&i(o);break;case"fulfilled":(s||M.data!==o.value)&&a();break;case"rejected":s&&M.error===o.reason||a()}}return M}updateResult(){let e=this.#a,t=this.createResult(this.#r,this.options);if(this.#n=this.#r.state,this.#o=this.options,void 0!==this.#n.data&&(this.#c=this.#r),(0,o.shallowEqualObjects)(t,e))return;this.#a=t;let s=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,s="function"==typeof t?t():t;if("all"===s||!s&&!this.#y.size)return!0;let r=new Set(s??this.#y);return this.options.throwOnError&&r.add("error"),Object.keys(this.#a).some(t=>this.#a[t]!==e[t]&&r.has(t))};this.#w({listeners:s()})}#b(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#r)return;let t=this.#r;this.#r=e,this.#i=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#m()}#w(e){r.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#a)}),this.#e.getQueryCache().notify({query:this.#r,type:"observerResultsUpdated"})})}};function c(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,s){if(!1!==(0,o.resolveEnabled)(t.enabled,e)&&"static"!==(0,o.resolveStaleTime)(t.staleTime,e)){let r="function"==typeof s?s(e):s;return"always"===r||!1!==r&&p(e,t)}return!1}function d(e,t,s,r){return(e!==t||!1===(0,o.resolveEnabled)(r.enabled,e))&&(!s.suspense||"error"!==e.state.status)&&p(e,s)}function p(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,o.resolveStaleTime)(t.staleTime,e))}e.i(47167);var y=e.i(71645),f=e.i(12598);e.i(18050);var m=y.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),g=y.createContext(!1);g.Provider;var x=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function b(e,t){return function(e,t,s){let i,a=y.useContext(g),n=y.useContext(m),u=(0,f.useQueryClient)(s),l=u.defaultQueryOptions(e);u.getDefaultOptions().queries?._experimental_beforeQuery?.(l);let c=u.getQueryCache().get(l.queryHash);if(l._optimisticResults=a?"isRestoring":"optimistic",l.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=l.staleTime;l.staleTime="function"==typeof t?(...s)=>e(t(...s)):e(t),"number"==typeof l.gcTime&&(l.gcTime=Math.max(l.gcTime,1e3))}i=c?.state.error&&"function"==typeof l.throwOnError?(0,o.shouldThrowError)(l.throwOnError,[c.state.error,c]):l.throwOnError,(l.suspense||l.experimental_prefetchInRender||i)&&!n.isReset()&&(l.retryOnMount=!1),y.useEffect(()=>{n.clearReset()},[n]);let h=!u.getQueryCache().get(l.queryHash),[d]=y.useState(()=>new t(u,l)),p=d.getOptimisticResult(l),b=!a&&!1!==e.subscribed;if(y.useSyncExternalStore(y.useCallback(e=>{let t=b?d.subscribe(r.notifyManager.batchCalls(e)):o.noop;return d.updateResult(),t},[d,b]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),y.useEffect(()=>{d.setOptions(l)},[l,d]),l?.suspense&&p.isPending)throw x(l,d,n);if((({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&void 0===e.data||(0,o.shouldThrowError)(s,[e.error,r])))({result:p,errorResetBoundary:n,throwOnError:l.throwOnError,query:c,suspense:l.suspense}))throw p.error;if(u.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!o.isServer&&p.isLoading&&p.isFetching&&!a){let e=h?x(l,d,n):c?.promise;e?.catch(o.noop).finally(()=>{d.updateResult()})}return l.notifyOnChangeProps?p:d.trackResult(p)}(e,l,t)}e.s(["useQuery",()=>b],66027);var v=e.i(14272),k=a,R=class extends k.Subscribable{#e;#a=void 0;#S;#j;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#Q()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#S,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#S?.state.status==="pending"&&this.#S.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#S?.removeObserver(this)}onMutationUpdate(e){this.#Q(),this.#w(e)}getCurrentResult(){return this.#a}reset(){this.#S?.removeObserver(this),this.#S=void 0,this.#Q(),this.#w()}mutate(e,t){return this.#j=t,this.#S?.removeObserver(this),this.#S=this.#e.getMutationCache().build(this.#e,this.options),this.#S.addObserver(this),this.#S.execute(e)}#Q(){let e=this.#S?.state??(0,v.getDefaultState)();this.#a={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#w(e){r.notifyManager.batch(()=>{if(this.#j&&this.hasListeners()){let t=this.#a.variables,s=this.#a.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#j.onSuccess?.(e.data,t,s,r)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(e.data,null,t,s,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#j.onError?.(e.error,t,s,r)}catch(e){Promise.reject(e)}try{this.#j.onSettled?.(void 0,e.error,t,s,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#a)})})}};function w(e,t){let s=(0,f.useQueryClient)(t),[i]=y.useState(()=>new R(s,e));y.useEffect(()=>{i.setOptions(e)},[i,e]);let a=y.useSyncExternalStore(y.useCallback(e=>i.subscribe(r.notifyManager.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),n=y.useCallback((e,t)=>{i.mutate(e,t).catch(o.noop)},[i]);if(a.error&&(0,o.shouldThrowError)(i.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:n,mutateAsync:a.mutate}}e.s(["useMutation",()=>w],54616)},3999,e=>{"use strict";var t=e.i(66027),s=e.i(54616),r=e.i(12598),i=e.i(9165);function a(e={}){return(0,t.useQuery)({queryKey:["sessions",e],queryFn:async()=>{let t=new URLSearchParams;return e.projectId&&t.set("projectId",e.projectId),void 0!==e.starred&&t.set("starred",String(e.starred)),e.search&&t.set("search",e.search),e.agentType&&t.set("agentType",e.agentType),e.sortBy&&t.set("sortBy",e.sortBy),e.sortDir&&t.set("sortDir",e.sortDir),void 0!==e.offset&&t.set("offset",String(e.offset)),void 0!==e.limit&&t.set("limit",String(e.limit)),"all"===e.nodeFilter&&t.set("nodes","all"),(await fetch((0,i.api)(`/api/sessions?${t}`))).json()}})}function n(e){return(0,t.useQuery)({queryKey:["session",e],queryFn:async()=>{let t=await fetch((0,i.api)(`/api/sessions/${e}`));if(!t.ok)throw Error("Session not found");return t.json()},enabled:!!e})}function o(e,s=0,r=50,a){return(0,t.useQuery)({queryKey:["messages",e,s,r,a],queryFn:async()=>{let t=a?(0,i.api)(`/api/network/proxy/${a}/sessions/${e}/messages?offset=${s}&limit=${r}`):(0,i.api)(`/api/sessions/${e}/messages?offset=${s}&limit=${r}`);return(await fetch(t)).json()},enabled:!!e})}function u(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"star"})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function l(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,notes:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"notes",notes:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["session"]})}})}function c(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"tag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function h(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"removeTag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function d(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,name:t})=>(await fetch((0,i.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",name:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function p(){return(0,t.useQuery)({queryKey:["tags"],queryFn:async()=>(await fetch((0,i.api)("/api/tags"))).json()})}function y(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",tagId:e})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function f(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({tagId:e,color:t})=>(await fetch((0,i.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"updateColor",tagId:e,color:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function m(){return(0,t.useQuery)({queryKey:["workspaces"],queryFn:async()=>(await fetch((0,i.api)("/api/workspaces"))).json()})}function g(){return(0,t.useQuery)({queryKey:["workspaces","remote"],queryFn:async()=>(await fetch((0,i.api)("/api/workspaces?nodes=all"))).json()})}function x(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t,nodeId:s,title:r,cwd:a,agentType:n})=>{let o=await fetch((0,i.api)(`/api/workspaces/${e}/sessions`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,nodeId:s,title:r,cwd:a,agentType:n})});if(!o.ok)throw Error("Failed to add session to workspace");return o.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function b(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t})=>{let s=await fetch((0,i.api)(`/api/workspaces/${e}/sessions`),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})});if(!s.ok)throw Error("Failed to remove session from workspace");return s.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function v(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/bulk"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["tags"]})}})}function k(){return(0,t.useQuery)({queryKey:["projects"],queryFn:async()=>(await fetch((0,i.api)("/api/projects"))).json()})}function R(){return(0,t.useQuery)({queryKey:["analytics"],queryFn:async()=>(await fetch((0,i.api)("/api/analytics/overview"))).json()})}function w(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async()=>(await fetch((0,i.api)("/api/sync"),{method:"POST"})).json(),onSuccess:()=>{e.invalidateQueries()}})}e.s(["useAddSessionToWorkspace",()=>x,"useAddTag",()=>c,"useAnalytics",()=>R,"useBulkAction",()=>v,"useDeleteTag",()=>y,"useMessages",()=>o,"useProjects",()=>k,"useRemoteWorkspaces",()=>g,"useRemoveSessionFromWorkspace",()=>b,"useRemoveTag",()=>h,"useRenameSession",()=>d,"useSession",()=>n,"useSessions",()=>a,"useSync",()=>w,"useTags",()=>p,"useToggleStar",()=>u,"useUpdateNotes",()=>l,"useUpdateTagColor",()=>f,"useWorkspaces",()=>m])},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},91898,e=>{"use strict";var t=e.i(18050),s=e.i(18566),r=e.i(71689),i=e.i(75157);function a({title:e,showBack:a,backHref:n,right:o,className:u}){let l=(0,s.useRouter)();return(0,t.jsxs)("header",{className:(0,i.cn)("sticky top-0 z-40 bg-zinc-950/95 backdrop-blur-sm border-b border-zinc-800","flex items-center gap-3 px-4 h-14 flex-shrink-0",u),children:[a&&(0,t.jsx)("button",{onClick:()=>{n?l.push(n):l.back()},className:"p-1 -ml-1 text-zinc-400 hover:text-white",children:(0,t.jsx)(r.ArrowLeft,{className:"w-5 h-5"})}),(0,t.jsx)("h1",{className:"text-base font-semibold truncate flex-1",children:e}),o&&(0,t.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:o})]})}e.s(["MobileHeader",()=>a])},43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},48256,e=>{"use strict";let t=(0,e.i(75254).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],48256)},87951,87246,e=>{"use strict";var t=e.i(75254);let s=(0,t.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);e.s(["Mic",()=>s],87951);let r=(0,t.default)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]]);e.s(["MicOff",()=>r],87246)},78894,e=>{"use strict";let t=(0,e.i(75254).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],78894)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],55436)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},55711,e=>{"use strict";let t=(0,e.i(75254).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",()=>t],55711)},78583,e=>{"use strict";let t=(0,e.i(75254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],78583)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},14764,e=>{"use strict";let t=(0,e.i(75254).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",()=>t],14764)},68054,e=>{"use strict";let t=(0,e.i(75254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],68054)},86536,e=>{"use strict";let t=(0,e.i(75254).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],86536)},23284,e=>{"use strict";var t=e.i(71645);function s(){let[e,s]=(0,t.useState)(!1),[r,i]=(0,t.useState)(!1),[a,n]=(0,t.useState)(""),[o,u]=(0,t.useState)(""),l=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e,t;try{e=window.SpeechRecognition||window.webkitSpeechRecognition}catch{}if(i(!!e),e){try{(t=new e).continuous=!1,t.interimResults=!0,t.lang="en-US"}catch{i(!1);return}t.onresult=e=>{let t="",s="";for(let r=e.resultIndex;r<e.results.length;r++){let i=e.results[r];i.isFinal?s+=i[0].transcript:t+=i[0].transcript}s?(n(s),u("")):u(t)},t.onerror=()=>{s(!1)},t.onend=()=>{s(!1)},l.current=t}},[]);let c=(0,t.useCallback)(()=>{if(l.current&&!e){n(""),u("");try{l.current.start(),s(!0)}catch{}}},[e]);return{isListening:e,isSupported:r,transcript:a,interimTranscript:o,startListening:c,stopListening:(0,t.useCallback)(()=>{if(l.current){try{l.current.stop()}catch{}s(!1)}},[]),resetTranscript:(0,t.useCallback)(()=>{n(""),u("")},[])}}e.s(["useSpeechRecognition",()=>s])},14661,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(87951),i=e.i(87246),a=e.i(23284),n=e.i(75157);function o({onTranscript:e}){let{isListening:o,isSupported:u,transcript:l,interimTranscript:c,startListening:h,stopListening:d}=(0,a.useSpeechRecognition)();return((0,s.useEffect)(()=>{l&&e(l)},[l,e]),u)?(0,t.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,t.jsx)("button",{onClick:o?d:h,className:(0,n.cn)("p-2.5 rounded-xl transition-colors",o?"bg-red-500 text-white animate-pulse":"bg-zinc-800 text-zinc-400 hover:text-white"),children:o?(0,t.jsx)(i.MicOff,{className:"w-4 h-4"}):(0,t.jsx)(r.Mic,{className:"w-4 h-4"})}),o&&c&&(0,t.jsx)("div",{className:"absolute bottom-full left-0 mb-2 px-3 py-1.5 bg-zinc-800 border border-zinc-700 rounded-lg text-xs text-zinc-300 whitespace-nowrap max-w-[200px] truncate shadow-xl",children:c})]}):null}e.s(["VoiceInput",()=>o])},84437,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(12598),i=e.i(3999),a=e.i(46686),n=e.i(91898),o=e.i(14764),u=e.i(52044),l=e.i(31278),c=e.i(14661),h=e.i(75157),d=e.i(9165),p=e.i(18789),y=e.i(42531);function f({sessionId:e,projectPath:r,onMessageSent:i}){let[a,n]=(0,s.useState)(""),[f,m]=(0,s.useState)(!1),[g,x]=(0,s.useState)(""),[b,v]=(0,s.useState)(null),k=(0,s.useRef)(null),R=(0,s.useRef)(null),w=(0,s.useRef)(null);(0,s.useEffect)(()=>{k.current&&(k.current.style.height="auto",k.current.style.height=`${Math.min(k.current.scrollHeight,120)}px`)},[a]),(0,s.useEffect)(()=>{R.current&&(R.current.scrollTop=R.current.scrollHeight)},[g]);let S=(0,s.useCallback)(async()=>{if(!a.trim()||f)return;m(!0),x(""),v(null);let t=new AbortController;w.current=t;try{let s=await fetch((0,d.api)(`/api/sessions/${e}/chat`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a.trim(),cwd:r}),signal:t.signal});if(!s.ok){let e=await s.json();v(e.error||"Failed to send message"),m(!1);return}let o=s.body?.getReader();if(!o){v("No response stream"),m(!1);return}let u=new TextDecoder,l="",c="";for(n("");;){let{done:e,value:t}=await o.read();if(e)break;let s=(l+=u.decode(t,{stream:!0})).split("\n\n");for(let e of(l=s.pop()||"",s)){if(!e.startsWith("data: "))continue;let t=e.slice(6);try{let e=JSON.parse(t);if("done"===e.type)i?.();else if("error"===e.type)v(t=>(t||"")+(e.text||""));else if("stderr"===e.type){let t=e.text||"";(t.includes("Error")||t.includes("error"))&&v(e=>(e||"")+t)}else if("assistant"===e.type){let t=e.message?.content||e.content;if(Array.isArray(t))for(let e of t)"text"===e.type&&e.text&&(c+=e.text,x(c))}else if("content_block_delta"===e.type)(e.content?.type==="text_delta"||e.text)&&(c+=e.content?.text||e.text||"",x(c));else if("text"===e.type)c+=e.text||"",x(c);else if("result"===e.type){if(!c){let t=e.result;"string"==typeof t&&(c=t,x(c))}i?.()}}catch{}}}}catch(e){"AbortError"!==e.name&&v(e.message||"Connection failed")}finally{m(!1),w.current=null}},[a,f,e,r,i]);return(0,t.jsxs)("div",{className:"flex-shrink-0 border-t border-zinc-800 bg-zinc-950 pb-[env(safe-area-inset-bottom)]",children:[(g||b||f)&&(0,t.jsx)("div",{className:"border-b border-zinc-800",children:(0,t.jsxs)("div",{ref:R,className:"max-h-40 overflow-y-auto px-4 py-3 text-sm",children:[b&&(0,t.jsx)("div",{className:"text-red-400 text-xs mb-2 bg-red-950/20 rounded px-3 py-2",children:b}),g&&(0,t.jsx)("div",{className:"prose prose-sm prose-invert max-w-none prose-pre:bg-zinc-800 prose-pre:text-xs",children:(0,t.jsx)(p.default,{remarkPlugins:[y.default],children:g})}),f&&!g&&!b&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-zinc-500 text-xs",children:[(0,t.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin"}),"Waiting for Claude..."]})]})}),(0,t.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,t.jsx)(c.VoiceInput,{onTranscript:e=>{n(t=>t?`${t} ${e}`:e),k.current?.focus()}}),(0,t.jsx)("textarea",{ref:k,value:a,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),S())},placeholder:f?"Claude is thinking...":"Message...",disabled:f,rows:1,className:(0,h.cn)("flex-1 resize-none rounded-xl border px-3 py-2 text-sm bg-zinc-900","focus:outline-none focus:ring-1 focus:ring-indigo-500","placeholder:text-zinc-600 border-zinc-700","max-h-[120px]",f&&"opacity-50")}),f?(0,t.jsx)("button",{onClick:()=>{w.current?.abort(),m(!1)},className:"p-2.5 rounded-xl bg-red-500 text-white flex-shrink-0",children:(0,t.jsx)(u.Square,{className:"w-4 h-4"})}):(0,t.jsx)("button",{onClick:S,disabled:!a.trim(),className:(0,h.cn)("p-2.5 rounded-xl flex-shrink-0",a.trim()?"bg-indigo-500 text-white":"bg-zinc-800 text-zinc-600"),children:(0,t.jsx)(o.Send,{className:"w-4 h-4"})})]})]})}var m=e.i(70273),g=e.i(75505),x=e.i(86311);function b({params:e}){let{id:o}=(0,s.use)(e),[u,c]=(0,s.useState)([]),[d,p]=(0,s.useState)(0),y=(0,s.useRef)(null),{data:b,isLoading:v}=(0,i.useSession)(o),{data:k,isLoading:R}=(0,i.useMessages)(o,50*d,50),w=(0,i.useToggleStar)(),S=(0,r.useQueryClient)(),j=(0,s.useCallback)(()=>{setTimeout(()=>{p(0),c([]),S.invalidateQueries({queryKey:["messages",o]}),S.invalidateQueries({queryKey:["session",o]})},1500)},[o,S]);(0,s.useEffect)(()=>{k?.messages&&k.messages.length>0&&(0===d?c(k.messages):c(e=>[...e,...k.messages]))},[k,d]),(0,s.useEffect)(()=>{u.length>0&&0===d&&setTimeout(()=>{y.current?.scrollTo({top:y.current.scrollHeight})},100)},[u.length,d]);let Q=(0,s.useCallback)(()=>{!R&&k?.hasMore&&p(e=>e+1)},[R,k?.hasMore]);if(v)return(0,t.jsx)("div",{className:"flex items-center justify-center h-[80dvh]",children:(0,t.jsx)(l.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})});if(!b)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.MobileHeader,{title:"Session",showBack:!0,backHref:"/m/sessions"}),(0,t.jsx)("div",{className:"p-6 text-center",children:(0,t.jsx)("p",{className:"text-red-500 text-sm",children:"Session not found."})})]});let M=b.customName||b.summary||(0,h.truncate)(b.firstPrompt,60),T=k?.total||b.messageCount,C=k?.hasMore??!0;return(0,t.jsxs)("div",{className:"flex flex-col h-[100dvh]",children:[(0,t.jsx)(n.MobileHeader,{title:M,showBack:!0,backHref:"/m/sessions",right:(0,t.jsx)("button",{onClick:()=>w.mutate(b.id),className:"p-1.5",children:(0,t.jsx)(m.Star,{className:(0,h.cn)("w-5 h-5",b.starred?"text-amber-500 fill-amber-500":"text-zinc-500")})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2 text-[11px] text-zinc-500 border-b border-zinc-800 flex-shrink-0",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1 text-indigo-400/70",children:[(0,t.jsx)(g.FolderOpen,{className:"w-3 h-3"}),b.projectName]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(x.MessageSquare,{className:"w-3 h-3"}),T]}),(0,t.jsx)("span",{className:"ml-auto",children:(0,h.formatRelativeTime)(b.modified)})]}),(0,t.jsx)("div",{ref:y,className:"flex-1 overflow-y-auto",children:(0,t.jsx)("div",{className:"px-4 py-4 space-y-4",children:R&&0===u.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-3",children:[(0,t.jsx)(l.Loader2,{className:"w-5 h-5 animate-spin text-indigo-500"}),(0,t.jsx)("span",{className:"text-xs text-zinc-500",children:"Loading conversation..."})]}):(0,t.jsxs)(t.Fragment,{children:[C&&(0,t.jsx)("div",{className:"text-center py-2",children:(0,t.jsxs)("button",{onClick:Q,disabled:R,className:"px-4 py-2 text-xs bg-zinc-900 border border-zinc-800 rounded-lg text-zinc-400 disabled:opacity-50",children:[R?(0,t.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin inline mr-1.5"}):null,"Load earlier (",T-u.length," more)"]})}),u.map((e,s)=>(0,t.jsx)(a.MessageRenderer,{message:e,isLast:s===u.length-1},e.uuid||`msg-${s}`)),!C&&u.length>0&&(0,t.jsx)("p",{className:"text-center text-[11px] text-zinc-600 py-2",children:"End of conversation"})]})})}),(0,t.jsx)(f,{sessionId:o,projectPath:b.projectPath,onMessageSent:j})]})}e.s(["default",()=>b],84437)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},66027,54616,e=>{"use strict";let t;var r=e.i(75555),s=e.i(40143),n=e.i(86491),i=e.i(15823),a=e.i(93803),l=e.i(19273),o=e.i(80166),u=class extends i.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,a.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#s=void 0;#n=void 0;#i=void 0;#a;#l;#r;#t;#o;#u;#c;#h;#d;#f;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#s.addObserver(this),c(this.#s,this.options)?this.#x():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#s,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#s,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#g(),this.#m(),this.#s.removeObserver(this)}setOptions(e){let t=this.options,r=this.#s;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,l.resolveEnabled)(this.options.enabled,this.#s))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#b(),this.#s.setOptions(this.options),t._defaulted&&!(0,l.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#s,observer:this});let s=this.hasListeners();s&&d(this.#s,r,this.options,t)&&this.#x(),this.updateResult(),s&&(this.#s!==r||(0,l.resolveEnabled)(this.options.enabled,this.#s)!==(0,l.resolveEnabled)(t.enabled,this.#s)||(0,l.resolveStaleTime)(this.options.staleTime,this.#s)!==(0,l.resolveStaleTime)(t.staleTime,this.#s))&&this.#v();let n=this.#w();s&&(this.#s!==r||(0,l.resolveEnabled)(this.options.enabled,this.#s)!==(0,l.resolveEnabled)(t.enabled,this.#s)||n!==this.#f)&&this.#j(n)}getOptimisticResult(e){var t,r;let s=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(s,e);return t=this,r=n,(0,l.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#i=n,this.#l=this.options,this.#a=this.#s.state),n}getCurrentResult(){return this.#i}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#s}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#x({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#i))}#x(e){this.#b();let t=this.#s.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l.noop)),t}#v(){this.#g();let e=(0,l.resolveStaleTime)(this.options.staleTime,this.#s);if(l.isServer||this.#i.isStale||!(0,l.isValidTimeout)(e))return;let t=(0,l.timeUntilStale)(this.#i.dataUpdatedAt,e);this.#h=o.timeoutManager.setTimeout(()=>{this.#i.isStale||this.updateResult()},t+1)}#w(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#s):this.options.refetchInterval)??!1}#j(e){this.#m(),this.#f=e,!l.isServer&&!1!==(0,l.resolveEnabled)(this.options.enabled,this.#s)&&(0,l.isValidTimeout)(this.#f)&&0!==this.#f&&(this.#d=o.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||r.focusManager.isFocused())&&this.#x()},this.#f))}#y(){this.#v(),this.#j(this.#w())}#g(){this.#h&&(o.timeoutManager.clearTimeout(this.#h),this.#h=void 0)}#m(){this.#d&&(o.timeoutManager.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let r,s=this.#s,i=this.options,o=this.#i,u=this.#a,h=this.#l,p=e!==s?e.state:this.#n,{state:x}=e,y={...x},g=!1;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&c(e,t),l=r&&d(e,s,t,i);(a||l)&&(y={...y,...(0,n.fetchState)(x.data,e.options)}),"isRestoring"===t._optimisticResults&&(y.fetchStatus="idle")}let{error:m,errorUpdatedAt:b,status:v}=y;r=y.data;let w=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===v){let e;o?.isPlaceholderData&&t.placeholderData===h?.placeholderData?(e=o.data,w=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#c?.state.data,this.#c):t.placeholderData,void 0!==e&&(v="success",r=(0,l.replaceData)(o?.data,e,t),g=!0)}if(t.select&&void 0!==r&&!w)if(o&&r===u?.data&&t.select===this.#o)r=this.#u;else try{this.#o=t.select,r=t.select(r),r=(0,l.replaceData)(o?.data,r,t),this.#u=r,this.#t=null}catch(e){this.#t=e}this.#t&&(m=this.#t,r=this.#u,b=Date.now(),v="error");let j="fetching"===y.fetchStatus,k="pending"===v,R="error"===v,O=k&&j,S=void 0!==r,N={status:v,fetchStatus:y.fetchStatus,isPending:k,isSuccess:"success"===v,isError:R,isInitialLoading:O,isLoading:O,data:r,dataUpdatedAt:y.dataUpdatedAt,error:m,errorUpdatedAt:b,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:y.dataUpdateCount>0||y.errorUpdateCount>0,isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:j,isRefetching:j&&!k,isLoadingError:R&&!S,isPaused:"paused"===y.fetchStatus,isPlaceholderData:g,isRefetchError:R&&S,isStale:f(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,l.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==N.data,r="error"===N.status&&!t,n=e=>{r?e.reject(N.error):t&&e.resolve(N.data)},i=()=>{n(this.#r=N.promise=(0,a.pendingThenable)())},l=this.#r;switch(l.status){case"pending":e.queryHash===s.queryHash&&n(l);break;case"fulfilled":(r||N.data!==l.value)&&i();break;case"rejected":r&&N.error===l.reason||i()}}return N}updateResult(){let e=this.#i,t=this.createResult(this.#s,this.options);if(this.#a=this.#s.state,this.#l=this.options,void 0!==this.#a.data&&(this.#c=this.#s),(0,l.shallowEqualObjects)(t,e))return;this.#i=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#p.size)return!0;let s=new Set(r??this.#p);return this.options.throwOnError&&s.add("error"),Object.keys(this.#i).some(t=>this.#i[t]!==e[t]&&s.has(t))};this.#k({listeners:r()})}#b(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#s)return;let t=this.#s;this.#s=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#k(e){s.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#i)}),this.#e.getQueryCache().notify({query:this.#s,type:"observerResultsUpdated"})})}};function c(e,t){return!1!==(0,l.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,r){if(!1!==(0,l.resolveEnabled)(t.enabled,e)&&"static"!==(0,l.resolveStaleTime)(t.staleTime,e)){let s="function"==typeof r?r(e):r;return"always"===s||!1!==s&&f(e,t)}return!1}function d(e,t,r,s){return(e!==t||!1===(0,l.resolveEnabled)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&f(e,r)}function f(e,t){return!1!==(0,l.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,l.resolveStaleTime)(t.staleTime,e))}e.i(47167);var p=e.i(71645),x=e.i(12598);e.i(18050);var y=p.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),g=p.createContext(!1);g.Provider;var m=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function b(e,t){return function(e,t,r){let n,i=p.useContext(g),a=p.useContext(y),o=(0,x.useQueryClient)(r),u=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(u);let c=o.getQueryCache().get(u.queryHash);if(u._optimisticResults=i?"isRestoring":"optimistic",u.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=u.staleTime;u.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof u.gcTime&&(u.gcTime=Math.max(u.gcTime,1e3))}n=c?.state.error&&"function"==typeof u.throwOnError?(0,l.shouldThrowError)(u.throwOnError,[c.state.error,c]):u.throwOnError,(u.suspense||u.experimental_prefetchInRender||n)&&!a.isReset()&&(u.retryOnMount=!1),p.useEffect(()=>{a.clearReset()},[a]);let h=!o.getQueryCache().get(u.queryHash),[d]=p.useState(()=>new t(o,u)),f=d.getOptimisticResult(u),b=!i&&!1!==e.subscribed;if(p.useSyncExternalStore(p.useCallback(e=>{let t=b?d.subscribe(s.notifyManager.batchCalls(e)):l.noop;return d.updateResult(),t},[d,b]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),p.useEffect(()=>{d.setOptions(u)},[u,d]),u?.suspense&&f.isPending)throw m(u,d,a);if((({result:e,errorResetBoundary:t,throwOnError:r,query:s,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(n&&void 0===e.data||(0,l.shouldThrowError)(r,[e.error,s])))({result:f,errorResetBoundary:a,throwOnError:u.throwOnError,query:c,suspense:u.suspense}))throw f.error;if(o.getDefaultOptions().queries?._experimental_afterQuery?.(u,f),u.experimental_prefetchInRender&&!l.isServer&&f.isLoading&&f.isFetching&&!i){let e=h?m(u,d,a):c?.promise;e?.catch(l.noop).finally(()=>{d.updateResult()})}return u.notifyOnChangeProps?f:d.trackResult(f)}(e,u,t)}e.s(["useQuery",()=>b],66027);var v=e.i(14272),w=i,j=class extends w.Subscribable{#e;#i=void 0;#R;#O;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#S()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,l.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#R,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,l.hashKey)(t.mutationKey)!==(0,l.hashKey)(this.options.mutationKey)?this.reset():this.#R?.state.status==="pending"&&this.#R.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#R?.removeObserver(this)}onMutationUpdate(e){this.#S(),this.#k(e)}getCurrentResult(){return this.#i}reset(){this.#R?.removeObserver(this),this.#R=void 0,this.#S(),this.#k()}mutate(e,t){return this.#O=t,this.#R?.removeObserver(this),this.#R=this.#e.getMutationCache().build(this.#e,this.options),this.#R.addObserver(this),this.#R.execute(e)}#S(){let e=this.#R?.state??(0,v.getDefaultState)();this.#i={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#k(e){s.notifyManager.batch(()=>{if(this.#O&&this.hasListeners()){let t=this.#i.variables,r=this.#i.context,s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#O.onSuccess?.(e.data,t,r,s)}catch(e){Promise.reject(e)}try{this.#O.onSettled?.(e.data,null,t,r,s)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#O.onError?.(e.error,t,r,s)}catch(e){Promise.reject(e)}try{this.#O.onSettled?.(void 0,e.error,t,r,s)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#i)})})}};function k(e,t){let r=(0,x.useQueryClient)(t),[n]=p.useState(()=>new j(r,e));p.useEffect(()=>{n.setOptions(e)},[n,e]);let i=p.useSyncExternalStore(p.useCallback(e=>n.subscribe(s.notifyManager.batchCalls(e)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),a=p.useCallback((e,t)=>{n.mutate(e,t).catch(l.noop)},[n]);if(i.error&&(0,l.shouldThrowError)(n.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}e.s(["useMutation",()=>k],54616)},69074,e=>{"use strict";let t=(0,e.i(75254).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",()=>t],69074)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},55838,(e,t,r)=>{"use strict";var s=e.r(71645),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=s.useState,a=s.useEffect,l=s.useLayoutEffect,o=s.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),s=i({inst:{value:r,getSnapshot:t}}),n=s[0].inst,c=s[1];return l(function(){n.value=r,n.getSnapshot=t,u(n)&&c({inst:n})},[e,r,t]),a(function(){return u(n)&&c({inst:n}),e(function(){u(n)&&c({inst:n})})},[e]),o(r),r};r.useSyncExternalStore=void 0!==s.useSyncExternalStore?s.useSyncExternalStore:c},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var s=e.r(71645),n=e.r(2239),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=n.useSyncExternalStore,l=s.useRef,o=s.useEffect,u=s.useMemo,c=s.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,s,n){var h=l(null);if(null===h.current){var d={hasValue:!1,value:null};h.current=d}else d=h.current;var f=a(e,(h=u(function(){function e(e){if(!o){if(o=!0,a=e,e=s(e),void 0!==n&&d.hasValue){var t=d.value;if(n(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var r=s(e);return void 0!==n&&n(t,r)?(a=e,t):(a=e,l=r)}var a,l,o=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,s,n]))[0],h[1]);return o(function(){d.hasValue=!0,d.value=f},[f]),c(f),f}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},65332,e=>{"use strict";function t(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function r(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}e.s(["initInterpolator",()=>r,"initRange",()=>t])},51381,e=>{"use strict";class t extends Map{constructor(e,t=s){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,r]of e)this.set(t,r)}get(e){return super.get(r(this,e))}has(e){return super.has(r(this,e))}set(e,t){return super.set(function({_intern:e,_key:t},r){let s=t(r);return e.has(s)?e.get(s):(e.set(s,r),r)}(this,e),t)}delete(e){return super.delete(function({_intern:e,_key:t},r){let s=t(r);return e.has(s)&&(r=e.get(s),e.delete(s)),r}(this,e))}}function r({_intern:e,_key:t},r){let s=t(r);return e.has(s)?e.get(s):r}function s(e){return null!==e&&"object"==typeof e?e.valueOf():e}e.s(["InternMap",()=>t])},65232,e=>{"use strict";var t=e.i(51381),r=e.i(65332);let s=Symbol("implicit");e.s(["default",()=>function e(){var n=new t.InternMap,i=[],a=[],l=s;function o(e){let t=n.get(e);if(void 0===t){if(l!==s)return l;n.set(e,t=i.push(e)-1)}return a[t%a.length]}return o.domain=function(e){if(!arguments.length)return i.slice();for(let r of(i=[],n=new t.InternMap,e))n.has(r)||n.set(r,i.push(r)-1);return o},o.range=function(e){return arguments.length?(a=Array.from(e),o):a.slice()},o.unknown=function(e){return arguments.length?(l=e,o):l},o.copy=function(){return e(i,a).unknown(l)},r.initRange.apply(o,arguments),o},"implicit",0,s])},79996,47238,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var s in t)r[s]=t[s];return r}function s(){}var n="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,o=RegExp(`^rgb\\(${n},${n},${n}\\)$`),u=RegExp(`^rgb\\(${a},${a},${a}\\)$`),c=RegExp(`^rgba\\(${n},${n},${n},${i}\\)$`),h=RegExp(`^rgba\\(${a},${a},${a},${i}\\)$`),d=RegExp(`^hsl\\(${i},${a},${a}\\)$`),f=RegExp(`^hsla\\(${i},${a},${a},${i}\\)$`),p={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function y(){return this.rgb().formatRgb()}function g(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=l.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?m(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?b(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?b(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=o.exec(e))?new w(t[1],t[2],t[3],1):(t=u.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=c.exec(e))?b(t[1],t[2],t[3],t[4]):(t=h.exec(e))?b(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=d.exec(e))?N(t[1],t[2]/100,t[3]/100,1):(t=f.exec(e))?N(t[1],t[2]/100,t[3]/100,t[4]):p.hasOwnProperty(e)?m(p[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function m(e){return new w(e>>16&255,e>>8&255,255&e,1)}function b(e,t,r,s){return s<=0&&(e=t=r=NaN),new w(e,t,r,s)}function v(e,t,r,n){var i;return 1==arguments.length?((i=e)instanceof s||(i=g(i)),i)?new w((i=i.rgb()).r,i.g,i.b,i.opacity):new w:new w(e,t,r,null==n?1:n)}function w(e,t,r,s){this.r=+e,this.g=+t,this.b=+r,this.opacity=+s}function j(){return`#${S(this.r)}${S(this.g)}${S(this.b)}`}function k(){let e=R(this.opacity);return`${1===e?"rgb(":"rgba("}${O(this.r)}, ${O(this.g)}, ${O(this.b)}${1===e?")":`, ${e})`}`}function R(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function O(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function S(e){return((e=O(e))<16?"0":"")+e.toString(16)}function N(e,t,r,s){return s<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new E(e,t,r,s)}function M(e){if(e instanceof E)return new E(e.h,e.s,e.l,e.opacity);if(e instanceof s||(e=g(e)),!e)return new E;if(e instanceof E)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),l=NaN,o=a-i,u=(a+i)/2;return o?(l=t===a?(r-n)/o+(r<n)*6:r===a?(n-t)/o+2:(t-r)/o+4,o/=u<.5?a+i:2-a-i,l*=60):o=u>0&&u<1?0:l,new E(l,o,u,e.opacity)}function E(e,t,r,s){this.h=+e,this.s=+t,this.l=+r,this.opacity=+s}function C(e){return(e=(e||0)%360)<0?e+360:e}function I(e){return Math.max(0,Math.min(1,e||0))}function _(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(s,g,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return M(this).formatHsl()},formatRgb:y,toString:y}),t(w,v,r(s,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(O(this.r),O(this.g),O(this.b),R(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:j,formatHex:j,formatHex8:function(){return`#${S(this.r)}${S(this.g)}${S(this.b)}${S((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:k,toString:k})),t(E,function(e,t,r,s){return 1==arguments.length?M(e):new E(e,t,r,null==s?1:s)},r(s,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new E(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new E(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,s=r+(r<.5?r:1-r)*t,n=2*r-s;return new w(_(e>=240?e-240:e+120,n,s),_(e,n,s),_(e<120?e+240:e-120,n,s),this.opacity)},clamp(){return new E(C(this.h),I(this.s),I(this.l),R(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=R(this.opacity);return`${1===e?"hsl(":"hsla("}${C(this.h)}, ${100*I(this.s)}%, ${100*I(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>g,"rgb",()=>v],47238),e.s(["color",()=>g],79996)},65445,625,e=>{"use strict";var t=e.i(47238);function r(e,t,r,s,n){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*r+(1+3*e+3*i-3*a)*s+a*n)/6}let s=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:s(isNaN(e)?t:e)}e.s(["default",0,s],625);let i=function e(r){var i,a=1==(i=+r)?n:function(e,t){var r,n,a;return t-e?(r=e,n=t,r=Math.pow(r,a=i),n=Math.pow(n,a)-r,a=1/a,function(e){return Math.pow(r+e*n,a)}):s(isNaN(e)?t:e)};function l(e,r){var s=a((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),i=a(e.g,r.g),l=a(e.b,r.b),o=n(e.opacity,r.opacity);return function(t){return e.r=s(t),e.g=i(t),e.b=l(t),e.opacity=o(t),e+""}}return l.gamma=e,l}(1);function a(e){return function(r){var s,n,i=r.length,a=Array(i),l=Array(i),o=Array(i);for(s=0;s<i;++s)n=(0,t.rgb)(r[s]),a[s]=n.r||0,l[s]=n.g||0,o[s]=n.b||0;return a=e(a),l=e(l),o=e(o),n.opacity=1,function(e){return n.r=a(e),n.g=l(e),n.b=o(e),n+""}}}a(function(e){var t=e.length-1;return function(s){var n=s<=0?s=0:s>=1?(s=1,t-1):Math.floor(s*t),i=e[n],a=e[n+1],l=n>0?e[n-1]:2*i-a,o=n<t-1?e[n+2]:2*a-i;return r((s-n/t)*t,l,i,a,o)}}),a(function(e){var t=e.length;return function(s){var n=Math.floor(((s%=1)<0?++s:s)*t),i=e[(n+t-1)%t],a=e[n%t],l=e[(n+1)%t],o=e[(n+2)%t];return r((s-n/t)*t,i,a,l,o)}}),e.s(["default",0,i],65445)},68593,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},35204,e=>{"use strict";var t=e.i(68593),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,s=RegExp(r.source,"g");e.s(["default",0,function(e,n){var i,a,l,o,u,c=r.lastIndex=s.lastIndex=0,h=-1,d=[],f=[];for(e+="",n+="";(l=r.exec(e))&&(o=s.exec(n));)(u=o.index)>c&&(u=n.slice(c,u),d[h]?d[h]+=u:d[++h]=u),(l=l[0])===(o=o[0])?d[h]?d[h]+=o:d[++h]=o:(d[++h]=null,f.push({i:h,x:(0,t.default)(l,o)})),c=s.lastIndex;return c<n.length&&(u=n.slice(c),d[h]?d[h]+=u:d[++h]=u),d.length<2?f[0]?(i=f[0].x,function(e){return i(e)+""}):(a=n,function(){return a}):(n=f.length,function(e){for(var t,r=0;r<n;++r)d[(t=f[r]).i]=t.x(e);return d.join("")})}])},52491,e=>{"use strict";var t=e.i(68593);e.s(["interpolateNumber",()=>t.default])},89785,e=>{"use strict";function t(e,t){let r;if(void 0===t)for(let t of e)null!=t&&(r<t||void 0===r&&t>=t)&&(r=t);else{let s=-1;for(let n of e)null!=(n=t(n,++s,e))&&(r<n||void 0===r&&n>=n)&&(r=n)}return r}e.s(["default",()=>t])},65993,e=>{"use strict";function t(e,t){let r;if(void 0===t)for(let t of e)null!=t&&(r>t||void 0===r&&t>=t)&&(r=t);else{let s=-1;for(let n of e)null!=(n=t(n,++s,e))&&(r>n||void 0===r&&n>=n)&&(r=n)}return r}e.s(["default",()=>t])},27612,e=>{"use strict";let t=(0,e.i(75254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],27612)},55900,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["ChevronUp",()=>t],55900)},78894,e=>{"use strict";let t=(0,e.i(75254).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],78894)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},67585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let s=e.r(32061);function n({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new s.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,r)=>{"use strict";function s(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return s}})},52157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return o}});let s=e.r(18050),n=e.r(74080),i=e.r(63599),a=e.r(9885),l=e.r(43369);function o({moduleIds:e}){if("u">typeof window)return null;let t=i.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let s=t.reactLoadableManifest;for(let t of e){if(!s[t])continue;let e=s[t].files;r.push(...e)}}if(0===r.length)return null;let o=(0,l.getDeploymentIdQueryOrEmptyString)();return(0,s.jsx)(s.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${o}`;return e.endsWith(".css")?(0,s.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,n.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let s=e.r(18050),n=e.r(71645),i=e.r(67585),a=e.r(52157);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},u=function(e){let t={...o,...e},r=(0,n.lazy)(()=>t.loader().then(l)),u=t.loading;function c(e){let l=u?(0,s.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,c=o?n.Suspense:n.Fragment,h=t.ssr?(0,s.jsxs)(s.Fragment,{children:["u"<typeof window?(0,s.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,s.jsx)(r,{...e})]}):(0,s.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(r,{...e})});return(0,s.jsx)(c,{...o?{fallback:l}:{},children:h})}return c.displayName="LoadableComponent",c}},70703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let s=e.r(55682)._(e.r(69093));function n(e,t){let r={};"function"==typeof e&&(r.loader=e);let n={...r,...t};return(0,s.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},49889,e=>{"use strict";var t=e.i(18050),r=e.i(71645),s=e.i(9165);function n(){let[e,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(null),[l,o]=(0,r.useState)(null),[u,c]=(0,r.useState)(!1),[h,d]=(0,r.useState)("");(0,r.useEffect)(()=>{fetch((0,s.api)("/api/cortex/settings")).then(e=>e.json()).then(n).catch(()=>{}),fetch((0,s.api)("/api/cortex/usage")).then(e=>e.json()).then(o).catch(()=>{})},[]);let f=async e=>{c(!0);try{if((await fetch((0,s.api)("/api/cortex/settings"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok){let t={...e};t.anthropic_api_key&&(t.anthropic_api_key=`…${t.anthropic_api_key.slice(-4)}`),t.openai_api_key&&(t.openai_api_key=`…${t.openai_api_key.slice(-4)}`),n(e=>({...e,...t}))}}catch{}finally{c(!1)}},p=async()=>{await fetch((0,s.api)("/api/cortex/ingest/bootstrap"),{method:"POST"});let e=setInterval(async()=>{let t=await fetch((0,s.api)("/api/cortex/ingest/status")),r=await t.json();a(r),("complete"===r.status||"error"===r.status)&&clearInterval(e)},2e3)},x=e?.enabled??!1,y=x?"":"opacity-40 pointer-events-none";return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-gray-200",children:["Cortex",(0,t.jsx)("span",{className:"ml-2 text-[9px] font-medium uppercase tracking-wider text-purple-400 bg-purple-400/10 px-1.5 py-0.5 rounded",children:"Beta"})]}),(0,t.jsxs)("label",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Enable Cortex"}),(0,t.jsx)("input",{type:"checkbox",checked:x,disabled:!e,onChange:e=>f({enabled:e.target.checked}),className:"accent-purple-500"})]}),!e&&(0,t.jsx)("p",{className:"text-[10px] text-gray-500",children:"Loading…"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Anthropic API key"}),e?.anthropic_api_key?(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-xs text-gray-500 font-mono",children:["sk-ant-",e.anthropic_api_key]}),(0,t.jsx)("button",{onClick:()=>f({anthropic_api_key:""}),className:"text-[10px] text-gray-600 hover:text-red-400",children:"remove"})]}):(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)("input",{type:"password",value:h,onChange:e=>d(e.target.value),placeholder:"sk-ant-…",className:"flex-1 text-xs bg-white/5 border border-white/10 rounded px-2 py-1 text-gray-300 placeholder-gray-600"}),(0,t.jsx)("button",{onClick:()=>{h&&(f({anthropic_api_key:h}),d(""))},disabled:!h,className:"text-xs px-2 py-1 bg-purple-600 hover:bg-purple-500 text-white rounded disabled:opacity-30",children:"Save"})]}),(0,t.jsx)("p",{className:"text-[10px] text-gray-600",children:"Used for LLM distillation. Falls back to ANTHROPIC_API_KEY env var."})]}),(0,t.jsxs)("label",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Debug logging"}),(0,t.jsx)("p",{className:"text-[10px] text-gray-600",children:"Verbose memory, LanceDB, embedding, and distillation logs in server console"})]}),(0,t.jsx)("input",{type:"checkbox",checked:e?.debug??!1,onChange:e=>f({debug:e.target.checked}),className:"accent-purple-500 shrink-0 ml-3"})]}),(0,t.jsxs)("div",{className:`flex items-center justify-between ${y}`,children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Embedding provider"}),(0,t.jsx)("span",{className:"text-xs text-gray-300",children:e?.embedding?.provider||"auto"})]}),(0,t.jsxs)("div",{className:`block ${y}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Context injection budget"}),(0,t.jsxs)("span",{className:"text-[10px] text-gray-500",children:[e?.injection?.max_tokens||2e3," tokens"]})]}),(0,t.jsx)("input",{type:"range",min:500,max:2e4,step:500,value:e?.injection?.max_tokens||2e3,onChange:e=>f({injection:{max_tokens:parseInt(e.target.value)}}),className:"w-full"}),(0,t.jsx)("p",{className:"text-[10px] text-gray-600 mt-0.5",children:"Tokens of retrieved knowledge injected per prompt (Claude context: 200K)"})]}),(0,t.jsxs)("label",{className:`flex items-center justify-between ${y}`,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"LLM distillation"}),(0,t.jsx)("p",{className:"text-[10px] text-gray-600",children:"4 Haiku API calls per session end — cleaner knowledge at ~$0.03–0.05/session"})]}),(0,t.jsx)("input",{type:"checkbox",checked:e?.ingestion?.distillation??!0,onChange:e=>f({ingestion:{distillation:e.target.checked}}),className:"accent-purple-500 shrink-0 ml-3"})]}),(0,t.jsxs)("div",{className:`block ${y}`,children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Federation sync mode"}),(0,t.jsx)("p",{className:"text-[10px] text-gray-600 mb-1",children:"How knowledge is shared across multiple Spaces instances"}),(0,t.jsxs)("select",{value:e?.federation?.sync_mode||"query-only",onChange:e=>f({federation:{sync_mode:e.target.value}}),className:"w-full text-xs bg-white/5 border border-white/10 rounded px-2 py-1 text-gray-300",children:[(0,t.jsx)("option",{value:"query-only",children:"Query Only — read from remotes, no push"}),(0,t.jsx)("option",{value:"background-sync",children:"Background Sync — periodic two-way sync"}),(0,t.jsx)("option",{value:"real-time-sync",children:"Real-time Sync — sync on every store"})]})]}),l&&l.distillation?.calls>0&&(0,t.jsxs)("div",{className:"pt-2 border-t border-white/5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Distillation usage"}),(0,t.jsx)("button",{onClick:()=>fetch((0,s.api)("/api/cortex/usage"),{method:"DELETE"}).then(()=>o(null)),className:"text-[10px] text-gray-600 hover:text-gray-400",children:"reset"})]}),(0,t.jsxs)("div",{className:"text-[10px] text-gray-500 space-y-0.5",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"API calls"}),(0,t.jsx)("span",{className:"text-gray-400",children:l.distillation.calls.toLocaleString()})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Tokens in / out"}),(0,t.jsxs)("span",{className:"text-gray-400",children:[(l.distillation.input_tokens/1e3).toFixed(1),"K / ",(l.distillation.output_tokens/1e3).toFixed(1),"K"]})]}),(0,t.jsxs)("div",{className:"flex justify-between font-medium",children:[(0,t.jsx)("span",{children:"Estimated cost"}),(0,t.jsxs)("span",{className:"text-purple-400",children:["$",l.distillation.estimated_cost_usd.toFixed(4)]})]})]})]}),(0,t.jsxs)("div",{className:`pt-2 border-t border-white/5 ${y}`,children:[(0,t.jsx)("button",{onClick:p,disabled:i?.status==="running",className:"text-xs px-3 py-1.5 bg-purple-600 hover:bg-purple-500 text-white rounded disabled:opacity-50",children:i?.status==="running"?"Ingesting...":"Bootstrap Ingestion"}),i?.status==="running"&&(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsx)("div",{className:"w-full h-1.5 bg-white/5 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-purple-500 rounded-full transition-all",style:{width:`${i.processedFiles/Math.max(i.totalFiles,1)*100}%`}})}),(0,t.jsxs)("span",{className:"text-[10px] text-gray-500",children:[i.processedFiles,"/",i.totalFiles," files"]})]})]})]})}e.s(["CortexSettings",()=>n])},37673,e=>{e.v(t=>Promise.all(["static/chunks/afee31c7399daf2a.js"].map(t=>e.l(t))).then(()=>t(36087)))}]);