@mndrk/agx 2.0.22 → 2.0.24

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 (378) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
  7. package/cloud-runtime/standalone/.next/server/app/_global-error/page.js +2 -2
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js +6 -5
  18. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.html +14 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +11 -11
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  27. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  29. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js +5 -5
  30. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
  33. package/cloud-runtime/standalone/.next/server/app/agents/page.js +5 -5
  34. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.html +14 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.rsc +10 -10
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +10 -10
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +3 -3
  40. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +4 -4
  41. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  42. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
  43. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +3 -3
  44. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/app-paths-manifest.json +3 -0
  46. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/build-manifest.json +11 -0
  47. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/server-reference-manifest.json +4 -0
  48. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js +7 -0
  49. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.map +5 -0
  50. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
  51. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +2 -0
  52. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
  57. package/cloud-runtime/standalone/.next/server/app/automations/page.js +5 -5
  58. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/automations.html +14 -2
  61. package/cloud-runtime/standalone/.next/server/app/automations.rsc +11 -11
  62. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +11 -11
  63. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +3 -3
  64. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +4 -4
  65. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  66. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +5 -5
  67. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +3 -3
  68. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
  69. package/cloud-runtime/standalone/.next/server/app/board/page.js +6 -6
  70. package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/board.html +14 -2
  73. package/cloud-runtime/standalone/.next/server/app/board.rsc +8 -8
  74. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +8 -8
  75. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +3 -3
  76. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +4 -4
  77. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  78. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +2 -2
  79. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +3 -3
  80. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
  81. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js +5 -5
  82. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +14 -2
  85. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +10 -10
  86. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +10 -10
  87. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
  88. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
  89. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  90. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +4 -4
  91. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
  92. package/cloud-runtime/standalone/.next/server/app/index.html +14 -2
  93. package/cloud-runtime/standalone/.next/server/app/index.rsc +10 -10
  94. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  95. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +10 -10
  96. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +3 -3
  97. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
  98. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  99. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
  100. package/cloud-runtime/standalone/.next/server/app/page.js +5 -5
  101. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  104. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js +5 -5
  105. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  108. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js +5 -5
  109. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
  112. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js +5 -5
  113. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +13 -1
  116. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +10 -10
  117. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +10 -10
  118. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
  119. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
  120. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  121. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +4 -4
  122. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
  123. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
  124. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
  125. package/cloud-runtime/standalone/.next/server/app/projects/page.js +5 -5
  126. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/projects.html +14 -2
  129. package/cloud-runtime/standalone/.next/server/app/projects.rsc +10 -10
  130. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +10 -10
  131. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +3 -3
  132. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +4 -4
  133. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  134. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  135. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  136. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
  137. package/cloud-runtime/standalone/.next/server/app/settings/page.js +5 -5
  138. package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/settings.html +14 -2
  141. package/cloud-runtime/standalone/.next/server/app/settings.rsc +9 -9
  142. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +9 -9
  143. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +3 -3
  144. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
  145. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  146. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  147. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  148. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
  149. package/cloud-runtime/standalone/.next/server/app/status/page.js +5 -5
  150. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/status.html +14 -2
  153. package/cloud-runtime/standalone/.next/server/app/status.rsc +10 -10
  154. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +10 -10
  155. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +3 -3
  156. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +4 -4
  157. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  158. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +4 -4
  159. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +3 -3
  160. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
  161. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js +5 -5
  162. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/welcome/page.js +5 -5
  166. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/welcome.html +14 -2
  169. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +10 -10
  170. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +10 -10
  171. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
  172. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
  173. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +4 -4
  175. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
  176. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  177. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +1 -1
  178. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__621dcb4a._.js +3 -0
  179. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__babd2675._.js → [root-of-the-server]__82d76712._.js} +2 -2
  180. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d36da34d._.js → [root-of-the-server]__c2767ca5._.js} +2 -2
  181. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_browse_route_actions_8e268170.js +3 -0
  182. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +4 -4
  183. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +6 -6
  184. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fb05a385._.js → [root-of-the-server]__056cdf7d._.js} +2 -2
  185. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +3 -0
  186. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8d1af2c9._.js → [root-of-the-server]__11e33b9b._.js} +2 -2
  187. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__296a25b5._.js → [root-of-the-server]__19cd257e._.js} +2 -2
  188. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +13 -1
  189. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__51980630._.js → [root-of-the-server]__26d669c2._.js} +2 -2
  190. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  191. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a103abc._.js → [root-of-the-server]__4ebf5947._.js} +2 -2
  192. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +1 -1
  194. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +3 -0
  195. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c45c7360._.js → [root-of-the-server]__a667191a._.js} +2 -2
  196. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1cfbd715._.js → [root-of-the-server]__aa28d46f._.js} +2 -2
  197. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bd4d5430._.js +3 -0
  198. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ab36b420._.js → [root-of-the-server]__bde5bc78._.js} +2 -2
  199. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__cde88183._.js +3 -0
  200. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +3 -0
  201. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__2503b467._.js → [root-of-the-server]__d36dd8bc._.js} +2 -2
  202. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b77ae83d._.js → [root-of-the-server]__dac5ab29._.js} +2 -2
  203. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__3405b8e4._.js → [root-of-the-server]__e87ba2b0._.js} +2 -2
  204. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js → [root-of-the-server]__f62d412e._.js} +2 -2
  205. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__756711b8._.js → [root-of-the-server]__f63d6594._.js} +2 -2
  206. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__46de03a9._.js → [root-of-the-server]__febbd0b8._.js} +2 -2
  207. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89c70d6f._.js → [root-of-the-server]__ff22a10e._.js} +2 -2
  208. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a19a362a._.js → _02c78cac._.js} +3 -3
  209. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_08570d7f._.js → _0b36c9d6._.js} +3 -3
  210. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +3 -3
  211. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +2 -2
  212. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_37435df3._.js → _173da79d._.js} +3 -3
  213. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4fe611fe._.js → _1c58ab2d._.js} +3 -3
  214. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a88b4884._.js → _222af282._.js} +3 -3
  215. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27cb3359._.js +95 -0
  216. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8ebf36f6._.js → _3aa32c11._.js} +3 -3
  217. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
  218. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4b5d7c9b._.js +95 -0
  219. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c52176ad._.js → _4d4ba84b._.js} +3 -3
  220. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_194cda6c._.js → _50d04b8f._.js} +3 -3
  221. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a8eaf6bc._.js → _629dc55c._.js} +3 -3
  222. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6a367524._.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +2 -2
  224. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a696e9b3._.js +95 -0
  226. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ae20456d._.js +4 -0
  227. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c838f593._.js +95 -0
  228. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  229. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d021529a._.js +3 -0
  230. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fc18d7b5._.js → _e04b4053._.js} +3 -3
  231. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +3 -3
  232. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_b9d3574c._.js → _f1465cc8._.js} +3 -3
  233. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d4878ef1._.js → _f2a7beb1._.js} +3 -3
  234. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +3 -0
  235. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8d8836a8._.js → _fc1aaf9e._.js} +3 -3
  236. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
  237. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +1 -1
  239. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  240. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_global-error_tsx_9170b7a0._.js +3 -0
  241. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +2 -2
  242. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  243. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_03ec2107._.js +4 -0
  245. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_d92e159d.js → node_modules_next_dist_esm_build_templates_app-page_61c49327.js} +3 -3
  246. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
  247. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  248. package/cloud-runtime/standalone/.next/server/pages/404.html +13 -1
  249. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  250. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  251. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  252. package/cloud-runtime/standalone/.next/static/chunks/{785cb91c31bb3303.js → 09f9eeea393db0fd.js} +3 -3
  253. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +1 -0
  254. package/cloud-runtime/standalone/.next/static/chunks/2acd153dc5252e88.js +30 -0
  255. package/cloud-runtime/standalone/.next/static/chunks/2deeba875ec50761.js +1 -0
  256. package/cloud-runtime/standalone/.next/static/chunks/45b4d0ee5c92d45b.js +93 -0
  257. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +1 -0
  258. package/cloud-runtime/standalone/.next/static/chunks/616d66dbec9e4b8b.js +93 -0
  259. package/cloud-runtime/standalone/.next/static/chunks/64f812259cf8c243.js +18 -0
  260. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +1 -0
  261. package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +1 -0
  262. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +1 -0
  263. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +1 -0
  264. package/cloud-runtime/standalone/.next/static/chunks/{47ef8bb2118ea917.js → 86ace6febb11ad71.js} +1 -1
  265. package/cloud-runtime/standalone/.next/static/chunks/{90c7dbc004f59a42.js → 88e24940a5d5d386.js} +1 -1
  266. package/cloud-runtime/standalone/.next/static/chunks/9d50c2514f72d926.css +1 -0
  267. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +5 -0
  268. package/cloud-runtime/standalone/.next/static/chunks/b4e298542d366e31.js +93 -0
  269. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +6 -0
  270. package/cloud-runtime/standalone/.next/static/chunks/bd6c5b5b4fbd6413.css +2 -0
  271. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +1 -0
  272. package/cloud-runtime/standalone/.next/static/chunks/{7ca3e4f9ed7425a8.js → d95cd010361834be.js} +1 -1
  273. package/cloud-runtime/standalone/.next/static/chunks/da434b1ad885d636.js +30 -0
  274. package/cloud-runtime/standalone/.next/static/chunks/e44264686aa5ecbf.js +93 -0
  275. package/cloud-runtime/standalone/.next/static/chunks/eab1c7d0246592f8.js +8 -0
  276. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +1 -0
  277. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-92401168917c21f2.js → turbopack-5b5918f610666d2d.js} +1 -1
  278. package/cloud-runtime/standalone/README.md +15 -3
  279. package/cloud-runtime/standalone/app/agents/[id]/page.tsx +147 -147
  280. package/cloud-runtime/standalone/app/agents/page.tsx +115 -310
  281. package/cloud-runtime/standalone/app/api/filesystem/browse/route.ts +39 -0
  282. package/cloud-runtime/standalone/app/api/status/route.ts +1 -1
  283. package/cloud-runtime/standalone/app/api/threads/route.ts +4 -5
  284. package/cloud-runtime/standalone/app/automations/page.tsx +1 -1
  285. package/cloud-runtime/standalone/app/execution-graph/page.tsx +86 -86
  286. package/cloud-runtime/standalone/app/global-error.tsx +54 -0
  287. package/cloud-runtime/standalone/app/globals.css +165 -59
  288. package/cloud-runtime/standalone/app/layout.tsx +17 -0
  289. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +1 -1
  290. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +58 -58
  291. package/cloud-runtime/standalone/app/status/page.tsx +20 -20
  292. package/cloud-runtime/standalone/app/welcome/page.tsx +20 -15
  293. package/cloud-runtime/standalone/components/AutomationsBoard.tsx +1 -1
  294. package/cloud-runtime/standalone/components/ClientOnly.tsx +17 -0
  295. package/cloud-runtime/standalone/components/ConsentToggle/index.tsx +3 -3
  296. package/cloud-runtime/standalone/components/ContextMenu.tsx +123 -0
  297. package/cloud-runtime/standalone/components/DaemonBar.tsx +9 -9
  298. package/cloud-runtime/standalone/components/DirectoryBrowser.tsx +140 -0
  299. package/cloud-runtime/standalone/components/FirstRunModal/index.tsx +10 -10
  300. package/cloud-runtime/standalone/components/KanbanBoard.tsx +9 -9
  301. package/cloud-runtime/standalone/components/OfflineIndicator.tsx +149 -0
  302. package/cloud-runtime/standalone/components/ProjectModal.tsx +32 -8
  303. package/cloud-runtime/standalone/components/TaskCard.tsx +3 -3
  304. package/cloud-runtime/standalone/components/WorkspaceRootsList/index.tsx +57 -35
  305. package/cloud-runtime/standalone/components/chat-ui/AttachmentTray.tsx +7 -7
  306. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +218 -121
  307. package/cloud-runtime/standalone/components/chat-ui/ChatPreview.tsx +4 -4
  308. package/cloud-runtime/standalone/components/chat-ui/CommandPopover.tsx +4 -4
  309. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +65 -29
  310. package/cloud-runtime/standalone/components/chat-ui/FileMentionPopover.tsx +4 -4
  311. package/cloud-runtime/standalone/components/chat-ui/FileMentionPopoverItem.tsx +9 -9
  312. package/cloud-runtime/standalone/components/chat-ui/LogPanel.tsx +5 -5
  313. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +11 -11
  314. package/cloud-runtime/standalone/components/chat-ui/MentionPopover.tsx +11 -11
  315. package/cloud-runtime/standalone/components/chat-ui/MessageAttachments.tsx +5 -5
  316. package/cloud-runtime/standalone/components/chat-ui/MessageBubble.tsx +6 -6
  317. package/cloud-runtime/standalone/components/chat-ui/MessageList.tsx +60 -135
  318. package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +507 -263
  319. package/cloud-runtime/standalone/components/chat-ui/ProjectPicker.tsx +17 -17
  320. package/cloud-runtime/standalone/components/chat-ui/ReactionChip.tsx +1 -1
  321. package/cloud-runtime/standalone/components/chat-ui/SearchResults.tsx +14 -14
  322. package/cloud-runtime/standalone/components/chat-ui/StatusIndicator.tsx +7 -7
  323. package/cloud-runtime/standalone/components/chat-ui/TaskDraftCard.tsx +14 -14
  324. package/cloud-runtime/standalone/components/chat-ui/TaskStatusCard.tsx +10 -10
  325. package/cloud-runtime/standalone/components/chat-ui/ThreadMentionPopover.tsx +8 -8
  326. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +36 -33
  327. package/cloud-runtime/standalone/components/chat-ui/TypingIndicator.tsx +7 -7
  328. package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +96 -0
  329. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +173 -193
  330. package/cloud-runtime/standalone/fix-primary.js +30 -0
  331. package/cloud-runtime/standalone/fix-theme.js +78 -0
  332. package/cloud-runtime/standalone/hooks/useKeyboardShortcuts.ts +131 -0
  333. package/cloud-runtime/standalone/lib/history-store.ts +6 -1
  334. package/cloud-runtime/standalone/lib/storage/thread-adapter.ts +3 -3
  335. package/cloud-runtime/standalone/state/windowState.ts +179 -0
  336. package/cloud-runtime/standalone/styles/workspaceSidebar.css +89 -94
  337. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +1 -1
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__3fe0b1a1._.js +0 -3
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ea3dff5._.js +0 -3
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__931817d6._.js +0 -3
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e68a6e30._.js +0 -3
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fad8b80a._.js +0 -3
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/_181427d4._.js +0 -95
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_2da02644._.js +0 -3
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/_60f7e403._.js +0 -3
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7dbc349d._.js +0 -95
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a17cabe8._.js +0 -95
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d743f11d._.js +0 -3
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e05b04a5._.js +0 -4
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f2970e5f._.js +0 -4
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_001a8448._.js +0 -3
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +0 -3
  354. package/cloud-runtime/standalone/.next/static/chunks/047593c886feba72.css +0 -2
  355. package/cloud-runtime/standalone/.next/static/chunks/0c589ec8063c3a1f.js +0 -30
  356. package/cloud-runtime/standalone/.next/static/chunks/1826707bd2f73ca6.js +0 -8
  357. package/cloud-runtime/standalone/.next/static/chunks/1f1b912fe2e3d5bd.js +0 -1
  358. package/cloud-runtime/standalone/.next/static/chunks/32f13ace6661115d.js +0 -93
  359. package/cloud-runtime/standalone/.next/static/chunks/3b0a3b913dd15028.js +0 -30
  360. package/cloud-runtime/standalone/.next/static/chunks/4b3358c52d01a3f9.css +0 -1
  361. package/cloud-runtime/standalone/.next/static/chunks/4ee6151684568990.js +0 -93
  362. package/cloud-runtime/standalone/.next/static/chunks/5488a71a8515e8b2.js +0 -1
  363. package/cloud-runtime/standalone/.next/static/chunks/5aad4adabb65cd20.js +0 -1
  364. package/cloud-runtime/standalone/.next/static/chunks/5ce01dbd17ce3bb2.js +0 -1
  365. package/cloud-runtime/standalone/.next/static/chunks/5f5ae2ea4fa2b8f0.js +0 -12
  366. package/cloud-runtime/standalone/.next/static/chunks/6bb1ecbc3b80922c.js +0 -1
  367. package/cloud-runtime/standalone/.next/static/chunks/7657d70cc0c40c81.js +0 -6
  368. package/cloud-runtime/standalone/.next/static/chunks/7f2513325b592f25.js +0 -18
  369. package/cloud-runtime/standalone/.next/static/chunks/8b658ccf17b771b9.js +0 -1
  370. package/cloud-runtime/standalone/.next/static/chunks/b39122b85655e5b0.js +0 -1
  371. package/cloud-runtime/standalone/.next/static/chunks/b649593a57df218f.js +0 -1
  372. package/cloud-runtime/standalone/.next/static/chunks/b8ca4cb386211980.js +0 -5
  373. package/cloud-runtime/standalone/.next/static/chunks/e103488c85a7b445.js +0 -1
  374. package/cloud-runtime/standalone/.next/static/chunks/e355ac901e70f43d.js +0 -1
  375. package/cloud-runtime/standalone/.next/static/chunks/ebebe08434070698.js +0 -93
  376. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_buildManifest.js +0 -0
  377. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_clientMiddlewareManifest.json +0 -0
  378. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_ssgManifest.js +0 -0
@@ -1,18 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11132,e=>{"use strict";var t=e.i(18050),r=e.i(71645);let a={name:"",description:""},s={name:"",path:"",notes:""};function n(){let[e,t]=(0,r.useState)(a),[n,o]=(0,r.useState)([s]),[l,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{o(e=>[...e,{...s}])},[]),m=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),f=(0,r.useCallback)(()=>{t(a),o([s]),d(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):o([s]),d(null)},[]);return{form:e,setForm:t,repos:n,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:f,hydrateFromProject:h,isSubmitting:l,setIsSubmitting:i,formError:c,setFormError:d}}function o(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function l({form:e,repos:a,isEditingProject:s,isSubmitting:n,onFieldChange:o,onRepoChange:l,onAddRepo:i,onRemoveRepo:c}){let[d,u]=(0,r.useState)([]),p=(0,r.useRef)(0);(0,r.useEffect)(()=>{s?u([]):u(a.map((e,t)=>t)),p.current=a.length},[s,a.length]),(0,r.useEffect)(()=>{if(!s){p.current=a.length;return}let e=p.current;u(t=>{let r=t.filter(e=>e<a.length);return a.length>e&&r.push(...Array.from({length:a.length-e},(t,r)=>e+r)),r}),p.current=a.length},[s,a.length]);let m=(0,r.useCallback)(e=>{u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),f=(0,r.useCallback)(e=>!s||d.includes(e),[d,s]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>o("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:n})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>o("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:n})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("button",{type:"button",onClick:i,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:n,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:a.map((e,r)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",r+1]}),s&&!f(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed repository"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[s&&(0,t.jsx)("button",{type:"button",onClick:()=>m(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:n,children:f(r)?"Done":"Edit"}),a.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>c(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:n,children:"Remove"})]})]}),f(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>l(r,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:n}),(0,t.jsx)("input",{value:e.path,onChange:e=>l(r,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm",disabled:n}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>l(r,"notes",e.target.value),placeholder:"Repo-specific rules and notes (placeholder for conventions, constraints, ownership, deploy notes...)",className:"input text-sm w-full min-h-24 resize-y",disabled:n})})]}):null]},r))})]})]})}function i({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:o,repos:i,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}){let[h,x]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return x([]);try{let t=await fetch(`/api/projects/${n.id}/memory?producer=system`),r=t.ok?await t.json():{memory:[]};e||x(r.memory??[])}catch{e||x([])}}(),()=>{e=!0}},[n]),e)?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"System-Generated Project Knowledge"}),h.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:h.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-white px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No system-generated project knowledge candidates yet."})]})}),(0,t.jsx)(l,{form:o,repos:i,isEditingProject:!!n,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}),d&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:d})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:s,disabled:c,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:c?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>o,"default",()=>i,"useProjectFormState",()=>n])},74049,e=>{"use strict";var t=e.i(71645);function r(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),l=(0,t.useCallback)(async()=>{s(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{s(!1)}},[]);(0,t.useEffect)(()=>{l()},[l]);let i=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:n,refetch:l,createProject:i,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),n=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,s]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),s.ok&&(r=((await s.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{s(!1)}},[]);(0,t.useEffect)(()=>{n()},[n]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,s=a.name.trim(),n=(a.slug||s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:s,slug:n})});if(!o.ok)return null;let{project:l}=await o.json(),i=Array.isArray(t)?t:t?[t]:[];for(let e of i)await fetch(`/api/projects/${l.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let c={...l,repos:l.repos??[],agents:[],thread_ids:i,workspace_ids:i};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),l=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),i=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),c=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...s,repos:s.repos??t.repos}:t)),s}catch{return null}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:c,renameProject:l,deleteProject:i,addAgent:d,removeAgent:u,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await n()}catch{}},[n]),refresh:n}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return i},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return l}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});function n(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,o(e));else t.set(r,o(a));return t}function i(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,a=e.protocol||"",s=e.pathname||"",l=e.hash||"",i=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),s=s.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${s}${d}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(71645);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=n(e,a)),t&&(s.current=n(t,a))},[e,t])}function n(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return j},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return i},isResSent:function(){return p},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return k}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>l.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&p(r))return a;if(!a)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return n}});let a=e.r(18967),s=e.r(52817);function n(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return g},useLinkStatus:function(){return v}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(90809),o=e.r(18050),l=n._(e.r(71645)),i=e.r(61746),c=e.r(8372),d=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let m=e.r(91949),f=e.r(73668),h=e.r(9396);function x(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function g(t){var r;let a,s,n,[i,g]=(0,l.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:j,as:y,children:k,prefetch:w=null,passHref:N,replace:C,shallow:S,scroll:_,onClick:E,onMouseEnter:P,onTouchStart:T,legacyBehavior:O=!1,onNavigate:L,ref:A,unstable_dynamicOnHover:$,...R}=t;a=k,O&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let I=l.default.useContext(c.AppRouterContext),M=!1!==w,F=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:U}=l.default.useMemo(()=>{let e=x(j);return{href:e,as:y?x(y):e}},[j,y]);if(O){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=l.default.Children.only(a)}let B=O?s&&"object"==typeof s&&s.ref:A,q=l.default.useCallback(e=>(null!==I&&(v.current=(0,m.mountLinkInstance)(e,D,I,F,M,g)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[M,D,I,F,g]),J={ref:(0,d.useMergedRef)(q,B),onClick(t){O||"function"!=typeof E||E(t),O&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!I||t.defaultPrevented||function(t,r,a,s,n,o,i){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);l.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,D,U,v,C,_,L)},onMouseEnter(e){O||"function"!=typeof P||P(e),O&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){O||"function"!=typeof T||T(e),O&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(U)?J.href=U:O&&!N&&("a"!==s.type||"href"in s.props)||(J.href=(0,p.addBasePath)(U)),n=O?l.default.cloneElement(s,J):(0,o.jsx)("a",{...R,...J,children:a}),(0,o.jsx)(b.Provider,{value:i,children:n})}e.r(84508);let b=(0,l.createContext)(m.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("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)},18566,(e,t,r)=>{t.exports=e.r(76562)},59015,e=>{"use strict";var t=e.i(18050),r=e.i(22016),a=e.i(71645);function s(){let[e,r]=(0,a.useState)(null),[s,n]=(0,a.useState)("loading");(0,a.useEffect)(()=>{let e=!0;async function t(){try{let t=await fetch("/api/health");if(!e)return;if(!t.ok)return void n("error");let a=await t.json();r(a),n(a.connected?"connected":"disconnected")}catch{e&&n("error")}}t();let a=setInterval(t,3e4);return()=>{e=!1,clearInterval(a)}},[]);let o={loading:"Checking database…",connected:`${e?.adapter??"db"} connected (${e?.latencyMs??"?"}ms)`,disconnected:`${e?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":o[s],children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[s]}`}),(0,t.jsx)("span",{className:"hidden sm:inline",children:o[s]})]})}function n({children:e,fullWidth:a=!1,noFooter:n=!1}){return(0,t.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,t.jsx)("nav",{className:"flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsx)("div",{className:"flex items-center gap-8",children:(0,t.jsx)(r.default,{href:"/",className:"flex items-center gap-3 group",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,t.jsx)(r.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,t.jsx)(r.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,t.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${a?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:e}),!n&&(0,t.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,t.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,t.jsx)(s,{}),(0,t.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}function o(e){return(0,t.jsx)(a.Suspense,{fallback:(0,t.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,t.jsx)(n,{...e})})}e.s(["default",()=>o],59015)},3176,e=>{"use strict";let t=new Set(["done","passed"]),r=new Set(["pending","running","awaiting_human","blocked"]);function a(e){return`node--${e}`}function s(e){return e.replace(/_/gu," ")}function n(e,t){return"root"===t.type?t.title?.trim()||"Task Objective":"work"===t.type||"function"===t.type?t.title?.trim()||e:"gate"===t.type?t.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,e=>e.toUpperCase()):"fork"===t.type?"Fork":"join"===t.type?`Join (${t.joinStrategy})`:"Conditional"}function o(e){for(let[t,r]of Object.entries(e.nodes))if("root"===r.type)return{id:t,node:r};return null}function l(e){let a,s=o(e);return{mode:e.mode,graphVersion:e.graphVersion,nodeCount:Object.keys(e.nodes).length,progress:0===(a=Object.values(e.nodes).filter(e=>"skipped"!==e.status)).length?100:Math.round(a.filter(e=>t.has(e.status)).length/a.length*100),currentBlocker:function(e){let t=function(e){let t=Object.entries(e.nodes),r=t.filter(([,e])=>"gate"===e.type&&e.required),a=r.find(([,e])=>"failed"===e.status);if(a)return a[0];let s=r.find(([,e])=>"awaiting_human"===e.status);if(s)return s[0];let n=r.find(([,e])=>"pending"===e.status||"running"===e.status);if(n)return n[0];let o=t.find(([,e])=>"work"===e.type&&"blocked"===e.status);return o?.[0]??null}(e);if(!t)return null;let r=e.nodes[t];return r?{nodeId:t,label:n(t,r),status:r.status,required:"gate"===r.type&&r.required}:null}(e),derivedStatus:function(e){let t=Object.keys(e.nodes).length;if(0===t)return"INTAKE";if(1===t){let t=Object.values(e.nodes)[0];if("root"===t.type&&!t.graphCreated)return"INTAKE"}return Object.values(e.nodes).some(e=>r.has(e.status))?"PROGRESS":"DONE"}(e),hasRootNode:null!==s,rootNodeId:s?.id??null}}e.s(["buildGraphSummary",()=>l,"findRootNode",()=>o,"formatNodeStatusLabel",()=>s,"getNodeLabel",()=>n,"toNodeStatusClass",()=>a],3176)},99695,93237,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(74080);let s=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function n({status:e,onStatusChange:n}){let[o,l]=(0,r.useState)(!1),[i,c]=(0,r.useState)(null),d=(0,r.useRef)(null),u=(0,r.useRef)(null),p=(0,r.useCallback)(()=>{if(!d.current)return;let e=d.current.getBoundingClientRect();c({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!o)return;p();let e=e=>{d.current&&!d.current.contains(e.target)&&u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,p]),(0,r.useEffect)(()=>{l(!1)},[e]);let m=s.find(t=>t.value===e)||s[0],f="completed"===e,h="in_progress"===e;return(0,t.jsxs)("div",{className:"relative flex-shrink-0",ref:d,children:[(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),n&&l(!o)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
2
- hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
3
- ${n?"cursor-pointer":"cursor-default"}
4
- ${h?"animate-pulse":""}
5
- `,style:{borderColor:m.color,backgroundColor:f?m.color:"transparent"},title:m.label,children:[f&&(0,t.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===e&&(0,t.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:m.color,strokeWidth:"1.5",strokeLinecap:"round"})}),h&&(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:m.color}})]}),o&&i&&(0,a.createPortal)((0,t.jsx)("div",{ref:u,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:i.top,left:i.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:s.map(r=>{let a=r.value===e;return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
6
- hover:bg-[var(--item-hover-bg)]
7
- ${a?"font-semibold bg-[var(--item-hover-bg)]":""}
8
- `,onClick:e=>{e.stopPropagation(),n?.(r.value),l(!1)},children:[(0,t.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:r.color,backgroundColor:"completed"===r.value?r.color:"transparent"},children:["completed"===r.value&&(0,t.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===r.value&&(0,t.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:r.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===r.value&&(0,t.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:r.color}})]}),(0,t.jsx)("span",{style:{color:a?r.color:void 0},children:r.label}),a&&(0,t.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.value)})}),document.body)]})}var o=e.i(3176);let l=new Map,i=new Map;async function c(e){let t=l.get(e);if(void 0!==t)return t;let r=i.get(e);if(r)return r;let a=(async()=>{let t=await fetch(`/api/tasks/${e}/graph`,{method:"GET",cache:"no-store"});if(404===t.status)return l.set(e,null),null;let r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||`Failed to fetch graph summary (${t.status})`);let a=r?.graph??null,s=a?(0,o.buildGraphSummary)(a):null;return l.set(e,s),s})();i.set(e,a);try{return await a}finally{i.delete(e)}}function d(e){let t=(0,r.useMemo)(()=>e?l.get(e)??null:null,[e]),[a,s]=(0,r.useState)(t),[n,o]=(0,r.useState)(!!e&&null===t),[i,d]=(0,r.useState)(null),u=(0,r.useCallback)(async()=>{if(!e){s(null),d(null),o(!1);return}o(!0),d(null);try{let t=await c(e);s(t)}catch(e){d(e instanceof Error?e.message:"Failed to fetch graph summary"),s(null)}finally{o(!1)}},[e]);return(0,r.useEffect)(()=>{u()},[u]),{summary:a,isLoading:n,error:i,refresh:u}}function u(e){return l.get(e)??null}async function p(e){await Promise.allSettled(e.map(e=>c(e)))}e.s(["getCachedGraphSummary",()=>u,"prefetchGraphSummaries",()=>p,"useTaskGraphSummary",()=>d],93237);let m={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},f={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};function h({task:e,onClick:r,compact:a=!1,onStatusChange:s,onApprovalModeChange:o,allTasks:l,relationship:i="none"}){m[e.status||"queued"],e.stage&&f[e.stage];let{summary:c,isLoading:u}=d("draft"!==e.id?e.id:null),p=e.depends_on?.length?e.depends_on.map(e=>{let t=l?.find(t=>t.id===e);return{id:e,title:t?.title||e.slice(0,8),done:t?.status==="completed"}}):null;return p&&p.every(e=>e.done),(0,t.jsxs)("div",{onClick:r,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&r?.(),className:`group relative flex flex-col gap-1.5 sm:gap-2 p-2 sm:p-3 rounded-lg
9
- bg-white border shadow-sm
10
- transition-all duration-200 cursor-grab active:cursor-grabbing
11
- focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
12
- ${"active"===i?"border-primary ring-2 ring-primary/20 z-40":"blocking"===i?"border-[var(--status-blocked)] bg-rose-50/30 dark:bg-rose-950/20 z-20":"dependent"===i?"border-[var(--status-in-progress)] bg-blue-50/30 dark:bg-blue-950/20 z-20":"dimmed"===i?"opacity-40 grayscale scale-[0.98]":"border-[var(--card-border)] hover:shadow-md hover:border-[var(--primary-muted)] hover:ring-1 hover:ring-[var(--primary-muted)]"}
13
- ${"failed"===e.status&&"none"===i?"border-red-200 bg-red-50/30 dark:bg-red-950/20":""}
14
- ${"completed"===e.status&&"none"===i?"opacity-75 bg-gray-50 dark:bg-gray-900/50":""}
15
- `,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("h3",{className:`text-sm font-medium text-[var(--foreground)] leading-snug line-clamp-2 sm:line-clamp-3
16
- ${"completed"===e.status?"text-[var(--muted-foreground)] line-through":""}
17
- `,children:e.title||"Untitled Task"}),(0,t.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,t.jsx)(n,{status:e.status||"queued",onStatusChange:s})})]}),(0,t.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==e.priority&&e.priority>0&&(0,t.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-gray-100 ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),o&&("auto"===e.approval_mode?(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:e=>{e.stopPropagation(),o("manual")},children:"AUTO"}):(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:e=>{e.stopPropagation(),o("auto")},children:"AUTO"})),"draft"!==e.id&&(0,t.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:e.id.slice(0,5)})]})})]})}e.s(["default",()=>h],99695)},19580,e=>{"use strict";var t=e.i(47167),r=e.i(71645);let a={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:t.default.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:t.default.env.AGX_BOARD_USER_NAME||"Local Board User"};function s(e={}){let n="1"===t.default.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,o=e.project,l=e.status,i=e.orphan,c=e.realtime,[d,u]=(0,r.useState)([]),[p,m]=(0,r.useState)(!0),[f,h]=(0,r.useState)(null),[x,g]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),j=(0,r.useCallback)(e=>{if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]},[]),y=(0,r.useCallback)(e=>{let t=String(e||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!t)return[];let r=t[1].split("\n").find(e=>e.trim().toLowerCase().startsWith("depends_on:"));return r?j(r.slice(r.indexOf(":")+1).trim()):[]},[j]),k=(0,r.useCallback)((e,t)=>{let r=j(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?y(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=j(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[y,j]),w=(0,r.useCallback)(async()=>{try{let e=new URLSearchParams;o&&e.set("project",o),l&&e.set("status",l),i&&e.set("orphan","1");let t=await fetch(`/api/tasks?${e.toString()}`);if(!t.ok)throw Error("Failed to fetch tasks");let r=await t.json(),a=Array.isArray(r.tasks)?r.tasks.map(e=>k(e)):[];u(a),h(null)}catch(e){h(e instanceof Error?e:Error("Unknown error"))}finally{m(!1)}},[o,l,i]);(0,r.useEffect)(()=>{w()},[w]),(0,r.useEffect)(()=>{if(!n||!c)return;let e=setInterval(w,3e3);return()=>clearInterval(e)},[n,c,w]),(0,r.useEffect)(()=>{if(n||!c)return;let e={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:a.id,email:a.email,user_metadata:{name:a.name,full_name:a.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},t=e.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},e=>{"INSERT"===e.eventType?u(t=>{let r=k(e.new);return t.some(e=>e.id===r.id)?t:[r,...t]}):"UPDATE"===e.eventType?u(t=>t.map(t=>t.id===e.new.id?k(e.new,t):t)):"DELETE"===e.eventType&&u(t=>t.filter(t=>t.id!==e.old.id))}).subscribe();return()=>{e.removeChannel(t)}},[c,n]),(0,r.useEffect)(()=>{if(n||!c)return;let e=setInterval(w,3e3);return()=>clearInterval(e)},[c,n,w]);let N=(0,r.useCallback)(async(e,t)=>{let r=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,swarm_models:t})});if(!r.ok)throw Error((await r.json()).error||"Failed to create task");let{task:a}=await r.json(),s=k(a);return u(e=>e.some(e=>e.id===s.id)?e:[s,...e]),s},[e.realtime,k]),C=(0,r.useCallback)(async(e,t)=>{let r=await fetch(`/api/tasks/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){let e=null;throw"function"==typeof r.json&&(e=await r.json().catch(()=>null)),Error(e?.error||e?.details||`Failed to update task (${r.status} ${r.statusText||"Error"})`)}let{task:a}=await r.json();return u(t=>t.map(t=>t.id===e?k({...t,...a},t):t)),k(a)},[e.realtime,k]),S=(0,r.useCallback)(async e=>{if(!(await fetch(`/api/tasks/${e}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");u(t=>t.filter(t=>t.id!==e))},[e.realtime]),_=(0,r.useCallback)(async e=>{let t=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:r}=await t.json();return u(t=>t.map(t=>t.id===e.taskId?k({...t,...r},t):t)),k(r)},[e.realtime,k]),E=(0,r.useCallback)(async e=>{g(e.taskId),v(null);try{let t=await fetch(`/api/orchestrator/tasks/${e.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reason?{reason:e.reason}:{})});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error||"Failed to cancel workflow";throw Error(r)}return t.json()}catch(t){let e=t instanceof Error?t:Error("Failed to cancel workflow");throw v(e),e}finally{g(null)}},[]),P=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error||"Failed to fetch task details");return k(r?.task)},[k]),T=(0,r.useCallback)(async e=>{let t=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:e})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||"Failed to assign orphan tasks");return await w(),{updatedCount:Number(r?.updatedCount||0),taskIds:Array.isArray(r?.taskIds)?r.taskIds:[]}},[w]);return{tasks:d,isLoading:p,error:f,cancellingTaskId:x,isCancelling:!!x,cancelError:b,refetch:w,createTask:N,updateTask:C,deleteTask:S,completeTaskStage:_,cancelWorkflow:E,fetchTask:P,assignOrphanTasksToProject:T}}e.s(["useTasks",()=>s],19580)},39012,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(22016),s=e.i(18566),n=e.i(59015);function o({project:e,onEdit:r,onDelete:a,onClick:s,onManageTasks:n}){let o=e.repos&&e.repos.length>0;return(0,t.jsxs)("div",{onClick:()=>s?.(e),className:`p-5 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all
18
- ${s?"cursor-pointer hover:border-[var(--primary)] hover:shadow-md active:scale-[0.99]":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:e.slug})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(e.updated_at).toLocaleDateString()]}),(r||a||n)&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),n(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),r&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),r(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),a&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),e.description&&(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:e.description}),e.ci_cd_info&&(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:e.ci_cd_info})]}),e.metadata&&Object.keys(e.metadata).length>0&&(0,t.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,t.jsx)("div",{className:"space-y-1",children:Object.entries(e.metadata??{}).filter(([e])=>"undefined"!==e&&""!==e).map(([e,r])=>(0,t.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,t.jsx)("span",{className:"font-semibold",children:e}),(0,t.jsx)("span",{className:"truncate text-right",children:"string"==typeof r?r:JSON.stringify(r)})]},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:o?`${e.repos.length} connected`:"Unlinked"})]}),o?(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[e.repos.slice(0,2).map(e=>(0,t.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,t.jsx)("div",{className:"font-semibold truncate",children:e.name}),e.path&&(0,t.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:e.path})]},e.id)),e.repos.length>2&&(0,t.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",e.repos.length-2," more"]})]}):(0,t.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No repositories added yet."})]})]})}var l=e.i(11132),i=e.i(99695);let c={in_progress:{title:"In Progress",icon:"🔄",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"🚧",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"📋",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function d({tasks:e,onSelectTask:r,onStatusChange:a}){if(0===e.length)return(0,t.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,t.jsx)("span",{className:"text-3xl",children:"📋"})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let s=e.filter(e=>"in_progress"===e.status),n=e.filter(e=>"queued"===e.status),o=e.filter(e=>"blocked"===e.status),l=e.filter(e=>"completed"===e.status||"failed"===e.status),d=(e,s)=>{if(0===s.length)return null;let n=c[e];return(0,t.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${n.color} 10%, transparent)`},children:[(0,t.jsx)("span",{className:"text-lg",children:n.icon}),(0,t.jsx)("h3",{className:"text-sm font-semibold",style:{color:n.color},children:n.title}),(0,t.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${n.color} 15%, transparent)`,color:n.color},children:s.length})]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:n.description})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.map((e,s)=>(0,t.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*s}ms`},children:(0,t.jsx)(i.default,{task:e,onClick:()=>r?.(e),onStatusChange:a?t=>a(e.id,t):void 0})},e.id))})]})};return(0,t.jsxs)("div",{children:[d("in_progress",s),d("blocked",o),d("queued",n),d("completed",l)]})}var u=e.i(19580),p=e.i(74049);function m(){let e=(0,s.useRouter)(),i=(0,s.useSearchParams)(),{projects:c,isLoading:d,error:u,refetch:m,createProject:h,updateProject:x,deleteProject:g}=(0,p.useProjects)(),b=(0,l.useProjectFormState)(),[v,j]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),[w,N]=(0,r.useState)(null),{form:C,repos:S,handleRepoChange:_,addRepo:E,removeRepo:P,resetForm:T,hydrateFromProject:O,isSubmitting:L,setIsSubmitting:A,formError:$,setFormError:R,setForm:I}=b,M=()=>{j(null),T(),k(!0)},F=e=>{j(e),O(e),k(!0)};(0,r.useEffect)(()=>{let e=i.get("edit");if(!e||0===c.length||y)return;let t=c.find(t=>t.id===e);t&&F(t)},[i,c,y]);let D=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),U=(0,r.useCallback)(e=>{N(e)},[]),B=(0,r.useCallback)(()=>{N(null)},[]),q=()=>{T(),k(!1),j(null),i.get("edit")&&e.replace("/projects")},J=async()=>{if(!C.name.trim())return void R("Project name is required");let e=S.find(e=>e.name.trim()&&!e.path.trim());if(e)return void R(`Local path is required for repository "${e.name}"`);R(null),A(!0);let t=(0,l.createProjectPayload)(C,S);try{v?await x(v.id,t):await h(t),q()}catch(e){R(e instanceof Error?e.message:"Failed to save project")}finally{A(!1)}},z=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await g(e.id)}catch(e){alert(e instanceof Error?e.message:"Failed to delete project")}};return(0,t.jsx)(n.default,{children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,t.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their repository contexts."})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:m,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,t.jsx)("button",{onClick:M,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),d?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===c.length?(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"📂"}),(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your repositories."}),(0,t.jsx)("button",{onClick:M,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:[(0,t.jsxs)(a.default,{href:"/projects/orphans",className:"p-5 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all hover:border-[var(--primary)] hover:shadow-md",children:[(0,t.jsx)("div",{className:"flex items-start justify-between gap-4",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:"Orphan Tasks"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:"Unassigned"})]})}),(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)]",children:"Review tasks with empty project assignment and move them into the correct project."})]}),c.map(e=>(0,t.jsx)(o,{project:e,onEdit:F,onDelete:z,onManageTasks:U,onClick:D},e.id))]}),(0,t.jsx)(l.default,{isOpen:y,onClose:q,onSubmit:J,editingProject:v,form:C,repos:S,isSubmitting:L,formError:$,onFieldChange:(e,t)=>I(r=>({...r,[e]:t})),onRepoChange:_,onAddRepo:E,onRemoveRepo:P}),w&&(0,t.jsx)(f,{project:w,onClose:B})]})})}function f({project:e,onClose:r}){let{tasks:a,isLoading:s}=(0,u.useTasks)({project:e.slug});return(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&r(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-5xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",e.name]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(0,t.jsx)("button",{onClick:r,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:s?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,t.jsx)(d,{tasks:a})}),(0,t.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end flex-shrink-0",children:(0,t.jsx)("button",{onClick:r,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Close"})})]})})}e.s(["default",()=>m],39012)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},14683,e=>{"use strict";let t=(0,e.i(75254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],14683)},73884,e=>{"use strict";let t=(0,e.i(75254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],73884)},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return c},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return l}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function c(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return o},urlObjectKeys:function(){return c}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",l=e.hash||"",c=e.query||"",o=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?o=t+e.host:r&&(o=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(o+=":"+e.port)),c&&"object"==typeof c&&(c=String(a.urlQueryToSearchParams(c)));let u=e.search||c&&`?${c}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==o?(o="//"+(o||""),s&&"/"!==s[0]&&(s="/"+s)):o||(o=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),s=s.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${o}${s}${u}${l}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function o(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=a(e,n)),t&&(s.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return v},NormalizeError:function(){return g},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return o},getURL:function(){return u},isAbsoluteUrl:function(){return c},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return N}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>l.test(e);function o(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=o();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class g extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),s=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return b}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(90809),i=e.r(18050),l=a._(e.r(71645)),c=e.r(61746),o=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let m=e.r(91949),p=e.r(73668),h=e.r(9396);function x(e){return"string"==typeof e?e:(0,c.formatUrl)(e)}function y(t){var r;let n,s,a,[c,y]=(0,l.useOptimistic)(m.IDLE_LINK_STATUS),b=(0,l.useRef)(null),{href:v,as:j,children:N,prefetch:w=null,passHref:k,replace:P,shallow:C,scroll:E,onClick:O,onMouseEnter:S,onTouchStart:_,legacyBehavior:z=!1,onNavigate:T,ref:L,unstable_dynamicOnHover:M,...A}=t;n=N,z&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let R=l.default.useContext(o.AppRouterContext),$=!1!==w,I=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:U,as:F}=l.default.useMemo(()=>{let e=x(v);return{href:e,as:j?x(j):e}},[v,j]);if(z){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=l.default.Children.only(n)}let D=z?s&&"object"==typeof s&&s.ref:L,B=l.default.useCallback(e=>(null!==R&&(b.current=(0,m.mountLinkInstance)(e,U,R,I,$,y)),()=>{b.current&&((0,m.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,m.unmountPrefetchableInstance)(e)}),[$,U,R,I,y]),W={ref:(0,u.useMergedRef)(B,D),onClick(t){z||"function"!=typeof O||O(t),z&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!R||t.defaultPrevented||function(t,r,n,s,a,i,c){if("u">typeof window){let o,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((o=t.currentTarget.getAttribute("target"))&&"_self"!==o||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),c){let e=!1;if(c({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);l.default.startTransition(()=>{d(n||r,a?"replace":"push",i??!0,s.current)})}}(t,U,F,b,P,E,T)},onMouseEnter(e){z||"function"!=typeof S||S(e),z&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),R&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){z||"function"!=typeof _||_(e),z&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),R&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(F)?W.href=F:z&&!k&&("a"!==s.type||"href"in s.props)||(W.href=(0,f.addBasePath)(F)),a=z?l.default.cloneElement(s,W):(0,i.jsx)("a",{...A,...W,children:n}),(0,i.jsx)(g.Provider,{value:c,children:a})}e.r(84508);let g=(0,l.createContext)(m.IDLE_LINK_STATUS),b=()=>(0,l.useContext)(g);("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)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:l="",children:c,iconNode:o,...u},d)=>(0,t.createElement)("svg",{ref:d,...s,width:n,height:n,stroke:e,strokeWidth:i?24*Number(a)/Number(n):a,className:r("lucide",l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...o.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])),i=(e,s)=>{let i=(0,t.forwardRef)(({className:i,...l},c)=>(0,t.createElement)(a,{ref:c,iconNode:s,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...l}));return i.displayName=n(e),i};e.s(["default",()=>i],75254)},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)},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)},75092,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(22016),s=e.i(16715),a=e.i(71689),i=e.i(14683),l=e.i(78894),c=e.i(73884);let o=e=>{switch(e){case"ok":return(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-emerald-400 text-emerald-400"});case"error":return(0,t.jsx)(c.XCircle,{className:"w-3 h-3 text-red-400"});case"unavailable":return(0,t.jsx)(l.AlertTriangle,{className:"w-3 h-3 text-zinc-500"})}},u=e=>{switch(e){case"ok":return(0,t.jsx)("span",{className:"text-emerald-400 text-xs font-medium",children:"OK"});case"error":return(0,t.jsx)("span",{className:"text-red-400 text-xs font-medium",children:"Error"});case"unavailable":return(0,t.jsx)("span",{className:"text-zinc-500 text-xs font-medium",children:"Unavailable"})}};function d(){let[e,l]=(0,r.useState)(null),[c,d]=(0,r.useState)(!0),[f,m]=(0,r.useState)(null),p=(0,r.useCallback)(async()=>{d(!0),m(null);try{let e=await fetch("/api/status");if(!e.ok)throw Error(`HTTP ${e.status}`);l(await e.json())}catch(e){m(e instanceof Error?e.message:"Failed to fetch status")}finally{d(!1)}},[]);(0,r.useEffect)(()=>{p();let e=setInterval(p,3e4);return()=>clearInterval(e)},[p]);let h=e?.services.filter(e=>!e.name.startsWith("cli:"))??[],x=e?.services.filter(e=>e.name.startsWith("cli:"))??[];return(0,t.jsx)("div",{className:"min-h-screen bg-[var(--background)] text-[var(--foreground)] p-6",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-8",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(n.default,{href:"/",className:"text-zinc-500 hover:text-zinc-300 transition-colors",children:(0,t.jsx)(a.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsx)("h1",{className:"text-lg font-semibold",children:"System Status"}),e&&(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-full ${"ok"===e.status?"bg-emerald-400/10 text-emerald-400":"bg-amber-400/10 text-amber-400"}`,children:"ok"===e.status?"All systems operational":"Degraded"})]}),(0,t.jsx)("button",{onClick:p,disabled:c,className:"text-zinc-500 hover:text-zinc-300 transition-colors disabled:opacity-50",children:(0,t.jsx)(s.RefreshCw,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]}),f&&(0,t.jsx)("div",{className:"mb-6 p-3 rounded-lg bg-red-400/10 border border-red-400/20 text-red-400 text-sm",children:f}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"Services"}),(0,t.jsxs)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:[h.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o(e.status),(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[void 0!==e.latencyMs&&(0,t.jsxs)("span",{className:"text-xs text-zinc-500",children:[e.latencyMs,"ms"]}),u(e.status)]})]},e.name)),0===h.length&&!c&&(0,t.jsx)("div",{className:"px-4 py-3 text-sm text-zinc-500",children:"No services found"})]})]}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"CLI Providers"}),(0,t.jsx)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:x.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o(e.status),(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name.replace("cli:","")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"text-xs text-zinc-500",children:e.detail}),u(e.status)]})]},e.name))})]}),e?.limits&&(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"Operational Limits"}),(0,t.jsxs)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-zinc-500 text-zinc-500"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Max Workers"})]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 font-mono",children:e.limits.maxWorkers})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-zinc-500 text-zinc-500"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Write QPS Ceiling"})]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 font-mono",children:e.limits.writeQpsCeiling})]}),(0,t.jsx)("div",{className:"px-4 py-2",children:(0,t.jsxs)("span",{className:"text-[11px] text-zinc-600",children:["Single-coordinator / single-writer SQLite architecture."," ",(0,t.jsx)("a",{href:"https://github.com/anthropics/agx-cloud/blob/main/docs/LIMITS.md",target:"_blank",rel:"noopener",className:"underline hover:text-zinc-400",children:"See LIMITS.md"})]})})]})]}),e&&(0,t.jsxs)("p",{className:"text-xs text-zinc-600 text-center",children:["Last checked: ",new Date(e.timestamp).toLocaleTimeString()]})]})})}e.s(["default",()=>d])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return i},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function s(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function i(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return d},urlObjectKeys:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",l=e.hash||"",i=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),i&&"object"==typeof i&&(i=String(s.urlQueryToSearchParams(i)));let u=e.search||i&&`?${i}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==d?(d="//"+(d||""),a&&"/"!==a[0]&&(a="/"+a)):d||(d=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${d}${a}${u}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return l(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return v},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return y},NormalizeError:function(){return g},PageNotFoundError:function(){return b},SP:function(){return p},ST:function(){return x},WEB_VITALS:function(){return s},execOnce:function(){return o},getDisplayName:function(){return c},getLocationOrigin:function(){return d},getURL:function(){return u},isAbsoluteUrl:function(){return i},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return k}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>l.test(e);function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=d();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${c(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="u">typeof performance,x=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class v extends Error{}class g extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(18967),a=e.r(52817);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return v},useLinkStatus:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809),o=e.r(18050),l=s._(e.r(71645)),i=e.r(61746),d=e.r(8372),u=e.r(18581),c=e.r(18967),f=e.r(5550);e.r(33525);let m=e.r(91949),h=e.r(73668),p=e.r(9396);function x(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function v(t){var r;let n,a,s,[i,v]=(0,l.useOptimistic)(m.IDLE_LINK_STATUS),b=(0,l.useRef)(null),{href:y,as:j,children:k,prefetch:N=null,passHref:w,replace:S,shallow:C,scroll:P,onClick:E,onMouseEnter:M,onTouchStart:T,legacyBehavior:O=!1,onNavigate:$,ref:R,unstable_dynamicOnHover:_,...I}=t;n=k,O&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let A=l.default.useContext(d.AppRouterContext),L=!1!==N,z=!1!==N?null===(r=N)||"auto"===r?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,{href:U,as:F}=l.default.useMemo(()=>{let e=x(y);return{href:e,as:j?x(j):e}},[y,j]);if(O){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=l.default.Children.only(n)}let D=O?a&&"object"==typeof a&&a.ref:R,B=l.default.useCallback(e=>(null!==A&&(b.current=(0,m.mountLinkInstance)(e,U,A,z,L,v)),()=>{b.current&&((0,m.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,m.unmountPrefetchableInstance)(e)}),[L,U,A,z,v]),V={ref:(0,u.useMergedRef)(B,D),onClick(t){O||"function"!=typeof E||E(t),O&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,a,s,o,i){if("u">typeof window){let d,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){s&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:c}=e.r(99781);l.default.startTransition(()=>{c(n||r,s?"replace":"push",o??!0,a.current)})}}(t,U,F,b,S,P,$)},onMouseEnter(e){O||"function"!=typeof M||M(e),O&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),A&&L&&(0,m.onNavigationIntent)(e.currentTarget,!0===_)},onTouchStart:function(e){O||"function"!=typeof T||T(e),O&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),A&&L&&(0,m.onNavigationIntent)(e.currentTarget,!0===_)}};return(0,c.isAbsoluteUrl)(F)?V.href=F:O&&!w&&("a"!==a.type||"href"in a.props)||(V.href=(0,f.addBasePath)(F)),s=O?l.default.cloneElement(a,V):(0,o.jsx)("a",{...I,...V,children:n}),(0,o.jsx)(g.Provider,{value:i,children:s})}e.r(84508);let g=(0,l.createContext)(m.IDLE_LINK_STATUS),b=()=>(0,l.useContext)(g);("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)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:l="",children:i,iconNode:d,...u},c)=>(0,t.createElement)("svg",{ref:c,...a,width:n,height:n,stroke:e,strokeWidth:o?24*Number(s)/Number(n):s,className:r("lucide",l),...!i&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(i)?i:[i]])),o=(e,a)=>{let o=(0,t.forwardRef)(({className:o,...l},i)=>(0,t.createElement)(s,{ref:i,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...l}));return o.displayName=n(e),o};e.s(["default",()=>o],75254)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},10980,e=>{"use strict";let t=(0,e.i(75254).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",()=>t],10980)},55838,(e,t,r)=>{"use strict";var n=e.r(71645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,o=n.useEffect,l=n.useLayoutEffect,i=n.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var u="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),a=n[0].inst,u=n[1];return l(function(){a.value=r,a.getSnapshot=t,d(a)&&u({inst:a})},[e,r,t]),o(function(){return d(a)&&u({inst:a}),e(function(){d(a)&&u({inst:a})})},[e]),i(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var n=e.r(71645),a=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},o=a.useSyncExternalStore,l=n.useRef,i=n.useEffect,d=n.useMemo,u=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var c=l(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;var m=o(e,(c=d(function(){function e(e){if(!i){if(i=!0,o=e,e=n(e),void 0!==a&&f.hasValue){var t=f.value;if(a(t,e))return l=t}return l=e}if(t=l,s(o,e))return t;var r=n(e);return void 0!==a&&a(t,r)?(o=e,t):(o=e,l=r)}var o,l,i=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,n,a]))[0],c[1]);return i(function(){f.hasValue=!0,f.value=m},[m]),u(m),m}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},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)},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)},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)},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)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],3116)},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)},31343,e=>{"use strict";let t=(0,e.i(75254).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],31343)},33154,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(68542),a=e.i(54238),s=e.i(31343),o=e.i(27612),l=e.i(37727),i=e.i(43531),d=e.i(3116),u=e.i(75254);let c=(0,u.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var f=e.i(7233);let m=(0,u.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var h=e.i(16715),p=e.i(78894);let x=["min","hour","day","mon","wkday"];function v(e){if(e.cadence)return e.cadence;if(e.cronExpr)return e.cronExpr;let t=e.intervalMs;return t<6e4?`Every ${Math.round(t/1e3)}s`:t<36e5?`Every ${Math.round(t/6e4)}m`:t<864e5?`Every ${Math.round(t/36e5)}h`:`Every ${Math.round(t/864e5)}d`}function g(e){if("paused"===e.state)return"Paused";if("stopped"===e.state)return"Stopped";if(e.nextTickAt){let t=e.nextTickAt-Date.now();return t<0?"Overdue":t<6e4?`in ${Math.round(t/1e3)}s`:t<36e5?`in ${Math.round(t/6e4)}m`:t<864e5?`in ${Math.round(t/36e5)}h`:`in ${Math.round(t/864e5)}d`}if(e.lastTickAt){let t=e.lastTickAt+e.intervalMs-Date.now();return t<0?"Overdue":t<6e4?`in ${Math.round(t/1e3)}s`:t<36e5?`in ${Math.round(t/6e4)}m`:`in ${Math.round(t/36e5)}h`}return"Pending"}function b({on:e,onToggle:r,disabled:n}){return(0,t.jsx)("button",{onClick:r,disabled:n,className:`relative w-9 h-5 rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-[var(--muted-foreground)] ${e?"bg-green-600":"bg-[var(--muted)]"} ${n?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:(0,t.jsx)("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform duration-200 shadow-sm ${e?"translate-x-4":"translate-x-0"}`})})}function y(){let{automations:e,loading:n,refresh:a,pauseSchedule:o,resumeSchedule:l,deleteSchedule:u,runNow:x}=function(){let[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(!0),[s,o]=(0,r.useState)(null),l=(0,r.useCallback)(async()=>{try{a(!0);let e=await fetch("/api/automations");if(!e.ok)throw Error(`Failed to fetch: ${e.status}`);let r=await e.json();t(r.automations??[]),o(null)}catch(e){o(e instanceof Error?e.message:String(e))}finally{a(!1)}},[]);(0,r.useEffect)(()=>{l();let e=setInterval(l,1e4);return()=>clearInterval(e)},[l]);let i=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pause"})});return t.ok&&await l(),t.ok},[l]),d=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"resume"})});return t.ok&&await l(),t.ok},[l]),u=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}/graph/schedule`,{method:"DELETE"});return t.ok&&await l(),t.ok},[l]),c=(0,r.useCallback)(async e=>{let t=await fetch("/api/schedules/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});return t.ok&&await l(),t.ok},[l]);return{automations:e,loading:n,error:s,refresh:l,pauseSchedule:i,resumeSchedule:d,deleteSchedule:u,runNow:c}}(),[y,k]=(0,r.useState)("rules"),[N,w]=(0,r.useState)("all"),[S,C]=(0,r.useState)(null),[P,E]=(0,r.useState)(null),[M,T]=(0,r.useState)({}),O=e=>{E(e),setTimeout(()=>E(null),2500)},$=e.filter(e=>"active"===e.schedule.state).length,R=e.filter(e=>"all"===N||e.schedule.state===N),_=e.find(e=>e.taskId===S),I=async(e,t)=>{t?.stopPropagation();let r="active"===e.schedule.state?o:l;await r(e.taskId)&&O(`${e.schedule.name||e.taskId} ${"active"===e.schedule.state?"paused":"resumed"}`)},A=async(e,t)=>{if(t?.stopPropagation(),M[e])return;T(t=>({...t,[e]:!0})),O("Running...");let r=await x(e);T(t=>{let r={...t};return delete r[e],r}),r&&O("Run triggered successfully")},L=async e=>{await u(e)&&(S===e&&C(null),O("Schedule deleted"))},z=e.reduce((e,t)=>e+t.schedule.runCount,0),U=e.filter(e=>(e.schedule.consecutiveFailures??0)>0).length;return(0,t.jsxs)("div",{className:"h-full flex flex-col text-[var(--foreground)] selection:bg-[var(--primary-muted)]",children:[P&&(0,t.jsx)("div",{className:"fixed bottom-8 left-1/2 -translate-x-1/2 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200",children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] px-4 py-2.5 rounded-xl shadow-lg flex items-center gap-2.5 text-sm font-medium",children:[(0,t.jsx)(i.Check,{size:16,className:"text-green-600"}),P]})}),(0,t.jsxs)("div",{className:"px-6 md:px-10 pt-6 pb-0",children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-end gap-4 mb-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight mb-1",children:"Automations"}),(0,t.jsxs)("p",{className:"text-sm text-[var(--muted-foreground)]",children:[$," active rule",1!==$?"s":""," ·"," ",z.toLocaleString()," lifetime runs"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>a(),className:"p-2 rounded-lg border border-[var(--card-border)] text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--card-hover-border)] transition-colors",children:(0,t.jsx)(h.RefreshCw,{size:16})}),(0,t.jsxs)("button",{onClick:()=>O("Create new schedule via API or chat"),className:"bg-[var(--foreground)] text-[var(--background)] px-4 py-2 rounded-lg text-sm font-medium flex items-center gap-2 hover:opacity-90 transition-opacity",children:[(0,t.jsx)(f.Plus,{size:16})," New rule"]})]})]}),(0,t.jsx)("div",{className:"border-b border-[var(--card-border)] flex gap-6",children:["rules","timeline"].map(e=>(0,t.jsxs)("button",{onClick:()=>{k(e),C(null)},className:`pb-3 text-sm capitalize transition-colors relative ${y===e?"text-[var(--foreground)] font-semibold":"text-[var(--muted-foreground)] hover:text-[var(--foreground)] font-medium"}`,children:[e,y===e&&(0,t.jsx)("span",{className:"absolute bottom-0 left-0 w-full h-[2px] bg-[var(--foreground)] rounded-t-sm"})]},e))})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0 px-6 md:px-10 py-6 overflow-y-auto",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-8 items-start",children:[(0,t.jsx)("div",{className:"min-w-0",children:n&&0===e.length?(0,t.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm",children:"Loading automations..."}):"rules"===y?(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"flex gap-4 mb-5",children:["all","active","paused","stopped"].map(r=>{let n="all"===r?e.length:e.filter(e=>e.schedule.state===r).length;return(0,t.jsxs)("button",{onClick:()=>w(r),className:`text-xs font-medium pb-1 transition-colors border-b-2 ${N===r?"border-[var(--foreground)] text-[var(--foreground)]":"border-transparent text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[(0,t.jsx)("span",{className:"capitalize",children:r}),(0,t.jsx)("span",{className:"ml-1.5 text-[10px] text-[var(--muted-foreground)] font-mono",children:n})]},r)})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[R.map(e=>{let r=S===e.taskId,n=(e.schedule.consecutiveFailures??0)>0,a=M[e.taskId];return(0,t.jsxs)("div",{onClick:()=>C(e.taskId),className:`p-5 rounded-xl border transition-all cursor-pointer ${r?"border-[var(--foreground)] shadow-sm":n?"border-red-200 bg-red-50/30 hover:border-red-300":"border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--card-hover-border)]"}`,children:[(0,t.jsxs)("div",{className:"flex justify-between items-start gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 mb-1",children:[(0,t.jsx)("h3",{className:"text-base font-semibold truncate",children:e.schedule.name||e.schedule.rootMessageId||e.taskId}),n&&(0,t.jsxs)("span",{className:"shrink-0 text-[11px] font-medium text-red-600 bg-red-50 px-2 py-0.5 rounded-md border border-red-100 flex items-center gap-1",children:[(0,t.jsx)(p.AlertTriangle,{size:10}),e.schedule.consecutiveFailures," fail",(e.schedule.consecutiveFailures??0)>1?"s":""]}),"paused"===e.schedule.state&&(0,t.jsx)("span",{className:"shrink-0 text-[11px] font-medium text-amber-600 bg-amber-50 px-2 py-0.5 rounded-md border border-amber-100",children:"paused"})]}),e.schedule.description&&(0,t.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed truncate",children:e.schedule.description})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 shrink-0",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("button",{onClick:t=>A(e.taskId,t),disabled:a,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg border text-xs font-medium transition-colors ${a?"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--muted)] cursor-wait":"border-[var(--card-border)] text-[var(--muted-foreground)] bg-[var(--card-bg)] hover:bg-[var(--muted)] hover:border-[var(--card-hover-border)]"}`,children:[(0,t.jsx)(s.Play,{size:12,className:a?"animate-pulse":"fill-current"}),a?"Running":"Run"]}),(0,t.jsx)(b,{on:"active"===e.schedule.state,onToggle:()=>I(e)})]})]}),(0,t.jsxs)("div",{className:"mt-4 pt-3 border-t border-[var(--card-border)]/50 flex items-center gap-5 text-[11px] text-[var(--muted-foreground)]",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(d.Clock,{size:12})," ",v(e.schedule)]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c,{size:12})," ",g(e.schedule)]}),(0,t.jsxs)("span",{className:"ml-auto font-mono text-[var(--muted-foreground)]",children:[e.schedule.runCount.toLocaleString()," runs"]})]})]},e.taskId)}),0===R.length&&(0,t.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:0===e.length?"No automations yet. Create one via the API or chat.":"No matching rules found."})]})]}):(0,t.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm border border-dashed border-[var(--card-border)] rounded-xl",children:"Timeline view coming soon. Scheduled ticks will appear here chronologically."})}),(0,t.jsx)("div",{className:"lg:sticky lg:top-0",children:_?(0,t.jsx)(j,{item:_,onRun:e=>A(_.taskId,e),onToggle:()=>I(_),onDelete:()=>L(_.taskId),onClose:()=>C(null),isRunning:M[_.taskId]??!1}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,t.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-4",children:"System Health"}),(0,t.jsxs)("div",{className:"flex justify-between items-end mb-2",children:[(0,t.jsxs)("span",{className:"text-4xl font-bold leading-none",children:[e.length>0?Math.round((e.length-U)/e.length*100):100,(0,t.jsx)("span",{className:"text-xl text-[var(--muted-foreground)]",children:"%"})]}),(0,t.jsx)("span",{className:`text-xs font-semibold px-2 py-1 rounded-md mb-1 ${0===U?"text-green-600 bg-green-50":"text-red-600 bg-red-50"}`,children:0===U?"Healthy":`${U} failing`})]}),(0,t.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden mb-6",children:(0,t.jsx)("div",{className:"h-full bg-[var(--foreground)] rounded-full transition-all",style:{width:`${e.length>0?Math.round((e.length-U)/e.length*100):100}%`}})}),(0,t.jsx)("div",{className:"space-y-3",children:[{l:"Active schedules",v:String($)},{l:"Currently failing",v:String(U)},{l:"Total lifetime runs",v:z.toLocaleString()}].map((e,r)=>(0,t.jsxs)("div",{className:"flex justify-between items-center text-[13px]",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:e.l}),(0,t.jsx)("span",{className:"font-mono font-medium",children:e.v})]},r))})]}),(0,t.jsxs)("div",{className:"bg-[var(--muted)]/50 border border-[var(--card-border)] rounded-2xl p-5",children:[(0,t.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] leading-relaxed mb-4",children:"Select a rule from the list to inspect its schedule, stats, and policies."}),"timeline"!==y&&(0,t.jsxs)("button",{onClick:()=>k("timeline"),className:"text-[12px] font-medium flex items-center gap-1.5 hover:text-[var(--muted-foreground)] transition-colors",children:["View upcoming timeline ",(0,t.jsx)(m,{size:14})]})]})]})})]})})]})}function j({item:e,onRun:r,onToggle:n,onDelete:a,onClose:i,isRunning:u}){let c=e.schedule,f=c.cronExpr?.split(" ");return(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-2xl p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex justify-between items-start mb-6",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"text-lg font-bold leading-tight mb-1 truncate",children:c.name||c.rootMessageId||e.taskId}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-[var(--muted-foreground)] block truncate",children:e.taskId})]}),(0,t.jsxs)("div",{className:"flex gap-1 -mt-1 -mr-1 shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"p-1.5 text-[var(--muted-foreground)] hover:text-red-600 hover:bg-red-50 rounded-md transition-colors",children:(0,t.jsx)(o.Trash2,{size:16})}),(0,t.jsx)("button",{onClick:i,className:"p-1.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-md transition-colors",children:(0,t.jsx)(l.X,{size:16})})]})]}),f&&5===f.length&&(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Schedule"}),(0,t.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3.5",children:[(0,t.jsx)("div",{className:"flex justify-between gap-2 mb-3",children:f.map((e,r)=>(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center",children:[(0,t.jsx)("div",{className:"font-mono text-sm font-semibold text-[var(--primary)] bg-[var(--primary-muted)] w-full py-1 rounded text-center mb-1.5",children:e}),(0,t.jsx)("div",{className:"text-[9px] text-[var(--muted-foreground)] uppercase tracking-wider",children:x[r]})]},r))}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-[var(--muted-foreground)] pt-3 border-t border-[var(--card-border)]/60",children:[(0,t.jsx)(d.Clock,{size:12})," ",v(c)]})]})]}),(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Performance"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2.5",children:[(0,t.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,t.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:c.runCount.toLocaleString()}),(0,t.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"total runs"})]}),(0,t.jsxs)("div",{className:"bg-[var(--muted)] border border-[var(--card-border)] rounded-xl p-3 flex flex-col items-center justify-center",children:[(0,t.jsx)("div",{className:"font-mono text-lg font-semibold mb-0.5",children:g(c)}),(0,t.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:"next run"})]})]})]}),(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:"Configuration"}),(0,t.jsx)("div",{className:"space-y-2.5",children:[{l:"State",v:c.state},{l:"Cadence",v:v(c)},{l:"Max runs",v:c.maxRuns?.toString()??"Unlimited"},{l:"Fail limit",v:c.maxConsecutiveFailures?.toString()??"None"},{l:"Reset nodes",v:String(c.resetNodeIds.length)}].map((e,r)=>(0,t.jsxs)("div",{className:"flex justify-between items-center text-[13px] border-b border-[var(--card-border)]/50 pb-2 last:border-0 last:pb-0",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:e.l}),(0,t.jsx)("span",{className:"font-mono font-medium",children:e.v})]},r))})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-4 border-t border-[var(--card-border)]",children:[(0,t.jsxs)("button",{onClick:r,disabled:u,className:"flex-1 bg-[var(--foreground)] text-[var(--background)] py-2.5 rounded-lg text-sm font-medium flex items-center justify-center gap-2 hover:opacity-90 disabled:opacity-50 transition-opacity",children:[(0,t.jsx)(s.Play,{size:14,className:u?"animate-pulse":"fill-current"}),u?"Running...":"Run now"]}),(0,t.jsx)("div",{className:"px-2",children:(0,t.jsx)(b,{on:"active"===c.state,onToggle:n})})]})]})}function k(){let[e,s]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{s((0,a.loadWorkspaceSidebarVisible)())},[]),(0,t.jsxs)("div",{className:"flex h-screen bg-white text-zinc-900",children:[(0,t.jsx)(n.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:e,onToggle:()=>{s(e=>{let t=!e;return(0,a.persistWorkspaceSidebarVisible)(t),t})}}),(0,t.jsx)("div",{className:"flex-1 min-w-0 overflow-auto mt-4",children:(0,t.jsx)(y,{})})]})}e.s(["default",()=>k],33154)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},11132,e=>{"use strict";var t=e.i(18050),s=e.i(71645);let a={name:"",description:""},r={name:"",path:"",notes:""};function l(){let[e,t]=(0,s.useState)(a),[l,i]=(0,s.useState)([r]),[n,o]=(0,s.useState)(!1),[d,c]=(0,s.useState)(null),p=(0,s.useCallback)((e,t,s)=>{i(a=>a.map((a,r)=>r===e?{...a,[t]:s}:a))},[]),x=(0,s.useCallback)(()=>{i(e=>[...e,{...r}])},[]),m=(0,s.useCallback)(e=>{i(t=>t.filter((t,s)=>s!==e))},[]),u=(0,s.useCallback)(()=>{t(a),i([r]),c(null)},[]),h=(0,s.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?i(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):i([r]),c(null)},[]);return{form:e,setForm:t,repos:l,handleRepoChange:p,addRepo:x,removeRepo:m,resetForm:u,hydrateFromProject:h,isSubmitting:n,setIsSubmitting:o,formError:d,setFormError:c}}function i(e,t){let s=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:s.length?s:void 0}}function n({form:e,repos:a,isEditingProject:r,isSubmitting:l,onFieldChange:i,onRepoChange:n,onAddRepo:o,onRemoveRepo:d}){let[c,p]=(0,s.useState)([]),x=(0,s.useRef)(0);(0,s.useEffect)(()=>{r?p([]):p(a.map((e,t)=>t)),x.current=a.length},[r,a.length]),(0,s.useEffect)(()=>{if(!r){x.current=a.length;return}let e=x.current;p(t=>{let s=t.filter(e=>e<a.length);return a.length>e&&s.push(...Array.from({length:a.length-e},(t,s)=>e+s)),s}),x.current=a.length},[r,a.length]);let m=(0,s.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),u=(0,s.useCallback)(e=>!r||c.includes(e),[c,r]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>i("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:l})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>i("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:l})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("button",{type:"button",onClick:o,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:l,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:a.map((e,s)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",s+1]}),r&&!u(s)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed repository"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[r&&(0,t.jsx)("button",{type:"button",onClick:()=>m(s),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:l,children:u(s)?"Done":"Edit"}),a.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>d(s),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:l,children:"Remove"})]})]}),u(s)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>n(s,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:l}),(0,t.jsx)("input",{value:e.path,onChange:e=>n(s,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm",disabled:l}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>n(s,"notes",e.target.value),placeholder:"Repo-specific rules and notes (placeholder for conventions, constraints, ownership, deploy notes...)",className:"input text-sm w-full min-h-24 resize-y",disabled:l})})]}):null]},s))})]})]})}function o({isOpen:e,onClose:a,onSubmit:r,editingProject:l,form:i,repos:o,isSubmitting:d,formError:c,onFieldChange:p,onRepoChange:x,onAddRepo:m,onRemoveRepo:u}){let[h,b]=(0,s.useState)([]);return((0,s.useEffect)(()=>{let e=!1;return async function(){if(!l)return b([]);try{let t=await fetch(`/api/projects/${l.id}/memory?producer=system`),s=t.ok?await t.json():{memory:[]};e||b(s.memory??[])}catch{e||b([])}}(),()=>{e=!0}},[l]),e)?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:l?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:l?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[l&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"System-Generated Project Knowledge"}),h.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:h.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-white px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No system-generated project knowledge candidates yet."})]})}),(0,t.jsx)(n,{form:i,repos:o,isEditingProject:!!l,isSubmitting:d,onFieldChange:p,onRepoChange:x,onAddRepo:m,onRemoveRepo:u}),c&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:c})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:r,disabled:d,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:d?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):l?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>i,"default",()=>o,"useProjectFormState",()=>l])},68542,31245,27025,54238,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(64659),r=e.i(63059),l=e.i(88081),i=e.i(75254);let n=(0,i.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>n],31245);let o=(0,i.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>o],27025);let d=(0,i.default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]),c=(0,i.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var p=e.i(88699),x=e.i(7233),m=e.i(55436),u=e.i(27612);let h=(0,i.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var b=e.i(37727),g=e.i(22016),j=e.i(25459),f=e.i(11132);function v({threads:e,participants:i=[],activeThreadId:v,isLoading:w,isCreating:k,onSelectThread:y,onCreateThread:N,onRenameThread:C,onDeleteThread:_,deletingThreadId:S=null,renamingThreadId:I=null,activeParticipantIds:z=[],onToggleParticipantActive:M,visible:P=!1,isRestoringActiveThread:A=!1,onToggle:R,onSearch:D,projects:L=[],onCreateProject:F,onUpdateProject:T,onDeleteProject:E,onAddAgentToProject:$,onRemoveAgentFromProject:K,onAddAgentViaForm:V,onReorderProjectAgents:B,onUpdateParticipant:U,onSelectProject:W}){let H,O,q=(0,s.useRef)(null),[G,J]=(0,s.useState)(new Set),[X,Y]=(0,s.useState)(null),[Z,Q]=(0,s.useState)(new Set),[ee,et]=(0,s.useState)(!1),[es,ea]=(0,s.useState)(null),[er,el]=(0,s.useState)(null),ei=(0,f.useProjectFormState)(),[en,eo]=(0,s.useState)(null),ed=(0,s.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[ec,ep]=(0,s.useState)(null),[ex,em]=(0,s.useState)(null),eu=ex?i.find(e=>e.id===ex)??null:null,[eh,eb]=(0,s.useState)(null),[eg,ej]=(0,s.useState)(null),ef=e=>{J(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},ev=async()=>{if(!es&&!er)return;if(!ei.form.name.trim())return void ei.setFormError("Project name is required");let e=ei.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ei.setFormError(`Local path is required for repository "${e.name}"`);ei.setFormError(null),ei.setIsSubmitting(!0);let t=(0,f.createProjectPayload)(ei.form,ei.repos);er?await T?.(er.id,t):await F?.(t,es?.threadId),ei.setIsSubmitting(!1),ea(null),el(null)},ew=async e=>{ei.resetForm();try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to load project");let s=(await t.json()).project;el(s),ei.hydrateFromProject(s)}catch(e){console.error("Failed to load project settings",e)}};(0,s.useEffect)(()=>{let e=!1;async function t(){if(eh?.repoId)try{let t=await fetch(`/api/repos/${eh.repoId}/knowledge?producer=system`),s=t.ok?await t.json():{knowledge:[]};e||eb(e=>e&&e.repoId===eh.repoId?{...e,generatedKnowledge:s.knowledge??[],isLoadingKnowledge:!1}:e)}catch{e||eb(e=>e&&e.repoId===eh.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return eh?.repoId&&t(),()=>{e=!0}},[eh?.repoId]);let ek=X?L.find(e=>e.id===X.projectId):null,ey=new Set(ek?.agents.map(e=>e.agent_id)??[]),eN=X?i.filter(e=>!ey.has(e.id)):[],eC=e.length>0,e_=!!P,eS=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),eI=L.filter(e=>!e.is_default),ez=eS.filter(e=>!eI.some(t=>t.thread_ids?.includes(e.id)));!function({focusTarget:e,shouldFocus:t}){(0,s.useEffect)(()=>{if(!t||"u"<typeof document)return;let s=e.current;if(!s||s instanceof HTMLButtonElement&&s.disabled)return;let a=document.activeElement;if(!(a&&(s===a||s.contains(a))))try{s.focus({preventScroll:!0})}catch{s.focus()}},[e,t])}({focusTarget:q,shouldFocus:e_&&!(w&&!eC||A&&eC)&&!eC&&!k});let eM=()=>{eo({title:"Create thread",placeholder:"Thread title",defaultValue:"",onSubmit:e=>void N({title:e})})};return e_?(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":w?"true":void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsx)("div",{className:"flex items-center justify-center mr-2","aria-hidden":"true",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})}),R&&(0,t.jsx)("button",{type:"button",onClick:R,"aria-label":"Hide threads",title:"Hide threads",className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-slate-400 transition-all hover:bg-slate-100 hover:text-slate-600",children:(0,t.jsx)(c,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[D&&(0,t.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,t.jsxs)("button",{type:"button",onClick:D,className:"flex items-center gap-2 w-full h-8 px-2.5 rounded-lg border border-slate-200 bg-white text-slate-400 text-xs hover:border-slate-300 hover:text-slate-500 transition-all",children:[(0,t.jsx)(m.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Search..."}),(0,t.jsx)("kbd",{className:"ml-auto text-[10px] font-sans font-medium text-slate-300 bg-slate-50 border border-slate-200 rounded px-1 py-0.5",children:"⌘K"})]})}),(0,t.jsx)("nav",{className:"workspace-sidebar__section",style:{gap:0,marginTop:"1.5rem"},children:(0,t.jsxs)(g.default,{href:"/agents",className:"workspace-sidebar__section-link",children:[(0,t.jsx)(n,{size:13,className:"flex-shrink-0"}),"Manage Agents"]})}),(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__section-header",children:[(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,t.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action",onClick:()=>{ei.resetForm(),el(null),ea({})},"aria-label":"Create project",title:"Create project",children:(0,t.jsx)(x.Plus,{size:14})})})]}),eI.map(e=>{let s=G.has(e.id),n=eS.filter(t=>e.thread_ids?.includes(t.id));return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",onClick:()=>{W?.(e.id),ef(e.id)},children:[s?(0,t.jsx)(a.ChevronDown,{size:14,className:"flex-shrink-0 text-slate-400",onClick:t=>{t.stopPropagation(),ef(e.id)}}):(0,t.jsx)(r.ChevronRight,{size:14,className:"flex-shrink-0 text-slate-400",onClick:t=>{t.stopPropagation(),ef(e.id)}}),(0,t.jsx)(o,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:e.name})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void ew(e.id),"aria-label":`Open project settings for ${e.name}`,title:"Project settings",children:(0,t.jsx)(p.Pencil,{size:12})}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var t;let s;return t=e.id,s=L.find(e=>e.id===t),void ep({title:"Delete project",message:`Delete "${s?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void E?.(t)})},"aria-label":`Delete project ${e.name}`,title:`Delete project ${e.name}`,children:(0,t.jsx)(u.Trash2,{size:12})})]})]}),s&&(0,t.jsxs)("div",{className:"pl-4 py-0.5 flex flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:n[0]?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${n[0].id===v?"workspace-sidebar__nav-item--active":""}`,onClick:()=>y(n[0].id),"aria-current":n[0].id===v?"page":void 0,children:[(0,t.jsx)(l.Hash,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Thread"})]}):(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:eM,children:[(0,t.jsx)(l.Hash,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Thread"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(g.default,{href:`/projects/${e.slug}`,className:"workspace-sidebar__nav-item",children:[(0,t.jsx)(h,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Board"})]})}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-slate-400 uppercase tracking-wide",children:"Repos"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[10px] text-slate-300",children:e.repos.length}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action text-slate-300 hover:text-white",onClick:()=>eb({projectId:e.id,projectName:e.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add repo",title:"Add repo",children:(0,t.jsx)(x.Plus,{size:12})})]})]}),e.repos.length>0?e.repos.map(s=>(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item ml-2 min-w-0 flex-1 text-left",onClick:()=>eb({projectId:e.id,projectName:e.name,repoId:s.id,name:s.name,path:s.path||"",gitUrl:s.git_url||"",notes:s.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,t.jsx)(d,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:s.name})]}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-slate-400 hover:text-red-400",onClick:async t=>{t.stopPropagation();let a=e.repos.filter(e=>e.id!==s.id).map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}));await T?.(e.id,{repos:a})},"aria-label":"Delete repo",title:"Delete repo",children:(0,t.jsx)(u.Trash2,{size:12})})]},`${e.id}:${s.name}:${s.path??""}`)):(0,t.jsx)("p",{className:"pl-4 py-1 text-[11px] text-slate-400",children:"No repos"})]}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-slate-400 uppercase tracking-wide",children:"Agents"}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{var t;return t=e.id,void(V?V(t):(Q(new Set),Y({projectId:t})))},"aria-label":"Add agent",title:"Add agent",children:(0,t.jsx)(x.Plus,{size:12})})]}),e.agents.length>0?e.agents.map((s,a)=>{let r=i.find(e=>e.id===s.agent_id),l=eg?.projectId===e.id&&eg?.agentId===s.agent_id,n=eg?.projectId===e.id&&eg?.overIndex===a&&!l;return(0,t.jsx)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.effectAllowed="move",ej({projectId:e.id,agentId:s.agent_id,overIndex:a})},onDragOver:t=>{t.preventDefault(),eg&&eg.projectId===e.id&&ej(e=>e?{...e,overIndex:a}:null)},onDragEnd:()=>{if(eg&&eg.projectId===e.id&&B){let t=e.agents.map(e=>e.agent_id),s=t.indexOf(eg.agentId),a=eg.overIndex;if(-1!==s&&s!==a){let r=[...t],[l]=r.splice(s,1);r.splice(a,0,l),B(e.id,r)}}ej(null)},className:`flex items-center ${n?"border-t-2 border-slate-400":"border-t-2 border-transparent"} ${l?"opacity-40":""}`,children:(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item ml-2 flex-1 min-w-0",onClick:()=>em(s.agent_id),children:[(0,t.jsx)("span",{className:"cursor-grab text-slate-300 hover:text-slate-500 flex-shrink-0 mr-0.5",title:"Drag to reorder",children:"⠿"}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(s.agent_id,16,r?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:r?.name??s.agent_id}),0===a&&(0,t.jsx)("span",{className:"ml-auto text-[9px] text-slate-400 font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},s.agent_id)}):(0,t.jsx)("p",{className:"pl-4 py-1 text-[11px] text-slate-400",children:"No agents"})]})]})]},e.id)}),ez.length>0&&(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-slate-400 uppercase tracking-wide",children:"Unassigned Threads"}),ez.map(e=>{let s=e.id===v,a=e.title?.trim()||"Untitled thread";return(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${s?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>y(e.id),"aria-current":s?"page":void 0,children:[(0,t.jsx)(l.Hash,{size:12,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a})]})},e.id)})]})]})]}),(0,t.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,t.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:[(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),eh&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{eh.isSaving||eb(null)},children:(0,t.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-slate-200 bg-white shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-slate-100 px-5 py-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-400",children:eh.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-slate-900",children:eh.repoId?eh.name||"Repository":"Add Repository"})]}),(0,t.jsx)("button",{type:"button",className:"rounded-md p-1 text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600",onClick:()=>{eh.isSaving||eb(null)},"aria-label":"Close repo details",disabled:eh.isSaving,children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-400",children:"Name"}),(0,t.jsx)("input",{value:eh.name,onChange:e=>eb(t=>t?{...t,name:e.target.value,error:null}:t),className:"w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-700",disabled:eh.isSaving})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-400",children:"Path"}),(0,t.jsx)("input",{value:eh.path,onChange:e=>eb(t=>t?{...t,path:e.target.value,error:null}:t),className:"w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 font-mono text-xs text-slate-700",disabled:eh.isSaving})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-400",children:"Repo Notes"}),(0,t.jsx)("textarea",{value:eh.notes,onChange:e=>eb(t=>t?{...t,notes:e.target.value,error:null}:t),className:"min-h-28 w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-3 text-sm text-slate-700 whitespace-pre-wrap",disabled:eh.isSaving,placeholder:"Repo-specific rules, notes, conventions, deployment constraints..."})]}),eh.repoId?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-400",children:"System-Generated Repo Knowledge"}),eh.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-slate-400",children:"Loading generated knowledge…"}):eh.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:eh.generatedKnowledge.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-700",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-slate-400",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-slate-400",children:"No generated repo knowledge yet."})]}):null,eh.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:eh.error}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-slate-100 pt-4",children:[(0,t.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-slate-600 transition-colors hover:bg-slate-100",onClick:()=>eb(null),disabled:eh.isSaving,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg bg-slate-900 px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-slate-800 disabled:cursor-not-allowed disabled:opacity-60",disabled:eh.isSaving||!T,onClick:async()=>{let e=L.find(e=>e.id===eh.projectId);if(!e)return void eb(e=>e?{...e,error:"Project not found."}:e);let t=eh.name.trim(),s=eh.path.trim();if(!t)return void eb(e=>e?{...e,error:"Repo name is required."}:e);if(!s)return void eb(e=>e?{...e,error:"Repo path is required."}:e);eb(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=eh.repoId?e.repos.map(e=>e.id===eh.repoId?{id:e.id,name:t,path:s,git_url:eh.gitUrl.trim()||void 0,notes:eh.notes.trim()||void 0}:{id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}):[...e.repos.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes})),{name:t,path:s,git_url:eh.gitUrl.trim()||void 0,notes:eh.notes.trim()||void 0}];await T?.(e.id,{repos:a}),eb(null)}catch(e){eb(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save repo details."}:t)}},children:eh.isSaving?"Saving...":eh.repoId?"Save":"Add Repo"})]})]})]})}),X&&!ee&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>Y(null),children:(0,t.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-slate-100",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-slate-900",children:["Add to ",ek?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>Y(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,t.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors border-b border-slate-100",onClick:()=>et(!0),children:[(0,t.jsx)(x.Plus,{size:14,className:"text-slate-400"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eN.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-slate-400 text-center",children:"All agents are already in this project"}):eN.map(e=>{let s=Z.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${s?"bg-slate-100 text-slate-900":"text-slate-700 hover:bg-slate-50"}`,onClick:()=>{Q(t=>{let s=new Set(t);return s.has(e.id)?s.delete(e.id):s.add(e.id),s})},children:[(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${s?"bg-slate-900 border-slate-900":"border-slate-300"}`,children:s&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name}),(0,t.jsx)("div",{className:"truncate text-[11px] text-slate-400",children:e.model})]})]},e.id)})]}),eN.length>0&&(0,t.jsxs)("div",{className:"px-4 py-3 border-t border-slate-100 flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>Y(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===Z.size,className:"px-3 py-1.5 text-xs font-medium text-white bg-slate-900 rounded-lg hover:bg-slate-800 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of Z)$?.(X.projectId,e);Y(null)},children:["Add ",Z.size>0?`(${Z.size})`:""]})]})]})}),ee&&(0,t.jsx)(j.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[]},submitLabel:"Create & Add",projects:L?.filter(e=>!e.is_default).map(t=>{let s=(t.thread_ids??[]).map(t=>e.find(e=>e.id===t)?.title?.trim()).filter(Boolean).join(", ")||"No thread";return{id:t.id,name:t.name,label:`${s} › ${t.name}`}}),initialProjectIds:X?[X.projectId]:[],onSubmit:async(e,t)=>{let s=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=s[i.length%s.length],r=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),l=t?.[0],n=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:r,name:e.name,provider:e.provider,model:e.model,color:e.color??a,...e.identity?{identity:e.identity}:{},skills:e.skills??[],...l?{projectId:l}:{}})});if(n.ok){let e=await n.json().catch(()=>({})),s="string"==typeof e?.id&&e.id.trim()?e.id.trim():r;for(let e of(t??[]).slice(1))$?.(e,s);et(!1),Y(null)}},onCancel:()=>{et(!1)}}),en&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eo(null),children:(0,t.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-slate-100",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-slate-900",children:en.title}),(0,t.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>eo(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),s=t.get("value")?.trim();s&&(en.onSubmit(s),eo(null))},children:[(0,t.jsx)("input",{ref:ed,name:"value",type:"text",defaultValue:en.defaultValue,placeholder:en.placeholder,className:"w-full px-3 py-2 text-sm border border-slate-200 rounded-lg outline-none focus:border-slate-400 focus:ring-1 focus:ring-slate-200 transition-all"}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>eo(null),children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-white bg-slate-900 rounded-lg hover:bg-slate-800 transition-colors",children:en.defaultValue?"Save":"Create"})]})]})]})}),ec&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ep(null),children:(0,t.jsxs)("div",{className:"bg-white rounded-xl shadow-xl border border-slate-200 w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-slate-100",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-slate-900",children:ec.title}),(0,t.jsx)("button",{type:"button",className:"text-slate-400 hover:text-slate-600",onClick:()=>ep(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-sm text-slate-600",children:ec.message}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-slate-500 hover:text-slate-700 transition-colors",onClick:()=>ep(null),children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{ec.onConfirm(),ep(null)},children:"Delete"})]})]})]})}),(es||er)&&(0,t.jsx)(f.default,{isOpen:!0,onClose:()=>{ei.resetForm(),ea(null),el(null)},onSubmit:()=>void ev(),editingProject:er,form:ei.form,repos:ei.repos,isSubmitting:ei.isSubmitting,formError:ei.formError,onFieldChange:(e,t)=>ei.setForm(s=>({...s,[e]:t})),onRepoChange:ei.handleRepoChange,onAddRepo:ei.addRepo,onRemoveRepo:ei.removeRepo}),eu&&(H=L.filter(e=>e.agents.some(e=>e.agent_id===eu.id)),O=L.filter(e=>!e.agents.some(e=>e.agent_id===eu.id)),(0,t.jsx)(j.AgentForm,{title:"Edit agent",initial:{name:eu.name,provider:eu.provider,model:eu.model||"",identity:eu.identity||"",color:eu.color,skills:eu.skills||[]},agentId:eu.id,submitLabel:"Save",projectMemberships:{current:H.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:O.map(e=>({id:e.id,name:e.name}))},onAddToProject:$?e=>$(e,eu.id):void 0,onRemoveFromProject:K?e=>K(e,eu.id):void 0,onSubmit:async e=>{U&&await U({...eu,name:e.name,provider:e.provider,model:e.model,color:e.color??eu.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[]}),em(null)},onCancel:()=>em(null)}))]}):(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:R,className:"workspace-sidebar__brand-icon p-0 bg-transparent hover:bg-transparent border-none outline-none","aria-label":"Show threads",title:"Show threads",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsx)("div",{className:"mt-auto p-2",children:(0,t.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}e.s(["WorkspaceSidebar",()=>v],68542);let w="agx-chat:uiSettings",k={threadSidebarVisible:!1};function y(){return void 0!==window.localStorage}function N(){if(!y())return{...k};let e=window.localStorage.getItem(w);if(!e)return{...k};try{let t=JSON.parse(e);return{...k,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{...k}}}function C(){return N().threadSidebarVisible}function _(e){var t={...N(),threadSidebarVisible:e};if(y())try{window.localStorage.setItem(w,JSON.stringify(t))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>C,"persistWorkspaceSidebarVisible",()=>_],54238)}]);
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,73375,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],73375)},95468,63209,e=>{"use strict";var t=e.i(75254);let s=(0,t.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>s],95468);let a=(0,t.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>a],63209)},73884,e=>{"use strict";let t=(0,e.i(75254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],73884)},75254,e=>{"use strict";var t=e.i(71645);let s=(...e)=>e.filter((e,t,s)=>!!e&&""!==e.trim()&&s.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,s)=>s?s.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:n="",children:c,iconNode:d,...o},x)=>(0,t.createElement)("svg",{ref:x,...l,width:a,height:a,stroke:e,strokeWidth:i?24*Number(r)/Number(a):r,className:s("lucide",n),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(o)&&{"aria-hidden":"true"},...o},[...d.map(([e,s])=>(0,t.createElement)(e,s)),...Array.isArray(c)?c:[c]])),i=(e,l)=>{let i=(0,t.forwardRef)(({className:i,...n},c)=>(0,t.createElement)(r,{ref:c,iconNode:l,className:s(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...n}));return i.displayName=a(e),i};e.s(["default",()=>i],75254)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],3116)},39312,e=>{"use strict";let t=(0,e.i(75254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],39312)},31343,e=>{"use strict";let t=(0,e.i(75254).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],31343)},81418,e=>{"use strict";let t=(0,e.i(75254).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",()=>t],81418)},87177,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(7233),l=e.i(73375),r=e.i(95468),i=e.i(75254);let n=(0,i.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"}]]),c=(0,i.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);var d=e.i(73884);let o=(0,i.default)("construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]),x=(0,i.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),h=(0,i.default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var p=e.i(31343);let m=(0,i.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var u=e.i(63209);let b=(0,i.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),g=(0,i.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var f=e.i(3116);let j=(0,i.default)("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),y=(0,i.default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var k=e.i(81418),v=e.i(39312);let N=(0,i.default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]),w=(0,i.default)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]),z=[{id:"task-1",title:"Auth system",status:"PROGRESS",version:"v2",progress:60,nodesCount:7,mode:"PROJECT",currentGate:"quality-gate",policy:{replanBudgetInitial:3,replanBudgetRemaining:1,verifyBudgetInitial:5,verifyBudgetRemaining:4},history:[{id:1,event:"replan",from:"v1",to:"v2",reason:"Split implementation for parallelism",time:"2h ago"},{id:2,event:"node_status",node:"design",to:"done",time:"3h ago"}]},{id:"task-2",title:"Add dark mode",status:"INTAKE",version:"v1",progress:0,nodesCount:0,mode:"SIMPLE",blockingReason:"Analyzing requirements..."},{id:"task-3",title:"Fix login bug",status:"DONE",version:"v1",progress:100,nodesCount:3,mode:"SIMPLE"}],C=[{id:"n1",type:"work",title:"Design Auth",status:"done",x:300,y:40,metrics:{latency:"45m",tokens:"12k"}},{id:"f1",type:"fork",title:"Fork",status:"done",x:300,y:120},{id:"n2",type:"work",title:"Impl Auth",status:"done",x:180,y:220,metrics:{latency:"1h 20m",tokens:"45k"}},{id:"n3",type:"work",title:"Write Tests",status:"running",x:420,y:220,attempts:2,maxAttempts:3},{id:"j1",type:"join",title:"Join",status:"pending",x:300,y:320},{id:"g1",type:"gate",title:"Quality Gate",status:"pending",x:300,y:420,required:!0,strategy:"auto"},{id:"g2",type:"gate",title:"Handoff Gate",status:"pending",x:300,y:540,required:!0,strategy:"human",isLocked:!0}],M=[{from:"n1",to:"f1"},{from:"f1",to:"n2"},{from:"f1",to:"n3"},{from:"n2",to:"j1"},{from:"n3",to:"j1"},{from:"j1",to:"g1"},{from:"g1",to:"g2"}],A=({status:e,className:s,size:a=16})=>{switch(e){case"done":case"passed":return(0,t.jsx)(r.CheckCircle2,{size:a,className:`${s} text-green-500`});case"running":return(0,t.jsx)(n,{size:a,className:`${s} text-blue-500 animate-spin`});case"failed":return(0,t.jsx)(d.XCircle,{size:a,className:`${s} text-red-500`});case"pending":return(0,t.jsx)(c,{size:a,className:`${s} text-slate-400`});case"blocked":return(0,t.jsx)(o,{size:a,className:`${s} text-orange-500`});default:return null}},E=({label:e,current:s,total:a,colorClass:l})=>{let r=s/a*100;return(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsxs)("div",{className:"flex justify-between text-[10px] font-bold text-slate-400 uppercase tracking-wider mb-1",children:[(0,t.jsx)("span",{children:e}),(0,t.jsxs)("span",{children:[s,"/",a]})]}),(0,t.jsx)("div",{className:"w-full h-2 bg-slate-100 rounded-full overflow-hidden border border-slate-200/50",children:(0,t.jsx)("div",{className:`h-full transition-all duration-700 ease-out ${l}`,style:{width:`${r}%`}})})]})},S=({task:e,onClick:s})=>(0,t.jsxs)("div",{onClick:()=>s(e),className:"bg-white border border-slate-200 rounded-xl p-4 shadow-sm hover:shadow-lg hover:border-blue-200 transition-all cursor-pointer group",children:[(0,t.jsxs)("div",{className:"flex justify-between items-start mb-2",children:[(0,t.jsx)("h4",{className:"font-bold text-slate-800 group-hover:text-blue-600 transition-colors",children:e.title}),(0,t.jsx)("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-black uppercase tracking-widest ${"SIMPLE"===e.mode?"bg-slate-100 text-slate-500":"bg-blue-100 text-blue-600"}`,children:e.mode})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] font-bold text-slate-400 mb-4",children:[(0,t.jsx)(y,{size:12}),(0,t.jsxs)("span",{children:[e.nodesCount," nodes"]}),(0,t.jsx)("span",{className:"text-slate-200",children:"•"}),(0,t.jsx)("span",{children:e.version})]}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("div",{className:"flex justify-between items-center mb-1.5",children:(0,t.jsxs)("span",{className:"text-[10px] font-black text-slate-500",children:[e.progress,"%"]})}),(0,t.jsx)("div",{className:"w-full h-1.5 bg-slate-100 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:`h-full transition-all duration-1000 ${"DONE"===e.status?"bg-green-500":"bg-blue-500"}`,style:{width:`${e.progress}%`}})})]}),e.currentGate&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] font-bold text-orange-600 bg-orange-50 px-2 py-1.5 rounded-lg border border-orange-100",children:[(0,t.jsx)(o,{size:14}),(0,t.jsx)("span",{className:"truncate uppercase tracking-wider",children:e.currentGate}),e.isLocked&&(0,t.jsx)(x,{size:10,className:"ml-auto opacity-50"})]}),"INTAKE"===e.status&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] font-bold text-slate-400 px-2 py-1.5 bg-slate-50 rounded-lg border border-slate-100 italic animate-pulse",children:[(0,t.jsx)(g,{size:12}),(0,t.jsx)("span",{children:e.blockingReason})]})]}),R=({node:e,isSelected:s,onClick:a})=>{let l="gate"===e.type,r=["fork","join","conditional"].includes(e.type);return(0,t.jsx)("div",{onClick:t=>{t.stopPropagation(),a(e)},className:`absolute flex flex-col items-center justify-center p-3 border-2 transition-all cursor-pointer z-20 hover:scale-105 active:scale-95 ${s?"ring-4 ring-blue-400/30 scale-105 border-blue-600":({done:"border-green-500 bg-green-50 text-green-700",passed:"border-green-500 bg-green-50 text-green-700",running:"border-blue-500 bg-blue-50 shadow-blue-100 shadow-xl ring-4 ring-blue-50",pending:"border-slate-200 bg-white text-slate-400",failed:"border-red-500 bg-red-50 text-red-700",blocked:"border-orange-500 bg-orange-50 text-orange-700"})[e.status]}`,style:{left:e.x,top:e.y,clipPath:l?"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)":r?"circle(50% at 50% 50%)":"none",transform:"translate(-50%, -50%)",width:r?"5rem":l?"8rem":"9rem",height:r?"5rem":l?"8rem":"5rem",borderRadius:r||l?"0":"1rem"},children:(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-center",children:[!r&&(0,t.jsx)("span",{className:"text-[9px] font-black uppercase tracking-tighter opacity-50 mb-0.5",children:e.type}),(0,t.jsx)("span",{className:`font-bold leading-tight ${r?"text-[10px]":"text-xs"}`,children:e.title}),(0,t.jsx)(A,{status:e.status,className:"mt-1.5",size:r?14:18}),e.required&&(0,t.jsx)(x,{size:10,className:"absolute top-2 right-2 opacity-30"})]})})};function $(){let e,[i,d]=(0,s.useState)("board"),[y,$]=(0,s.useState)(null),[P,L]=(0,s.useState)(null),[T,q]=(0,s.useState)(z),[B,I]=(0,s.useState)(2),G=e=>{$(e),I(parseInt(e.version.replace("v",""))),d("detail"),L(null)};return(0,t.jsxs)("div",{className:"antialiased min-h-screen",children:[(0,t.jsx)("style",{children:`
2
- @keyframes dash {
3
- to { stroke-dashoffset: -10; }
4
- }
5
- `}),"board"===i?(0,t.jsxs)("div",{className:"flex flex-col h-screen bg-slate-50 font-sans text-slate-900 overflow-hidden",children:[(0,t.jsxs)("header",{className:"flex items-center justify-between px-8 py-5 bg-white border-b border-slate-200",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("div",{className:"w-12 h-12 bg-blue-600 rounded-xl flex items-center justify-center text-white font-black text-2xl shadow-xl shadow-blue-200 transform -rotate-3 hover:rotate-0 transition-transform cursor-pointer",children:"ag"}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h1",{className:"text-2xl font-black tracking-tight flex items-center gap-2",children:["agx ",(0,t.jsx)("span",{className:"text-blue-600",children:"v2"})]}),(0,t.jsx)("p",{className:"text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]",children:"Execution Graph Engine"})]})]}),(0,t.jsxs)("div",{className:"flex gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 bg-slate-100 rounded-lg text-slate-500 font-bold text-xs border border-slate-200",children:[(0,t.jsx)(f.Clock,{size:14})," System Time: 21:50"]}),(0,t.jsxs)("button",{className:"flex items-center gap-2 px-5 py-2.5 bg-blue-600 hover:bg-blue-700 text-white rounded-xl font-bold transition-all shadow-lg shadow-blue-200 active:scale-95",children:[(0,t.jsx)(a.Plus,{size:18,strokeWidth:3}),"New Execution"]})]})]}),(0,t.jsx)("main",{className:"flex-1 overflow-x-auto p-8 bg-[var(--background)]",children:(0,t.jsx)("div",{className:"flex gap-8 min-w-max h-full",children:[{id:"INTAKE",icon:(0,t.jsx)(g,{size:14}),label:"Intake",color:"slate"},{id:"PROGRESS",icon:(0,t.jsx)(v.Zap,{size:14}),label:"Progress",color:"blue"},{id:"DONE",icon:(0,t.jsx)(k.ShieldCheck,{size:14}),label:"Done",color:"green"}].map(e=>(0,t.jsxs)("div",{className:"w-85 flex flex-col gap-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,t.jsxs)("div",{className:`flex items-center gap-2 font-black text-sm uppercase tracking-widest text-${e.color}-500`,children:[e.icon," ",e.label]}),(0,t.jsx)("span",{className:"text-[10px] font-black bg-white border border-slate-200 text-slate-400 px-3 py-1 rounded-full shadow-sm",children:T.filter(t=>t.status===e.id).length})]}),(0,t.jsx)("div",{className:"flex flex-col gap-4 overflow-y-auto pb-8",children:T.filter(t=>t.status===e.id).map(e=>(0,t.jsx)(S,{task:e,onClick:G},e.id))})]},e.id))})})]}):(e="PROJECT"===y.mode,(0,t.jsxs)("div",{className:"flex flex-col h-screen bg-white font-sans text-slate-900 overflow-hidden",children:[(0,t.jsxs)("header",{className:"flex items-center px-6 py-4 border-b border-slate-200 bg-white z-50 shadow-sm",children:[(0,t.jsx)("button",{onClick:()=>{d("board"),$(null),L(null)},className:"p-2.5 hover:bg-slate-100 rounded-xl transition-colors mr-4 text-slate-400 hover:text-slate-900",children:(0,t.jsx)(l.ChevronLeft,{size:24,strokeWidth:2.5})}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("h2",{className:"text-xl font-black tracking-tight",children:y.title}),(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsxs)("span",{className:"px-2 py-0.5 bg-blue-600 text-white text-[9px] font-black rounded uppercase tracking-widest",children:["v",B]}),(0,t.jsxs)("span",{className:"px-2 py-0.5 bg-slate-100 text-slate-500 border border-slate-200 text-[9px] font-black rounded uppercase tracking-widest",children:[y.progress,"% Complete"]})]})]}),(0,t.jsxs)("div",{className:"flex gap-4 mt-0.5",children:[(0,t.jsxs)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-tight",children:["ID: ",y.id]}),(0,t.jsx)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-tight",children:"• Phase: Implementation"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("button",{className:"flex items-center gap-2 px-4 py-2 text-slate-500 hover:text-slate-900 font-bold text-xs bg-slate-50 border border-slate-200 rounded-lg transition-all active:scale-95",children:[(0,t.jsx)(m,{size:16})," Configure"]}),(0,t.jsxs)("button",{onClick:()=>{let e=B+1;I(e);let t={...y,version:`v${e}`,policy:{...y.policy,replanBudgetRemaining:Math.max(0,y.policy.replanBudgetRemaining-1)},history:[{id:Date.now(),event:"replan",from:`v${B}`,to:`v${e}`,reason:"Manual scope adjustment",time:"Just now"},...y.history]};$(t),q(e=>e.map(e=>e.id===y.id?t:e))},className:"flex items-center gap-2 px-4 py-2 bg-slate-900 hover:bg-black text-white rounded-lg font-bold text-xs transition-all shadow-md active:scale-95",children:[(0,t.jsx)(N,{size:16})," Trigger Replan"]}),(0,t.jsxs)("button",{className:"flex items-center gap-2 px-5 py-2.5 bg-blue-600 hover:bg-blue-700 text-white rounded-lg font-black text-xs shadow-lg shadow-blue-200 transition-all active:scale-95",children:[(0,t.jsx)(p.Play,{size:16,fill:"white"})," RESUME EXECUTION"]})]})]}),(0,t.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex-1 flex flex-col relative overflow-hidden bg-slate-50",onClick:()=>L(null),children:[(0,t.jsx)("div",{className:"absolute top-6 left-6 z-10",children:(0,t.jsxs)("div",{className:"bg-white/90 backdrop-blur-md border border-slate-200 p-3 rounded-xl shadow-xl",children:[(0,t.jsx)("h3",{className:"text-[9px] font-black text-slate-400 uppercase mb-3 px-1 tracking-[0.2em]",children:"Visual Language"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-[10px] font-bold text-slate-600",children:[(0,t.jsx)("div",{className:"w-5 h-3 rounded bg-slate-100 border border-slate-300"})," Work Node"]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 text-[10px] font-bold text-slate-600",children:[(0,t.jsx)("div",{className:"w-4 h-4 rotate-45 bg-slate-100 border border-slate-300"})," Gate Node"]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 text-[10px] font-bold text-slate-600",children:[(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-slate-100 border border-slate-300"})," Control Node"]})]})]})}),(0,t.jsxs)("div",{className:"absolute bottom-6 left-6 z-10 flex gap-2",children:[(0,t.jsx)("button",{className:"p-2 bg-white border border-slate-200 rounded-lg shadow hover:bg-slate-50 text-slate-400",children:(0,t.jsx)(a.Plus,{size:16})}),(0,t.jsx)("button",{className:"p-2 bg-white border border-slate-200 rounded-lg shadow hover:bg-slate-50 text-slate-400",children:(0,t.jsx)(w,{size:16,className:"rotate-90"})}),(0,t.jsx)("button",{className:"px-3 py-2 bg-white border border-slate-200 rounded-lg shadow hover:bg-slate-50 text-[10px] font-black text-slate-500 uppercase tracking-widest",children:"Fit to Screen"})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto relative p-20 flex items-center justify-center cursor-grab active:cursor-grabbing",children:e?(0,t.jsxs)("div",{className:"relative w-[600px] h-[600px] select-none",children:[(0,t.jsxs)("svg",{className:"absolute inset-0 w-full h-full pointer-events-none",style:{overflow:"visible"},children:[(0,t.jsx)("defs",{children:(0,t.jsx)("marker",{id:"arrowhead",markerWidth:"10",markerHeight:"7",refX:"9",refY:"3.5",orientation:"auto",children:(0,t.jsx)("polygon",{points:"0 0, 10 3.5, 0 7",fill:"#94a3b8"})})}),M.map((e,s)=>{let a=C.find(t=>t.id===e.from),l=C.find(t=>t.id===e.to);return a&&l?(0,t.jsx)("line",{x1:a.x,y1:a.y,x2:l.x,y2:l.y,stroke:"#cbd5e1",strokeWidth:"2.5",markerEnd:"url(#arrowhead)",strokeDasharray:"work"===a.type&&"running"===a.status?"5,5":"none",className:"running"===a.status?"animate-[dash_1s_linear_infinite]":""},s):null})]}),C.map(e=>(0,t.jsx)(R,{node:e,isSelected:P?.id===e.id,onClick:L},e.id))]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-slate-400 bg-white p-16 rounded-[2.5rem] border-2 border-dashed border-slate-200 max-w-md text-center shadow-inner",children:[(0,t.jsx)("div",{className:"w-20 h-20 bg-slate-50 rounded-3xl flex items-center justify-center mb-6 border border-slate-100 shadow-sm",children:(0,t.jsx)(g,{size:40,className:"opacity-30"})}),(0,t.jsx)("h3",{className:"font-black text-xl text-slate-700 mb-3 tracking-tight",children:"Linear Task Logic"}),(0,t.jsx)("p",{className:"text-sm text-slate-400 font-medium leading-relaxed",children:"This task has been classified as SIMPLE. Execution runs through a predefined serial sequence without branching overhead."})]})}),(0,t.jsxs)("div",{className:"h-28 bg-white border-t border-slate-200 px-8 py-4 flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[10px] font-black text-slate-400 uppercase tracking-[0.2em]",children:"Execution History Timeline"}),(0,t.jsx)("div",{className:"flex gap-4",children:(0,t.jsxs)("button",{className:"text-[10px] font-black text-blue-600 hover:text-blue-700 uppercase tracking-widest flex items-center gap-1.5",children:[(0,t.jsx)(h,{size:12})," View Full Logs"]})})]}),(0,t.jsxs)("div",{className:"flex items-center relative gap-24 h-full",children:[(0,t.jsx)("div",{className:"absolute top-1/2 left-0 w-full h-0.5 bg-slate-100 -translate-y-1/2"}),y.history.slice().reverse().map((e,s)=>(0,t.jsxs)("div",{className:"relative z-10 flex flex-col items-center group cursor-pointer",children:[(0,t.jsx)("div",{className:`w-3.5 h-3.5 rounded-full border-2 border-white ring-4 ring-offset-2 transition-all group-hover:scale-125 ${s===y.history.length-1?"bg-blue-600 ring-blue-100 scale-110":"bg-slate-300 ring-transparent opacity-60"}`}),(0,t.jsx)("span",{className:`text-[10px] font-black mt-2 uppercase tracking-tighter ${s===y.history.length-1?"text-blue-600":"text-slate-400"}`,children:e.from?`${e.from} → ${e.to}`:e.event}),(0,t.jsx)("span",{className:"text-[8px] font-bold text-slate-300 whitespace-nowrap",children:e.time})]},e.id)),(0,t.jsx)("div",{className:"ml-auto relative z-10 flex flex-col items-end",children:(0,t.jsxs)("div",{className:"px-4 py-1.5 bg-slate-50 border border-slate-200 rounded-lg text-[9px] font-black text-slate-400 italic tracking-widest uppercase shadow-sm",children:["Next Checkpoint: v",B+1]})})]})]})]}),(0,t.jsxs)("aside",{className:"w-90 border-l border-slate-200 p-8 flex flex-col gap-8 overflow-y-auto bg-white",children:[P?(0,t.jsxs)("div",{className:"animate-in fade-in slide-in-from-right-4 duration-300",children:[(0,t.jsxs)("button",{onClick:()=>L(null),className:"mb-6 flex items-center gap-1.5 text-[10px] font-black text-blue-600 uppercase tracking-widest hover:gap-2 transition-all",children:[(0,t.jsx)(l.ChevronLeft,{size:14,strokeWidth:3})," Back to Overview"]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-8",children:[(0,t.jsx)("div",{className:`w-14 h-14 rounded-2xl flex items-center justify-center border-2 ${"done"===P.status?"bg-green-50 border-green-200 text-green-600":"bg-blue-50 border-blue-200 text-blue-600"}`,children:"work"===P.type?(0,t.jsx)(v.Zap,{size:24}):"gate"===P.type?(0,t.jsx)(k.ShieldCheck,{size:24}):(0,t.jsx)(N,{size:24})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-[10px] font-black text-slate-400 uppercase tracking-widest",children:[P.type," Node"]}),(0,t.jsx)("h3",{className:"text-xl font-black tracking-tight",children:P.title})]})]}),(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-[10px] font-black text-slate-400 uppercase tracking-widest mb-4",children:"Current Status"}),(0,t.jsxs)("div",{className:"flex items-center gap-3 px-4 py-3 bg-slate-50 rounded-xl border border-slate-200",children:[(0,t.jsx)(A,{status:P.status,size:20}),(0,t.jsx)("span",{className:"text-xs font-black uppercase tracking-widest text-slate-700",children:P.status})]})]}),"work"===P.type&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-[10px] font-black text-slate-400 uppercase tracking-widest mb-4",children:"Performance Metrics"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"p-4 bg-white border border-slate-200 rounded-xl",children:[(0,t.jsx)("p",{className:"text-[9px] font-bold text-slate-400 uppercase mb-1",children:"Latency"}),(0,t.jsx)("p",{className:"text-sm font-black text-slate-800",children:P.metrics?.latency||"32m 14s"})]}),(0,t.jsxs)("div",{className:"p-4 bg-white border border-slate-200 rounded-xl",children:[(0,t.jsx)("p",{className:"text-[9px] font-bold text-slate-400 uppercase mb-1",children:"Compute"}),(0,t.jsx)("p",{className:"text-sm font-black text-slate-800",children:P.metrics?.tokens||"14.2k tokens"})]})]})]}),"gate"===P.type&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-[10px] font-black text-slate-400 uppercase tracking-widest mb-4",children:"Gate Requirements"}),(0,t.jsx)("div",{className:"space-y-3",children:[{label:"Unit Tests",status:"pass"},{label:"Linting",status:"pass"},{label:"Type Safety",status:"pass"},{label:"Coverage (>80%)",status:"fail"}].map((e,s)=>(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-white border border-slate-200 rounded-xl",children:[(0,t.jsx)("span",{className:"text-[11px] font-bold text-slate-600",children:e.label}),"pass"===e.status?(0,t.jsx)(r.CheckCircle2,{size:16,className:"text-green-500"}):(0,t.jsx)(u.AlertCircle,{size:16,className:"text-red-500"})]},s))}),"pending"===P.status&&(0,t.jsxs)("div",{className:"mt-8 grid grid-cols-2 gap-3",children:[(0,t.jsx)("button",{className:"py-3 bg-red-50 text-red-600 border border-red-100 rounded-xl font-black text-[10px] uppercase tracking-widest hover:bg-red-100 transition-all",children:"Reject"}),(0,t.jsx)("button",{className:"py-3 bg-green-600 text-white rounded-xl font-black text-[10px] uppercase tracking-widest shadow-lg shadow-green-100 hover:bg-green-700 transition-all",children:"Approve Gate"})]})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-[10px] font-black text-slate-400 uppercase tracking-widest mb-4",children:"Node Dependencies"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[M.filter(e=>e.to===P.id).map((e,s)=>(0,t.jsxs)("div",{className:"px-3 py-1.5 bg-slate-100 text-slate-500 text-[10px] font-bold rounded-lg border border-slate-200",children:["Source: ",e.from]},s)),0===M.filter(e=>e.to===P.id).length&&(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-300 italic uppercase",children:"Graph Start Node"})]})]})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("section",{children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-[10px] font-black text-slate-400 uppercase tracking-widest mb-6",children:[(0,t.jsx)(u.AlertCircle,{size:14})," Execution Overview"]}),(0,t.jsxs)("div",{className:"bg-slate-900 p-5 rounded-2xl text-white shadow-xl shadow-slate-200",children:[(0,t.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[9px] font-black text-blue-400 uppercase tracking-widest mb-1",children:"Active Worker"}),(0,t.jsxs)("h4",{className:"text-lg font-black tracking-tight flex items-center gap-2",children:["write-tests ",(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-blue-500 animate-pulse"})]})]}),(0,t.jsx)(n,{size:20,className:"text-slate-600 animate-[spin_3s_linear_infinite]"})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex justify-between text-[10px] font-bold text-slate-400 uppercase",children:[(0,t.jsx)("span",{children:"Current Attempt"}),(0,t.jsx)("span",{className:"text-white",children:"2 / 3"})]}),(0,t.jsxs)("div",{className:"flex justify-between text-[10px] font-bold text-slate-400 uppercase",children:[(0,t.jsx)("span",{children:"Time Elapsed"}),(0,t.jsx)("span",{className:"text-white font-mono",children:"15m 22s"})]})]})]})]}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-[10px] font-black text-slate-400 uppercase tracking-widest mb-6",children:[(0,t.jsx)(b,{size:14})," Resource Budgets"]}),y.policy?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(E,{label:"Replans Remaining",current:y.policy.replanBudgetRemaining,total:y.policy.replanBudgetInitial,colorClass:"bg-blue-600"}),(0,t.jsx)(E,{label:"Verify Budget",current:y.policy.verifyBudgetRemaining,total:y.policy.verifyBudgetInitial,colorClass:"bg-indigo-600"})]}):(0,t.jsx)("div",{className:"p-4 bg-slate-50 rounded-xl border border-slate-100 text-[10px] font-bold text-slate-400 uppercase text-center tracking-widest",children:"Standard Policy Applied"})]}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-[10px] font-black text-slate-400 uppercase tracking-widest mb-6",children:[(0,t.jsx)(o,{size:14})," Gate Verification"]}),(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("div",{className:"mt-1 flex items-center justify-center w-6 h-6 rounded-full bg-orange-100 text-orange-600 border border-orange-200",children:(0,t.jsx)(c,{size:12,strokeWidth:3})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h5",{className:"text-xs font-black text-slate-700 uppercase tracking-tight",children:"quality-gate"}),(0,t.jsx)("p",{className:"text-[10px] text-slate-400 font-medium leading-relaxed mt-1",children:"Pending: Coverage metrics must meet 80% threshold before proceeding."})]})]}),(0,t.jsxs)("div",{className:"flex items-start gap-4 opacity-40",children:[(0,t.jsx)("div",{className:"mt-1 flex items-center justify-center w-6 h-6 rounded-full bg-slate-100 text-slate-400 border border-slate-200",children:(0,t.jsx)(x,{size:12,strokeWidth:3})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h5",{className:"text-xs font-black text-slate-700 uppercase tracking-tight",children:"handoff-gate"}),(0,t.jsx)("p",{className:"text-[10px] text-slate-400 font-medium leading-relaxed mt-1",children:"Blocked: Human architecture review required after quality gate pass."})]})]})]})]})]}),(0,t.jsxs)("section",{className:"mt-auto pt-8 border-t border-slate-100",children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-[10px] font-black text-slate-400 uppercase tracking-widest mb-4",children:[(0,t.jsx)(j,{size:14})," Global Policy"]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex justify-between text-[10px] font-bold",children:[(0,t.jsx)("span",{className:"text-slate-400 uppercase",children:"Concurrency Limit"}),(0,t.jsx)("span",{className:"text-slate-700",children:"3 WorkNodes"})]}),(0,t.jsxs)("div",{className:"flex justify-between text-[10px] font-bold",children:[(0,t.jsx)("span",{className:"text-slate-400 uppercase",children:"Mode"}),(0,t.jsx)("span",{className:"text-blue-600 uppercase",children:"Project / DAG"})]})]})]})]})]})]}))]})}e.s(["default",()=>$],87177)}]);