@made-by-moonlight/athene-web 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +241 -219
  3. package/.next/app-path-routes-manifest.json +10 -7
  4. package/.next/build-manifest.json +6 -6
  5. package/.next/prerender-manifest.json +23 -23
  6. package/.next/react-loadable-manifest.json +5 -5
  7. package/.next/required-server-files.json +4 -4
  8. package/.next/routes-manifest.json +16 -0
  9. package/.next/server/app/_not-found/page.js +2 -2
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +9 -9
  14. package/.next/server/app/api/backlog/route.js +1 -1
  15. package/.next/server/app/api/backlog/route.js.nft.json +1 -1
  16. package/.next/server/app/api/backlog/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/browse-directory/route.js +1 -1
  18. package/.next/server/app/api/browse-directory/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/filesystem/browse/route.js +1 -1
  20. package/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -1
  21. package/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/issues/route.js +1 -1
  23. package/.next/server/app/api/issues/route.js.nft.json +1 -1
  24. package/.next/server/app/api/issues/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/meta/[name]/start/route.js +1 -0
  26. package/.next/server/app/api/meta/[name]/start/route.js.nft.json +1 -0
  27. package/.next/server/app/api/meta/[name]/start/route_client-reference-manifest.js +1 -0
  28. package/.next/server/app/api/meta/route.js +1 -0
  29. package/.next/server/app/api/meta/route.js.nft.json +1 -0
  30. package/.next/server/app/api/meta/route_client-reference-manifest.js +1 -0
  31. package/.next/server/app/api/observability/route.js +1 -1
  32. package/.next/server/app/api/observability/route.js.nft.json +1 -1
  33. package/.next/server/app/api/observability/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/orchestrators/route.js +1 -1
  35. package/.next/server/app/api/orchestrators/route.js.nft.json +1 -1
  36. package/.next/server/app/api/orchestrators/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/projects/[id]/route.js +2 -2
  38. package/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/projects/reload/route.js +1 -1
  41. package/.next/server/app/api/projects/reload/route.js.nft.json +1 -1
  42. package/.next/server/app/api/projects/reload/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/projects/route.js +1 -1
  44. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  45. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/prs/[id]/merge/route.js +1 -1
  47. package/.next/server/app/api/prs/[id]/merge/route.js.nft.json +1 -1
  48. package/.next/server/app/api/prs/[id]/merge/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/reviews/execute/route.js +1 -1
  50. package/.next/server/app/api/reviews/execute/route.js.nft.json +1 -1
  51. package/.next/server/app/api/reviews/execute/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/reviews/findings/route.js +1 -1
  53. package/.next/server/app/api/reviews/findings/route.js.nft.json +1 -1
  54. package/.next/server/app/api/reviews/findings/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/reviews/route.js +1 -1
  56. package/.next/server/app/api/reviews/route.js.nft.json +1 -1
  57. package/.next/server/app/api/reviews/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/reviews/send/route.js +1 -1
  59. package/.next/server/app/api/reviews/send/route.js.nft.json +1 -1
  60. package/.next/server/app/api/reviews/send/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/runtime/terminal/route.js +1 -1
  62. package/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
  64. package/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  65. package/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/message/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/message/route.js.nft.json +1 -1
  68. package/.next/server/app/api/sessions/[id]/message/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/remap/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/remap/route.js.nft.json +1 -1
  71. package/.next/server/app/api/sessions/[id]/remap/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
  73. package/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  74. package/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  76. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/send/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  80. package/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/sessions/patches/route.js +1 -1
  82. package/.next/server/app/api/sessions/patches/route.js.nft.json +1 -1
  83. package/.next/server/app/api/sessions/patches/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/sessions/route.js +1 -1
  85. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  86. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/setup-labels/route.js +1 -1
  88. package/.next/server/app/api/setup-labels/route.js.nft.json +1 -1
  89. package/.next/server/app/api/setup-labels/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/spawn/route.js +1 -1
  91. package/.next/server/app/api/spawn/route.js.nft.json +1 -1
  92. package/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/update/route.js +1 -1
  94. package/.next/server/app/api/update/route.js.nft.json +1 -1
  95. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/verify/route.js +1 -1
  97. package/.next/server/app/api/verify/route.js.nft.json +1 -1
  98. package/.next/server/app/api/verify/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/version/route.js +1 -1
  100. package/.next/server/app/api/version/route.js.nft.json +1 -1
  101. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/webhooks/[...slug]/route.js +1 -1
  103. package/.next/server/app/api/webhooks/[...slug]/route.js.nft.json +1 -1
  104. package/.next/server/app/api/webhooks/[...slug]/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/apple-icon/route.js +1 -1
  106. package/.next/server/app/apple-icon/route.js.nft.json +1 -1
  107. package/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/apple-icon.body +0 -0
  109. package/.next/server/app/dev/terminal-test/page.js +2 -2
  110. package/.next/server/app/dev/terminal-test/page.js.nft.json +1 -1
  111. package/.next/server/app/dev/terminal-test/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/dev/terminal-test.html +1 -1
  113. package/.next/server/app/dev/terminal-test.rsc +10 -10
  114. package/.next/server/app/icon/route.js +1 -1
  115. package/.next/server/app/icon/route.js.nft.json +1 -1
  116. package/.next/server/app/icon/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/icon-192/route.js +1 -1
  118. package/.next/server/app/icon-192/route.js.nft.json +1 -1
  119. package/.next/server/app/icon-192/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/icon-512/route.js +1 -1
  121. package/.next/server/app/icon-512/route.js.nft.json +1 -1
  122. package/.next/server/app/icon-512/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/icon.body +0 -0
  124. package/.next/server/app/manifest.webmanifest/route.js +1 -1
  125. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  126. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/manifest.webmanifest.body +1 -1
  128. package/.next/server/app/meta/[name]/page.js +2 -0
  129. package/.next/server/app/meta/[name]/page.js.nft.json +1 -0
  130. package/.next/server/app/meta/[name]/page_client-reference-manifest.js +1 -0
  131. package/.next/server/app/page.js +2 -2
  132. package/.next/server/app/page.js.nft.json +1 -1
  133. package/.next/server/app/page_client-reference-manifest.js +1 -1
  134. package/.next/server/app/projects/[projectId]/page.js +2 -2
  135. package/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  136. package/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js +2 -2
  138. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js.nft.json +1 -1
  139. package/.next/server/app/projects/[projectId]/sessions/[id]/page_client-reference-manifest.js +1 -1
  140. package/.next/server/app/projects/[projectId]/settings/page.js +2 -2
  141. package/.next/server/app/projects/[projectId]/settings/page.js.nft.json +1 -1
  142. package/.next/server/app/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  143. package/.next/server/app/prs/page.js +2 -2
  144. package/.next/server/app/prs/page.js.nft.json +1 -1
  145. package/.next/server/app/prs/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/review/page.js +2 -2
  147. package/.next/server/app/review/page.js.nft.json +1 -1
  148. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/reviews/page.js +2 -2
  150. package/.next/server/app/reviews/page.js.nft.json +1 -1
  151. package/.next/server/app/reviews/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/sessions/[id]/page.js +2 -2
  153. package/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  154. package/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  155. package/.next/server/app/test-direct/page.js +2 -2
  156. package/.next/server/app/test-direct/page.js.nft.json +1 -1
  157. package/.next/server/app/test-direct/page_client-reference-manifest.js +1 -1
  158. package/.next/server/app/test-direct.html +1 -1
  159. package/.next/server/app/test-direct.rsc +10 -10
  160. package/.next/server/app-paths-manifest.json +10 -7
  161. package/.next/server/chunks/1215.js +1 -1
  162. package/.next/server/chunks/1271.js +1 -1
  163. package/.next/server/chunks/1351.js +3 -0
  164. package/.next/server/chunks/1612.js +1 -0
  165. package/.next/server/chunks/2899.js +1 -1
  166. package/.next/server/chunks/5053.js +1 -1
  167. package/.next/server/chunks/5684.js +942 -0
  168. package/.next/server/chunks/6148.js +2 -2
  169. package/.next/server/chunks/{4033.js → 6319.js} +1 -1
  170. package/.next/server/chunks/7486.js +3 -3
  171. package/.next/server/chunks/9472.js +102 -40
  172. package/.next/server/middleware-build-manifest.js +1 -1
  173. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  174. package/.next/server/next-font-manifest.js +1 -1
  175. package/.next/server/next-font-manifest.json +1 -1
  176. package/.next/server/pages/404.html +1 -1
  177. package/.next/server/pages/500.html +1 -1
  178. package/.next/server/server-reference-manifest.json +1 -1
  179. package/.next/static/TSIgyOuEpSp86lKtHn-Y4/_buildManifest.js +1 -0
  180. package/.next/static/chunks/1089-89713836690dc384.js +1 -0
  181. package/.next/static/chunks/{9876-de0c5a1a319b4e8e.js → 1145-b66ea7e0df4f6842.js} +1 -1
  182. package/.next/static/chunks/1160-0ae37be89137bb48.js +1 -0
  183. package/.next/static/chunks/{2073-4192de0bb00cc993.js → 2554-dbb4cd7dd7f11245.js} +1 -1
  184. package/.next/static/chunks/3764.9c44a4ac0ede4088.js +1 -0
  185. package/.next/static/chunks/5204.0d460c9e7de8b015.js +1 -0
  186. package/.next/static/chunks/8759-2ef1cec1061e251a.js +1 -0
  187. package/.next/static/chunks/9531-6d130ea1232ee102.js +1 -0
  188. package/.next/static/chunks/app/_not-found/page-5634011a1475aa0d.js +1 -0
  189. package/.next/static/chunks/app/api/backlog/route-5634011a1475aa0d.js +1 -0
  190. package/.next/static/chunks/app/api/browse-directory/route-5634011a1475aa0d.js +1 -0
  191. package/.next/static/chunks/app/api/filesystem/browse/route-5634011a1475aa0d.js +1 -0
  192. package/.next/static/chunks/app/api/issues/route-5634011a1475aa0d.js +1 -0
  193. package/.next/static/chunks/app/api/meta/[name]/start/route-5634011a1475aa0d.js +1 -0
  194. package/.next/static/chunks/app/api/meta/route-5634011a1475aa0d.js +1 -0
  195. package/.next/static/chunks/app/api/observability/route-5634011a1475aa0d.js +1 -0
  196. package/.next/static/chunks/app/api/orchestrators/route-5634011a1475aa0d.js +1 -0
  197. package/.next/static/chunks/app/api/projects/[id]/route-5634011a1475aa0d.js +1 -0
  198. package/.next/static/chunks/app/api/projects/reload/route-5634011a1475aa0d.js +1 -0
  199. package/.next/static/chunks/app/api/projects/route-5634011a1475aa0d.js +1 -0
  200. package/.next/static/chunks/app/api/prs/[id]/merge/route-5634011a1475aa0d.js +1 -0
  201. package/.next/static/chunks/app/api/reviews/execute/route-5634011a1475aa0d.js +1 -0
  202. package/.next/static/chunks/app/api/reviews/findings/route-5634011a1475aa0d.js +1 -0
  203. package/.next/static/chunks/app/api/reviews/route-5634011a1475aa0d.js +1 -0
  204. package/.next/static/chunks/app/api/reviews/send/route-5634011a1475aa0d.js +1 -0
  205. package/.next/static/chunks/app/api/runtime/terminal/route-5634011a1475aa0d.js +1 -0
  206. package/.next/static/chunks/app/api/sessions/[id]/kill/route-5634011a1475aa0d.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/[id]/message/route-5634011a1475aa0d.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/[id]/remap/route-5634011a1475aa0d.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/[id]/restore/route-5634011a1475aa0d.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/route-5634011a1475aa0d.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/[id]/send/route-5634011a1475aa0d.js +1 -0
  212. package/.next/static/chunks/app/api/sessions/patches/route-5634011a1475aa0d.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/route-5634011a1475aa0d.js +1 -0
  214. package/.next/static/chunks/app/api/setup-labels/route-5634011a1475aa0d.js +1 -0
  215. package/.next/static/chunks/app/api/spawn/route-5634011a1475aa0d.js +1 -0
  216. package/.next/static/chunks/app/api/update/route-5634011a1475aa0d.js +1 -0
  217. package/.next/static/chunks/app/api/verify/route-5634011a1475aa0d.js +1 -0
  218. package/.next/static/chunks/app/api/version/route-5634011a1475aa0d.js +1 -0
  219. package/.next/static/chunks/app/api/webhooks/[...slug]/route-5634011a1475aa0d.js +1 -0
  220. package/.next/static/chunks/app/apple-icon/route-5634011a1475aa0d.js +1 -0
  221. package/.next/static/chunks/app/dev/terminal-test/page-2a26b5fc208a0a35.js +1 -0
  222. package/.next/static/chunks/app/error-362a1ff5db756e6f.js +1 -0
  223. package/.next/static/chunks/app/{global-error-f6bef179169bcdae.js → global-error-ca208f2a552a271f.js} +1 -1
  224. package/.next/static/chunks/app/icon/route-5634011a1475aa0d.js +1 -0
  225. package/.next/static/chunks/app/icon-192/route-5634011a1475aa0d.js +1 -0
  226. package/.next/static/chunks/app/icon-512/route-5634011a1475aa0d.js +1 -0
  227. package/.next/static/chunks/app/layout-3937228484f6c652.js +1 -0
  228. package/.next/static/chunks/app/loading-5634011a1475aa0d.js +1 -0
  229. package/.next/static/chunks/app/manifest.webmanifest/route-5634011a1475aa0d.js +1 -0
  230. package/.next/static/chunks/app/meta/[name]/page-305f42c2c391f520.js +1 -0
  231. package/.next/static/chunks/app/{not-found-cba3f587e1f98dcb.js → not-found-3d7a362f3eaf10aa.js} +1 -1
  232. package/.next/static/chunks/app/page-305f42c2c391f520.js +1 -0
  233. package/.next/static/chunks/app/projects/[projectId]/layout-5634011a1475aa0d.js +1 -0
  234. package/.next/static/chunks/app/projects/[projectId]/loading-5634011a1475aa0d.js +1 -0
  235. package/.next/static/chunks/app/projects/[projectId]/page-daf2aefa15d58404.js +1 -0
  236. package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-e3e30f31bc5a683f.js +1 -0
  237. package/.next/static/chunks/app/projects/[projectId]/settings/{page-63572555892d7a61.js → page-804b824af9b9d550.js} +1 -1
  238. package/.next/static/chunks/app/projects/layout-f7f6bc8388761510.js +1 -0
  239. package/.next/static/chunks/app/prs/page-220d66ff3931dad7.js +1 -0
  240. package/.next/static/chunks/app/review/{page-022b2d2c326ff413.js → page-13ec034d995001ab.js} +1 -1
  241. package/.next/static/chunks/app/reviews/page-5634011a1475aa0d.js +1 -0
  242. package/.next/static/chunks/app/sessions/[id]/{error-67c0d27f977a1cc1.js → error-419d086d9f9cee0d.js} +1 -1
  243. package/.next/static/chunks/app/sessions/[id]/loading-5634011a1475aa0d.js +1 -0
  244. package/.next/static/chunks/app/sessions/[id]/{not-found-cba3f587e1f98dcb.js → not-found-3d7a362f3eaf10aa.js} +1 -1
  245. package/.next/static/chunks/app/sessions/[id]/page-9879b78853fe3a80.js +1 -0
  246. package/.next/static/chunks/app/test-direct/{page-8b80ed180c0f2f42.js → page-ca223477414cb95d.js} +1 -1
  247. package/.next/static/chunks/{main-app-162601c3f1c01b19.js → main-app-bd2a1b10332da5d9.js} +1 -1
  248. package/.next/static/chunks/{webpack-f9566aaa604a1b07.js → webpack-cc5626a562806e84.js} +1 -1
  249. package/.next/static/css/0863eb7d19a9924a.css +1 -0
  250. package/.next/static/css/3effacfd2e5df88c.css +1 -0
  251. package/dist-server/mux-websocket.js +46 -25
  252. package/dist-server/single-port-server.js +2 -2
  253. package/dist-server/start-all.js +3 -3
  254. package/package.json +33 -33
  255. package/.next/server/chunks/2347.js +0 -3
  256. package/.next/server/chunks/4148.js +0 -942
  257. package/.next/server/chunks/5689.js +0 -1
  258. package/.next/server/chunks/9493.js +0 -1
  259. package/.next/static/chunks/1089-c6d7995c7c19039a.js +0 -1
  260. package/.next/static/chunks/3764.4c736d9a181489a4.js +0 -1
  261. package/.next/static/chunks/4115-1a4fa80ec67a29d3.js +0 -1
  262. package/.next/static/chunks/5204.7de7e266895bced7.js +0 -1
  263. package/.next/static/chunks/8204-7c7837ed694da99c.js +0 -1
  264. package/.next/static/chunks/8759-490573536f93f85c.js +0 -1
  265. package/.next/static/chunks/9531-a5175e55fa0db48d.js +0 -1
  266. package/.next/static/chunks/app/_not-found/page-6add9dacf1870b4b.js +0 -1
  267. package/.next/static/chunks/app/api/backlog/route-6add9dacf1870b4b.js +0 -1
  268. package/.next/static/chunks/app/api/browse-directory/route-6add9dacf1870b4b.js +0 -1
  269. package/.next/static/chunks/app/api/filesystem/browse/route-6add9dacf1870b4b.js +0 -1
  270. package/.next/static/chunks/app/api/issues/route-6add9dacf1870b4b.js +0 -1
  271. package/.next/static/chunks/app/api/observability/route-6add9dacf1870b4b.js +0 -1
  272. package/.next/static/chunks/app/api/orchestrators/route-6add9dacf1870b4b.js +0 -1
  273. package/.next/static/chunks/app/api/projects/[id]/route-6add9dacf1870b4b.js +0 -1
  274. package/.next/static/chunks/app/api/projects/reload/route-6add9dacf1870b4b.js +0 -1
  275. package/.next/static/chunks/app/api/projects/route-6add9dacf1870b4b.js +0 -1
  276. package/.next/static/chunks/app/api/prs/[id]/merge/route-6add9dacf1870b4b.js +0 -1
  277. package/.next/static/chunks/app/api/reviews/execute/route-6add9dacf1870b4b.js +0 -1
  278. package/.next/static/chunks/app/api/reviews/findings/route-6add9dacf1870b4b.js +0 -1
  279. package/.next/static/chunks/app/api/reviews/route-6add9dacf1870b4b.js +0 -1
  280. package/.next/static/chunks/app/api/reviews/send/route-6add9dacf1870b4b.js +0 -1
  281. package/.next/static/chunks/app/api/runtime/terminal/route-6add9dacf1870b4b.js +0 -1
  282. package/.next/static/chunks/app/api/sessions/[id]/kill/route-6add9dacf1870b4b.js +0 -1
  283. package/.next/static/chunks/app/api/sessions/[id]/message/route-6add9dacf1870b4b.js +0 -1
  284. package/.next/static/chunks/app/api/sessions/[id]/remap/route-6add9dacf1870b4b.js +0 -1
  285. package/.next/static/chunks/app/api/sessions/[id]/restore/route-6add9dacf1870b4b.js +0 -1
  286. package/.next/static/chunks/app/api/sessions/[id]/route-6add9dacf1870b4b.js +0 -1
  287. package/.next/static/chunks/app/api/sessions/[id]/send/route-6add9dacf1870b4b.js +0 -1
  288. package/.next/static/chunks/app/api/sessions/patches/route-6add9dacf1870b4b.js +0 -1
  289. package/.next/static/chunks/app/api/sessions/route-6add9dacf1870b4b.js +0 -1
  290. package/.next/static/chunks/app/api/setup-labels/route-6add9dacf1870b4b.js +0 -1
  291. package/.next/static/chunks/app/api/spawn/route-6add9dacf1870b4b.js +0 -1
  292. package/.next/static/chunks/app/api/update/route-6add9dacf1870b4b.js +0 -1
  293. package/.next/static/chunks/app/api/verify/route-6add9dacf1870b4b.js +0 -1
  294. package/.next/static/chunks/app/api/version/route-6add9dacf1870b4b.js +0 -1
  295. package/.next/static/chunks/app/api/webhooks/[...slug]/route-6add9dacf1870b4b.js +0 -1
  296. package/.next/static/chunks/app/apple-icon/route-6add9dacf1870b4b.js +0 -1
  297. package/.next/static/chunks/app/dev/terminal-test/page-d0132109f9d8524e.js +0 -1
  298. package/.next/static/chunks/app/error-d632d0714b987864.js +0 -1
  299. package/.next/static/chunks/app/icon/route-6add9dacf1870b4b.js +0 -1
  300. package/.next/static/chunks/app/icon-192/route-6add9dacf1870b4b.js +0 -1
  301. package/.next/static/chunks/app/icon-512/route-6add9dacf1870b4b.js +0 -1
  302. package/.next/static/chunks/app/layout-5cac6fe817194d7a.js +0 -1
  303. package/.next/static/chunks/app/loading-6add9dacf1870b4b.js +0 -1
  304. package/.next/static/chunks/app/manifest.webmanifest/route-6add9dacf1870b4b.js +0 -1
  305. package/.next/static/chunks/app/page-cf7bccb75990950d.js +0 -1
  306. package/.next/static/chunks/app/projects/[projectId]/layout-6add9dacf1870b4b.js +0 -1
  307. package/.next/static/chunks/app/projects/[projectId]/loading-6add9dacf1870b4b.js +0 -1
  308. package/.next/static/chunks/app/projects/[projectId]/page-039a93b16089ed57.js +0 -1
  309. package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-043b525bedb8f0f7.js +0 -1
  310. package/.next/static/chunks/app/projects/layout-d43b2e38d46221bd.js +0 -1
  311. package/.next/static/chunks/app/prs/page-e447852fbe0c6ee4.js +0 -1
  312. package/.next/static/chunks/app/reviews/page-6add9dacf1870b4b.js +0 -1
  313. package/.next/static/chunks/app/sessions/[id]/loading-6add9dacf1870b4b.js +0 -1
  314. package/.next/static/chunks/app/sessions/[id]/page-863cf8dd2c76d06d.js +0 -1
  315. package/.next/static/css/0c9b7451c2ce7c02.css +0 -1
  316. package/.next/static/css/b4a15f23f468892a.css +0 -1
  317. package/.next/static/pROr0laPuZIdA4NYNygMD/_buildManifest.js +0 -1
  318. package/LICENSE +0 -22
  319. /package/.next/static/{pROr0laPuZIdA4NYNygMD → TSIgyOuEpSp86lKtHn-Y4}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=1215,exports.ids=[1215],exports.modules={13219:(a,b,c)=>{c.d(b,{Dashboard:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call Dashboard() from the server but Dashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/components/Dashboard.tsx","Dashboard")},31789:(a,b,c)=>{c.d(b,{Dashboard:()=>U});var d=c(33666),e=c(81115),f=c(47489),g=c.n(f),h=c(50436),i=c(52754),j=c(37155),k=c(85489),l=c(61875),m=c(37611),n=c(82732),o=c(37501),p=c(88950);function q({session:a,onRestore:b}){let[c,f]=(0,e.useState)(!1),g=a.pr,h=!!g&&(0,j.fZ)(g),i=!!g&&(0,j.sZ)(g),m=(0,j.wy)(a),q=(0,l.Pn)(a),r=function(a){let b=a.activity,c=a.status,e=a.lifecycle?.prState??a.pr?.state;return"merged"===e||"merged"===c?{label:"merged",pillClass:"done-status-pill--merged",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M20 6 9 17l-5-5"})})}:"closed"===e?{label:"closed",pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}:a.lifecycle?.sessionState==="terminated"||"killed"===c||"terminated"===c?{label:(0,j.Ou)(a),pillClass:"done-status-pill--killed",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})}:{label:"exited"===b?"exited":(0,j.Ou)(a),pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}}(a);return(0,d.jsxs)("div",{className:(0,k.cn)("session-card-done",c&&"done-expanded"),onClick:a=>{a.target.closest("a, button, textarea")||f(!c)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-3 pb-1.5",children:[(0,d.jsxs)("span",{className:(0,k.cn)("done-status-pill",r.pillClass),children:[r.icon,r.label]}),(0,d.jsx)("span",{className:"font-[var(--font-mono)] text-[10px] tracking-wide text-[var(--color-text-muted)]",children:a.id}),(0,d.jsx)("div",{className:"flex-1"}),m&&(0,d.jsxs)("button",{onClick:c=>{c.stopPropagation(),b?.(a.id)},className:"done-card__restore",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("polyline",{points:"1 4 1 10 7 10"}),(0,d.jsx)("path",{d:"M3.51 15a9 9 0 1 0 2.13-9.36L1 10"})]}),"restore"]})]}),(0,d.jsx)("div",{className:"px-3.5 pb-2",children:(0,d.jsx)("p",{className:"session-card-done__title text-[13px] font-semibold leading-snug [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:q})}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3.5 pb-3",children:[a.branch&&(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-2.5 w-2.5 opacity-50",children:[(0,d.jsx)("path",{d:"M6 3v12M18 9a3 3 0 0 1-3 3H9a3 3 0 0 0-3 3"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"3"})]}),a.branch]}),g&&(0,d.jsxs)("a",{href:g.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-bold text-[var(--color-text-primary)] no-underline underline-offset-2 hover:underline",children:["#",g.number]}),g&&!h&&(i?(0,d.jsx)("span",{className:"inline-block h-[14px] w-16 animate-pulse rounded-full bg-[var(--color-bg-subtle)]"}):(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",g.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",g.deletions]})," ",(0,o.i_)(g.additions,g.deletions),(0,d.jsx)("span",{className:"sr-only",children:`+${g.additions} -${g.deletions} ${(0,o.i_)(g.additions,g.deletions)}`})]})),(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-semibold text-[var(--color-accent)] no-underline hover:underline",children:"View current context"})]}),c&&(0,d.jsxs)("div",{className:"done-expand-section px-3.5 py-3",children:[a.summary&&g?.title&&a.summary!==g.title&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h10"})}),"Summary"]}),(0,d.jsx)("p",{className:"text-[12px] leading-relaxed text-[var(--color-text-secondary)]",children:a.summary})]}),a.issueUrl&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),"Issue"]}),(0,d.jsxs)("a",{href:a.issueUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"text-[12px] text-[var(--color-accent)] hover:underline",children:[a.issueLabel||a.issueUrl,a.issueTitle&&`: ${a.issueTitle}`]})]}),g&&g.ciChecks.length>0&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M9 12l2 2 4-4"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"})]}),"CI Checks"]}),(0,d.jsx)(n.zm,{checks:g.ciChecks})]}),g&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4"}),(0,d.jsx)("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),"PR"]}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--color-text-secondary)]",children:[(0,d.jsx)("a",{href:g.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"hover:underline",children:g.title}),i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2 text-[10px] text-[var(--color-text-muted)]",children:[(0,d.jsx)("span",{className:"inline-block h-3 w-12 animate-pulse rounded bg-[var(--color-bg-subtle)]"}),(0,d.jsx)("span",{children:"PR details loading..."})]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",g.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",g.deletions]})]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["mergeable: ",g.mergeability.mergeable?"yes":"no"]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["review: ",g.reviewDecision]})]})]})]})]}),!g&&(0,d.jsx)("p",{className:"text-[12px] text-[var(--color-text-tertiary)]",children:"No PR associated with this session."})]})]})}let r=new Set,s=(0,e.memo)(function({session:a,onKill:b,onMerge:c,onRestore:f}){var g;let[h,i]=(0,e.useState)(!1),[n]=(0,e.useState)(()=>r.has(a.id)),o=(0,j.ng)(a),s=a.pr,t=a.prs??[],u=new Set(t.map(a=>a.repo)).size>1,[v,w]=(0,e.useState)(0),x=Math.min(v,Math.max(0,t.length-1)),y=t.length>1?t[x]??s:s,z=t.length>1?y:s,A=!!z&&(0,j.fZ)(z),B=!!z&&(0,j.sZ)(z),C=!A&&z?.mergeability.mergeable&&"open"===z.state,D=(0,j.nH)(a),E=(0,j.wy)(a),F=(0,l.Pn)(a),G=function(a,b,c,d){let e=a.pr;if(!e)return a.lifecycle?.sessionState==="detecting"?{text:"detecting…",tone:void 0}:{text:"no PR yet",tone:void 0};if(c)return{text:"PR data rate limited",tone:void 0};if(d)return{text:"loading…",tone:void 0};if(e.ciStatus===j.U1.FAILING||a.lifecycle?.prReason==="ci_failing"||"ci_failed"===a.status){let a=e.ciChecks.filter(a=>"failed"===a.status).length;return{text:a>0?`${a} check${1===a?"":"s"} failed`:"CI failed",tone:"fail"}}return"changes_requested"===e.reviewDecision?{text:"changes requested",tone:"amber"}:e.unresolvedThreads>0?{text:`${e.unresolvedThreads} comment${1===e.unresolvedThreads?"":"s"}`,tone:"amber"}:b&&"approved"===e.reviewDecision?{text:"approved",tone:"green"}:e.ciStatus===j.U1.PASSING?{text:"CI passed",tone:"green"}:e.ciStatus===j.U1.PENDING?{text:"CI running",tone:void 0}:{text:"review pending",tone:void 0}}(a,!!C,A,B);return(0,j.dG)(a)||"done"===o?(0,d.jsx)(q,{session:a,onRestore:f}):(0,d.jsxs)("div",{className:(0,k.cn)("session-card border",!n&&"kanban-card-enter"),children:[(0,d.jsxs)("div",{className:"session-card__header",children:[(0,d.jsx)(m.W,{session:a}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"card__id",children:a.id}),E&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"session-card__control session-card__restore-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M20 11a8 8 0 0 0-14.9-3.98"}),(0,d.jsx)("path",{d:"M4 5v4h4"}),(0,d.jsx)("path",{d:"M4 13a8 8 0 0 0 14.9 3.98"}),(0,d.jsx)("path",{d:"M20 19v-4h-4"})]}),"restore"]}),!D&&(0,d.jsxs)("a",{href:(0,p.$l)(a.projectId,a.id,"#session-terminal-section"),onClick:a=>a.stopPropagation(),className:"session-card__terminal-link",children:[(0,d.jsxs)("svg",{className:"session-card__terminal-link-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"m4 17 6-6-6-6"}),(0,d.jsx)("path",{d:"M12 19h8"})]}),"terminal"]})]}),(0,d.jsxs)("div",{className:"session-card__body flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)("div",{className:"card__title-wrap",children:(0,d.jsx)("p",{className:"card__title",children:F})}),(0,d.jsxs)("div",{className:"card__meta",children:[a.branch&&(0,d.jsx)("span",{className:"card__branch",children:a.branch}),1===t.length&&(0,d.jsxs)(d.Fragment,{children:[a.branch&&(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}),(0,d.jsxs)("a",{href:t[0].url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:(0,k.cn)("inline-block h-1.5 w-1.5 shrink-0 rounded-full",(g=t[0]).enriched?"merged"===g.state?"bg-[var(--color-status-merge)]":"closed"===g.state?"bg-[var(--color-text-muted)]":"failing"===g.ciStatus||"changes_requested"===g.reviewDecision?"bg-[var(--color-status-error)]":g.isDraft?"bg-[var(--color-text-muted)]":"passing"===g.ciStatus?"bg-[var(--color-status-merge)]":"pending"===g.ciStatus?"bg-[var(--color-status-pending)]":"bg-[var(--color-text-tertiary)] opacity-30":"bg-[var(--color-text-tertiary)] opacity-30")}),"#",t[0].number]})]})]}),t.length>1&&(0,d.jsx)("div",{className:"px-[10px] pb-[5px] flex flex-col gap-[2px]",children:t.map((a,b)=>{let c=a.enriched?"merged"===a.state?"merged":"closed"===a.state?"closed":"failing"===a.ciStatus?"CI failing":"changes_requested"===a.reviewDecision?"changes requested":a.isDraft?"draft":"approved"===a.reviewDecision?"approved":"passing"===a.ciStatus?"needs review":"pending"===a.ciStatus?"CI running":"":"",e=b===x;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:(0,k.cn)("flex items-center gap-1.5 min-w-0 rounded px-1 -mx-1 cursor-pointer transition-colors",e?"bg-[var(--color-bg-subtle)] border-l-2 border-[var(--color-accent)] pl-[2px]":"hover:bg-[var(--color-bg-subtle)] border-l-2 border-transparent pl-[2px]"),onClick:a=>{a.stopPropagation(),w(b)},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.stopPropagation(),w(b))},children:[u&&(0,d.jsx)("span",{className:"shrink-0 font-[var(--font-mono)] text-[9px] text-[var(--color-text-tertiary)] bg-[var(--color-bg-subtle)] px-1 py-0.5 rounded leading-none",children:a.repo.split("-").map(a=>a[0]?.toUpperCase()??"").join("").slice(0,3)}),(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>{a.stopPropagation(),w(b)},className:(0,k.cn)("shrink-0 inline-flex items-center font-[var(--font-mono)] text-[10px] font-bold px-1.5 py-0.5 rounded leading-none no-underline",a.enriched?"merged"===a.state?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"closed"===a.state?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"failing"===a.ciStatus||"changes_requested"===a.reviewDecision?"bg-[color-mix(in_srgb,var(--color-status-error)_15%,transparent)] text-[var(--color-status-error)]":a.isDraft?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"passing"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"pending"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-pending)_15%,transparent)] text-[var(--color-status-pending)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]"),children:["#",a.number]}),a.title?(0,d.jsx)("span",{className:"flex-1 truncate text-[11px] text-[var(--color-text-secondary)]",title:a.title,children:a.title}):(0,d.jsx)("span",{className:"flex-1"}),a.enriched&&(0,d.jsxs)("span",{className:"shrink-0 font-[var(--font-mono)] text-[10px]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-merge)]",children:["+",a.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",a.deletions]})]}),c&&"needs review"!==c&&(0,d.jsxs)("span",{className:"shrink-0 text-[10px] text-[var(--color-text-tertiary)]",children:["\xb7 ",c]})]},a.url)})}),(0,d.jsxs)("div",{className:"session-card__footer",children:[(0,d.jsxs)("div",{className:"session-card__footer-info",children:[s?(0,d.jsxs)("a",{href:s.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr",children:["PR #",s.number]}):null,s&&G?(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}):null,G?(0,d.jsx)("span",{className:"session-card__footer-detail","data-tone":G.tone,children:G.text}):null]}),(0,d.jsxs)("div",{className:"session-card__footer-actions",children:[C&&z?(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),c?.(z.number,z.owner,z.repo)},className:"session-card__control session-card__merge-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"6",cy:"6",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"18",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"2"}),(0,d.jsx)("path",{d:"M8 6h5a3 3 0 0 1 3 3v7"})]}),"Merge PR #",z.number]}):null,D?null:(0,d.jsx)("button",{onClick:c=>{if(c.stopPropagation(),!h)return void i(!0);i(!1),b?.(a.id)},onMouseLeave:()=>i(!1),onBlur:()=>i(!1),"aria-label":h?"Confirm terminate session":"Terminate session",className:(0,k.cn)("session-card__control session-card__terminate btn--danger",h&&"is-confirming"),children:h?(0,d.jsx)("span",{className:"font-mono text-[10px] font-semibold tracking-[0.04em]",children:"kill?"}):(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"})]})})]})]})]})]})},function(a,b){return a.session===b.session&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore}),t={merge:{label:"Ready to merge",emptyMessage:"Nothing cleared to land yet."},action:{label:"Needs you",emptyMessage:"No agents need your input."},respond:{label:"Needs you",emptyMessage:"No agents need your input."},review:{label:"Review",emptyMessage:"No code waiting for review."},pending:{label:"In review",emptyMessage:"Nothing blocked."},working:{label:"Working",emptyMessage:"No agents running."},done:{label:"Done",emptyMessage:"No completed sessions."}},u=(0,e.memo)(function({level:a,sessions:b,onKill:c,onMerge:f,onRestore:g,collapsed:h,onToggle:i,compactMobile:j,onPreview:k,resetKey:l}){let m=t[a],n=void 0!==i,[o,p]=(0,e.useState)(!1),q=n&&j&&!o?b.slice(0,5):b,r=b.length-q.length;return n?(0,d.jsxs)("div",{className:`accordion-section${h?" accordion-section--collapsed":" accordion-section--expanded"}`,"data-level":a,children:[(0,d.jsxs)("button",{type:"button",className:"accordion-header",onClick:()=>i(a),"aria-expanded":!h,"aria-controls":`accordion-body-${a}`,children:[(0,d.jsx)("span",{className:"accordion-header__dot","data-level":a}),(0,d.jsx)("span",{className:"accordion-header__label",children:m.label}),(0,d.jsx)("span",{className:"accordion-header__count",children:b.length}),(0,d.jsx)("span",{className:"accordion-header__chevron","aria-hidden":"true",children:"▶"})]}),(0,d.jsx)("div",{id:`accordion-body-${a}`,className:"accordion-body",children:b.length>0?(0,d.jsxs)("div",{className:j?"mobile-session-list":"flex flex-col gap-2 p-3",children:[q.map(b=>j?(0,d.jsx)(v,{session:b,level:a,onPreview:k},b.id):(0,d.jsx)(s,{session:b,onKill:c,onMerge:f,onRestore:g},b.id)),j&&r>0?(0,d.jsxs)("button",{type:"button",className:"mobile-session-list__view-all",onClick:()=>p(!0),children:["View all ",b.length]}):null]}):j?(0,d.jsx)("div",{className:"mobile-session-list",children:(0,d.jsx)("div",{className:"mobile-session-list__empty",children:m.emptyMessage})}):null})]}):(0,d.jsxs)("div",{className:"kanban-column","data-level":a,children:[(0,d.jsx)("div",{className:"kanban-column__header",children:(0,d.jsxs)("div",{className:"kanban-column__title-row",children:[(0,d.jsx)("div",{className:"kanban-column__dot","data-level":a}),(0,d.jsx)("span",{className:"kanban-column__title",children:m.label}),(0,d.jsx)("span",{className:"kanban-column__count",children:b.length})]})}),(0,d.jsx)("div",{className:"kanban-column-body",children:b.length>0?(0,d.jsx)("div",{className:"kanban-column__stack",children:b.map(a=>(0,d.jsx)(s,{session:a,onKill:c,onMerge:f,onRestore:g},a.id))}):null})]})},function(a,b){return a.level===b.level&&a.collapsed===b.collapsed&&a.onToggle===b.onToggle&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore&&a.compactMobile===b.compactMobile&&a.onPreview===b.onPreview&&a.resetKey===b.resetKey&&a.sessions.length===b.sessions.length&&a.sessions.every((a,c)=>a===b.sessions[c])});function v({session:a,level:b,onPreview:c}){let e=[a.branch,a.pr?`PR #${a.pr.number}`:null,a.issueLabel].filter(Boolean);return(0,d.jsxs)("div",{className:"mobile-session-row",children:[(0,d.jsxs)("button",{type:"button",className:"mobile-session-row__preview",onClick:()=>c?.(a),"aria-label":`Open ${(0,l.Pn)(a)}`,children:[(0,d.jsxs)("div",{className:"mobile-session-row__line",children:[(0,d.jsx)("span",{className:"mobile-session-row__dot","data-level":b,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mobile-session-row__title",children:(0,l.Pn)(a)})]}),(0,d.jsx)("div",{className:"mobile-session-row__meta",children:e.length>0?e.join(" \xb7 "):"No branch or PR metadata"})]}),(0,d.jsxs)("div",{className:"mobile-session-row__side",children:[(0,d.jsx)(w,{session:a,level:b}),(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),className:"mobile-session-row__open","aria-label":`Go to ${(0,l.Pn)(a)}`,children:(0,d.jsxs)("svg",{className:"mobile-session-row__open-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 17V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z"}),(0,d.jsx)("path",{d:"m8 10 2 2-2 2M12 14h4"})]})})]})]})}function w({session:a,level:b}){let c=t[b].label.toLowerCase(),e=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return"merge"===b&&e.length>0&&e.every(a=>(0,j.QN)(a))?c="ready":"action"===b?c=function(a){if("needs_input"===a.status)return"needs input";if("stuck"===a.status)return"stuck";if("errored"===a.status)return"errored";if("waiting_input"===a.activity)return"waiting";if("exited"===a.activity)return"crashed";if("blocked"===a.activity)return"blocked";if("ci_failed"===a.status)return"ci failed";if("changes_requested"===a.status)return"changes";let b=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return b.some(a=>"failing"===a.ciStatus)?"ci failed":b.some(a=>"changes_requested"===a.reviewDecision)?"changes":b.some(a=>!a.mergeability.noConflicts)?"conflicts":"action"}(a):"respond"===b?c="waiting_input"===a.activity?"waiting":"needs input":"review"===b?c=e.some(a=>"changes_requested"===a.reviewDecision)?"changes":"review":"pending"===b?c=e.some(a=>a.unresolvedThreads)?"threads":"pending":"working"===b&&(c="idle"===a.activity?"idle":"active"),(0,d.jsx)("span",{className:"mobile-session-row__chip",children:c})}var x=c(18768),y=c(20057),z=c(58976);let A=["Working","Needs you","In review","Ready to merge"];function B({message:a,orchestratorHref:b,onSpawnOrchestrator:c=null,spawnLabel:e="Spawn Orchestrator",spawnDisabled:f=!1}){return(0,d.jsxs)("div",{className:"board-wrapper",children:[(0,d.jsx)("div",{className:"kanban-ghost","aria-hidden":"true",children:A.map(a=>(0,d.jsx)("div",{className:"kanban-ghost__col",children:(0,d.jsx)("div",{className:"kanban-ghost__head",children:a})},a))}),(0,d.jsx)("div",{className:"board-center",children:(0,d.jsxs)("div",{className:"empty-state",role:"status",children:[(0,d.jsx)("div",{className:"empty-state__icon",children:(0,d.jsxs)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5.5",r:"2.5",fill:"color-mix(in srgb, var(--color-accent) 18%, transparent)",stroke:"var(--color-accent)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"5.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"18.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"6.7",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"17.3",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"7.8",y1:"17",x2:"16.2",y2:"17",stroke:"var(--color-border-subtle)",strokeWidth:"1",strokeDasharray:"2.5 2"})]})}),a?(0,d.jsx)("p",{className:"empty-state__text",children:a}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"empty-state__headline",children:"Ready to orchestrate"}),(0,d.jsx)("p",{className:"empty-state__hint",children:"Open the main orchestrator to start a session and fan out parallel agents across your codebase."}),b?(0,d.jsxs)("a",{href:b,className:"empty-state__cta",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Open Orchestrator"]}):c?(0,d.jsxs)("button",{type:"button",className:"empty-state__cta",onClick:c,disabled:f,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),e]}):null]})]})})]})}var C=c(71276);function D({status:a}){return"connected"===a?null:"disconnected"===a?(0,d.jsx)("button",{type:"button",className:"connection-bar connection-bar--disconnected","aria-live":"assertive","aria-atomic":"true",onClick:()=>window.location.reload(),children:"Offline \xb7 tap to retry"}):(0,d.jsx)("div",{className:"connection-bar connection-bar--reconnecting",role:"status","aria-live":"polite","aria-atomic":"true",children:"Reconnecting…"})}function E(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)("idle"),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null),k=(0,e.useCallback)(()=>{if(a?.latest){try{window.localStorage.setItem("ao.updateBanner.dismissedFor",a.latest)}catch{}j(a.latest),f("idle"),h(null)}},[a]),l=(0,e.useCallback)(async()=>{f("starting"),h(null);try{let a=await fetch("/api/update",{method:"POST"}),b=await a.json();if(a.ok)return void f("started");if(409===a.status){f("blocked"),h(b.message);return}f("error"),h(b.message??"Update failed")}catch(a){f("error"),h(a instanceof Error?a.message:String(a))}},[]);if(!a||!a.isOutdated||!a.latest||"manual"===a.channel||i===a.latest&&"idle"===c||"started"===c)return null;let m="nightly"===a.channel?" (nightly)":"";return(0,d.jsxs)("div",{role:"status","aria-live":"polite",className:"flex w-full items-center justify-between gap-3 border-b border-[var(--color-border-default)] bg-[var(--color-accent-amber-dim)] px-4 py-2 text-sm text-[var(--color-text-primary)]",children:[(0,d.jsxs)("div",{className:"flex flex-1 items-center gap-3",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:"inline-block h-2 w-2 flex-shrink-0 rounded-full bg-[var(--color-accent-amber)]"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,d.jsxs)("span",{className:"font-medium",children:["Update available",m,": ",a.current," → ",a.latest]}),"blocked"===c&&g||"error"===c&&g?(0,d.jsx)("span",{className:"text-xs text-[var(--color-status-error)]",children:g}):"starting"===c?(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Starting…"}):(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Click Update to install. The dashboard will restart."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>void l(),disabled:"starting"===c,className:"rounded-sm border border-[var(--color-accent-amber-border)] bg-[var(--color-accent-amber)] px-3 py-1 text-xs font-medium text-[var(--color-text-inverse)] hover:bg-[color-mix(in_srgb,var(--color-accent-amber)_85%,black)] disabled:cursor-wait disabled:opacity-60",children:"starting"===c?"Updating…":"Update"}),(0,d.jsx)("button",{type:"button",onClick:k,"aria-label":"Dismiss",className:"rounded-sm px-2 py-1 text-xs text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)]",children:"Dismiss"})]})]})}let F=[/\bBearer\s+[A-Za-z0-9._\-+/=]+\b/gi,/\bsk-[A-Za-z0-9]{10,}\b/g,/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g];function G({projectId:a}){let{showToast:b}=(0,C.d)(),[c,f]=(0,e.useState)(!1),g=(0,e.useCallback)(async()=>{if(!c){f(!0);try{let c,d=await fetch("/api/observability",{credentials:"same-origin"});if(!d.ok)return void b("Could not fetch observability snapshot","error");let e=d.headers.get("x-correlation-id");try{c=await d.json()}catch{b("Could not parse observability snapshot","error");return}let f=function a(b,c=new WeakSet){if("string"==typeof b)return F.reduce((a,b)=>a.replace(b,"[REDACTED]"),b);if(Array.isArray(b))return b.map(b=>a(b,c));if(b&&"object"==typeof b){if(c.has(b))return"[Circular]";c.add(b);let d={};for(let[e,f]of Object.entries(b))d[e]=a(f,c);return d}return b}(function(a,b){if(!b||!a||"object"!=typeof a)return a;let c={...a},d=c.projects;if(d&&"object"==typeof d&&!Array.isArray(d)){let a=d[b];c.projects=void 0===a?{}:{[b]:a}}return c}(c,a)),g={copiedAt:new Date().toISOString(),pageHref:`${window.location.origin}${window.location.pathname}`,projectId:a??null,correlationId:e,userAgent:navigator.userAgent,observability:f};await navigator.clipboard.writeText(JSON.stringify(g,null,2)),b("Debug bundle copied to clipboard","success")}catch{b("Could not copy debug bundle","error")}finally{f(!1)}}},[c,a,b]);return(0,d.jsx)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--icon",onClick:()=>void g(),disabled:c,title:"Copy debug bundle","aria-label":"Copy debug bundle for issue reports",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}var H=c(73660),I=c(70162),J=c(88510),K=c(5241);function L(a){let b=Date.now(),c=Math.floor((b-new Date(a).getTime())/1e3);if(c<60)return`${c}s ago`;let d=Math.floor(c/60);if(d<60)return`${d}m ago`;let e=Math.floor(d/60);if(e<24)return`${e}h ago`;let f=Math.floor(e/24);return`${f}d ago`}function M(a){return a.replaceAll("_"," ")}function N(a){return null!==a}function O({session:a,mode:b,onCancel:c,onConfirm:f,onRequestKill:g,onMerge:h,isMergeReady:i=!1}){let k=(0,e.useRef)(null),m=(0,e.useRef)(null);(0,e.useRef)(null);let n=a?.pr?.number??null;if(!a)return null;let o=(0,l.Pn)(a),q=(0,j.ng)(a),r=a.summary&&!a.summaryIsFallback?a.summary:null,s="done"!==q&&"merge"!==q&&!(0,j.y8)(a),t=a.pr,u=!!(t&&!(0,j.fZ)(t)&&!(0,j.sZ)(t)),v="done"===q||(0,j.nH)(a),w=[{label:M(q),tone:"accent"},{label:M(a.status),tone:"neutral"},a.activity?{label:M(a.activity),tone:"neutral"}:null,a.branch?{label:a.branch,tone:"mono"}:null,a.pr?{label:`PR #${a.pr.number}`,tone:"neutral"}:null,a.issueLabel?{label:a.issueLabel,tone:"neutral"}:null].filter(N);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"bottom-sheet-backdrop",onClick:c,"aria-hidden":"true"}),(0,d.jsxs)("div",{ref:m,className:"bottom-sheet",role:"dialog","aria-modal":"true","aria-labelledby":"bottom-sheet-title",onTouchStart:function(a){k.current=a.touches[0]?.clientY??null},onTouchEnd:function(a){if(null===k.current)return;let b=(a.changedTouches[0]?.clientY??0)-k.current;k.current=null,b>80&&c()},children:[(0,d.jsx)("div",{className:"bottom-sheet__handle","aria-hidden":"true"}),"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__header",children:[(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:"Terminate session?"}),(0,d.jsx)("p",{className:"bottom-sheet__subtitle",children:"This action cannot be undone."})]}),(0,d.jsxs)("div",{className:"bottom-sheet__session-info",children:[(0,d.jsx)("div",{className:"bottom-sheet__session-name",children:o}),(0,d.jsx)("div",{className:"bottom-sheet__session-meta",children:w.map(a=>(0,d.jsx)("span",{className:`bottom-sheet__tag bottom-sheet__tag--${a.tone}`,children:a.label},`${a.tone}-${a.label}`))}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-card",children:[(0,d.jsx)("div",{className:"bottom-sheet__preview-strip","data-level":q}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-content",children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-header",children:[(0,d.jsx)("span",{className:"bottom-sheet__preview-id",children:a.id}),(0,d.jsx)("span",{className:"bottom-sheet__preview-time",children:L(a.lastActivityAt)})]}),(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:o}),(0,d.jsxs)("p",{className:"bottom-sheet__subtitle",children:[M(q)," \xb7 started ",L(a.createdAt)]}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-meta",children:[a.branch?(0,d.jsx)("span",{className:"bottom-sheet__preview-branch",children:a.branch}):null,t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-pr",children:["#",t.number]}):null,u&&t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff",children:[(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-add",children:["+",t.additions]})," ",(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-del",children:["-",t.deletions]})]}):null]}),u&&t?(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:"passing"===t.ciStatus?"CI passing":"failing"===t.ciStatus?"CI failed":"CI pending"}),(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:"approved"===t.reviewDecision?"approved":"changes_requested"===t.reviewDecision?"changes requested":"needs review"}),v?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:M(a.status)}):null,v&&a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:M(a.activity)}):null]}):(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:M(a.status)}),a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:M(a.activity)}):null]})]})]}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]}),(0,d.jsx)("div",{className:"bottom-sheet__actions",children:"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--cancel",onClick:c,children:"Cancel"}),(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:f,children:"Terminate"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),className:"bottom-sheet__btn bottom-sheet__btn--primary",children:"Open session"}),i&&a.pr&&h?(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--secondary",onClick:()=>{null!==n&&h(n,a.pr?.owner,a.pr?.repo)},children:"Merge"}):s&&g?(0,d.jsxs)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:g,children:[(0,d.jsxs)("svg",{className:"bottom-sheet__btn-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"}),(0,d.jsx)("path",{d:"M10 11v6M14 11v6"})]}),"Terminate"]}):null]})})]})]})}let P=["working","action","pending","merge"],Q=["working","respond","review","pending","merge"],R=[];function S({session:a,onRestore:b}){let c=!a.summaryIsFallback&&a.summary||a.issueTitle||a.summary||a.id,e=a.pr?.state==="merged"||"merged"===a.status,f=(0,j.y8)(a),g=(0,j.wy)(a),h=`done-card__badge ${f?"done-card__badge--terminated":"done-card__badge--merged"}`;return(0,d.jsxs)("div",{className:"done-card",children:[(0,d.jsx)("p",{className:"done-card__title",children:c}),(0,d.jsxs)("div",{className:"done-card__meta",children:[(0,d.jsx)("span",{className:h,children:e?"merged":f?"terminated":"done"}),a.pr?(0,d.jsxs)("a",{href:a.pr.url,target:"_blank",rel:"noopener noreferrer",className:"done-card__pr",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("svg",{width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,d.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,d.jsx)("path",{d:"M6 9v3a6 6 0 0 0 6 6h3"})]}),"#",a.pr.number]}):null,(0,d.jsx)("span",{className:"done-card__age",children:function(a){if(!a)return"just now";let b=new Date(a).getTime();if(!Number.isFinite(b))return"just now";let c=Date.now()-b;if(c<=0)return"just now";let d=Math.floor(c/1e3),e=Math.floor(d/60),f=Math.floor(e/60),g=Math.floor(f/24);return d<60?`${d}s ago`:e<60?`${e}m ago`:f<24?`${f}h ago`:`${g}d ago`}(a.lastActivityAt)}),g?(0,d.jsx)("button",{type:"button",className:"done-card__restore",onClick:c=>{c.stopPropagation(),b(a.id)},children:"Restore"}):null]})]})}function T({initialSessions:a,projectId:b,projectName:c,projects:f=[],orchestrators:k,attentionZones:l="simple",dashboardLoadError:m}){let n=(0,z.eT)(),o="detailed"===l?Q:P,q=(0,e.useMemo)(()=>{let b={};for(let c of a)b[c.id]=(0,j.ng)(c,l);return b},[a,l]),{sessions:r,attentionLevels:s,liveSessionsResolved:t,loadError:v}=(0,y.D)({initialSessions:a,muxSessions:n?.status==="connected"?n.sessions:void 0,muxLastError:n?.lastError,initialAttentionLevels:q,attentionZones:l}),w=(0,e.useMemo)(()=>b?r.filter(a=>a.projectId===b):r,[r,b]),A=(0,e.useMemo)(()=>f.map(a=>a.sessionPrefix??a.id),[f]),F=(0,e.useMemo)(()=>r.filter(a=>(0,K.tT)(a,f.find(b=>b.id===a.projectId)?.sessionPrefix??a.projectId,A)).map(a=>({id:a.id,projectId:a.projectId})),[r,f,A]),L=n?.status==="disconnected"?"disconnected":n?.status==="connected"?"connected":"reconnecting",M=v??(m&&t?void 0:m),N=(0,h.useSearchParams)(),T=(0,h.useRouter)(),U=(0,e.useRef)(T);U.current=T;let W=N.get("session")??void 0,[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(k??R),[_,aa]=(0,e.useState)([]),[ab,ac]=(0,e.useState)({}),ad=(0,i.U)(i.D),ae=(0,I.V)(),af=null!==ae,[ag,ah]=(0,e.useState)(!1),[ai,aj]=(0,e.useState)(!1),ak=(0,e.useCallback)(()=>{if(af&&ae)return void ae.onToggleSidebar();ad?aj(a=>!a):ah(a=>!a)},[ad,af,ae]),[al,am]=(0,e.useState)(()=>new Set(["done","working"])),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)("preview"),ar=N.get("debug"),as=!ad&&("1"===ar||"true"===ar),{showToast:at}=(0,C.d)(),[au,av]=(0,e.useState)(!1),aw=(0,e.useRef)(r);aw.current=r;let ax=f.length>1&&void 0===b,ay=b?(0,p.bn)(b):"/?project=all",az=(0,p.nF)(b),aA=(0,e.useMemo)(()=>b?Z.find(a=>a.projectId===b)??null:null,[Z,b]),aB=aA?(0,p.Nc)(aA.projectId,aA.id):null,aC=!ax&&!!b&&f.some(a=>a.id===b&&!a.resolveError)&&!aB,aD=b?f.find(a=>a.id===b)??null:null,aE=!!b&&_.includes(b),aF=b?ab[b]??null:null,aG=(0,e.useMemo)(()=>ax||!W?w:w.filter(a=>a.id===W),[w,ax,W]),aH=(0,e.useMemo)(()=>{let a={merge:[],action:[],respond:[],review:[],pending:[],working:[],done:[]};for(let b of aG)a[(0,j.ng)(b,l)].push(b);return a},[aG,l]),aI=(0,e.useMemo)(()=>{let a=new Map;for(let b of r){let c=a.get(b.projectId);if(c){c.push(b);continue}a.set(b.projectId,[b])}return a},[r]),aJ=(0,e.useMemo)(()=>ax?f.map(a=>{let b=aI.get(a.id)??[],c={merge:0,action:0,respond:0,review:0,pending:0,working:0,done:0};for(let a of b)c[(0,j.ng)(a,l)]++;return{project:a,orchestrator:Z.find(b=>b.projectId===a.id)??null,sessionCount:b.length,openPRCount:b.filter(a=>a.pr?.state==="open").length,counts:c}}):[],[Z,ax,l,f,aI]),aK=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/kill`,{method:"POST"});if(b.ok)at("Session terminated","success");else{let c=await b.text();console.error(`Failed to kill ${a}:`,c),at(`Terminate failed: ${c}`,"error")}}catch(b){console.error(`Network error killing ${a}:`,b),at("Network error while terminating session","error")}},[at]),aL=(0,e.useCallback)(a=>{let b=aw.current.find(b=>b.id===a)??null;b&&aK(b.id)},[aK]),aM=(0,e.useCallback)(a=>{ao(a),aq("preview")},[]),aN=(0,e.useCallback)(()=>{aq("confirm-kill")},[]),aO=(0,e.useCallback)(()=>{ao(null),aq("preview")},[]),aP=(0,e.useCallback)(()=>{an&&aK(an.id),ao(null),aq("preview")},[an,aK]),aQ=(0,e.useCallback)(async(a,b,c)=>{try{let d=new URLSearchParams;b&&d.set("owner",b),c&&d.set("repo",c);let e=d.size>0?`?${d.toString()}`:"",f=await fetch(`/api/prs/${a}/merge${e}`,{method:"POST"});if(f.ok)at(`PR #${a} merged`,"success");else{let b=await f.text();console.error(`Failed to merge PR #${a}:`,b),at(`Merge failed: ${b}`,"error");return}}catch(b){console.error(`Network error merging PR #${a}:`,b),at("Network error while merging PR","error")}},[at]),aR=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/restore`,{method:"POST"});if(b.ok)at("Session restored","success"),U.current.refresh();else{let c=await b.text();console.error(`Failed to restore ${a}:`,c),at(`Restore failed: ${c}`,"error")}}catch(b){console.error(`Network error restoring ${a}:`,b),at("Network error while restoring session","error")}},[at]),aS=async a=>{aa(b=>b.includes(a.id)?b:[...b,a.id]),ac(({[a.id]:b,...c})=>c);try{let b=await fetch("/api/orchestrators",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a.id})}),c=await b.json().catch(()=>null);if(!b.ok||!c?.orchestrator)throw Error(c?.error??`Failed to spawn orchestrator for ${a.name}`);let d=c.orchestrator;$(b=>{let c=b.filter(b=>b.projectId!==a.id);return c.push(d),c})}catch(c){let b=c instanceof Error?c.message:"Failed to spawn orchestrator";ac(c=>({...c,[a.id]:b})),console.error(`Failed to spawn orchestrator for ${a.id}:`,c)}finally{aa(b=>b.filter(b=>b!==a.id))}},aT=o.some(a=>aH[a].length>0),aU=!ax&&!aT&&!M,aV=M?(0,d.jsxs)("div",{className:"dashboard-alert mb-6 flex flex-col gap-1.5 border border-[color-mix(in_srgb,var(--color-status-error)_28%,transparent)] bg-[color-mix(in_srgb,var(--color-status-error)_10%,transparent)] px-3.5 py-2.5 text-[11px] md:mb-4",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("span",{className:"font-semibold text-[var(--color-status-error)]",children:"Orchestrator failed to load"}),(0,d.jsx)("span",{className:"break-words text-[var(--color-text-secondary)]",children:M}),(0,d.jsxs)("span",{className:"text-[var(--color-text-secondary)]",children:["Confirm ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"agent-orchestrator.yaml"})," exists and is valid, then run ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"athene doctor"})," for diagnostics."]})]}):null,aW=(0,e.useMemo)(()=>r.some(a=>a.pr&&(0,j.fZ)(a.pr)),[r]),aX=c??(ax?"All projects":"Dashboard"),aY=!ax&&aX.trim().length>0,aZ=a=>{am(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},a$=(0,d.jsxs)("div",{className:"dashboard-main--desktop",children:[(0,d.jsxs)("header",{className:"dashboard-app-header",children:[ad?(0,d.jsx)("button",{type:"button",className:"dashboard-app-sidebar-toggle",onClick:ak,"aria-label":"Toggle sidebar",children:(0,d.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})})}):null,aY?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"dashboard-app-header__sep topbar-desktop-only","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"topbar-project-pills-group",children:[(0,d.jsxs)("div",{className:"topbar-project-line",children:[(0,d.jsx)("span",{className:"dashboard-app-header__project",children:aX}),(0,d.jsxs)("nav",{className:"workspace-mode-switch","aria-label":"Workspace mode",children:[(0,d.jsx)(g(),{href:ay,className:"workspace-mode-switch__item workspace-mode-switch__item--active","aria-current":"page",children:"Coding"}),(0,d.jsx)(g(),{href:az,className:"workspace-mode-switch__item",children:"Reviews"})]})]}),!ax&&w.length>0?(0,d.jsxs)("div",{className:"topbar-session-pills",children:[aH.working.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--active",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--working"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aH.working.length," working"]})]}):null,aH.merge.length+aH.action.length+aH.respond.length+aH.review.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--waiting-for-input",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--attention"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aH.merge.length+aH.action.length+aH.respond.length+aH.review.length," ","need attention"]})]}):null]}):null]})]}):null,(0,d.jsx)("div",{className:"dashboard-app-header__spacer"}),(0,d.jsxs)("div",{className:"dashboard-app-header__actions",children:[as?(0,d.jsx)(G,{projectId:b}):null,(0,d.jsx)(H.e,{}),!ax&&aB?(0,d.jsxs)(g(),{href:aB,className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Orchestrator",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Orchestrator"]}):aC&&aD?(0,d.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Spawn Orchestrator",onClick:()=>void aS(aD),disabled:aE,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),aE?"Spawning...":"Spawn Orchestrator"]}):null]})]}),(0,d.jsxs)("main",{className:"dashboard-main flex flex-col flex-1 min-h-0 overflow-hidden",children:[(0,d.jsx)(x.u,{attentionLevels:s,projectName:c}),(0,d.jsxs)("div",{className:"dashboard-main__subhead",children:[(0,d.jsx)("h1",{className:"dashboard-main__title",children:"Board"}),(0,d.jsx)("p",{className:"dashboard-main__subtitle",children:"Live agent sessions flowing from work → review → merge."})]}),(0,d.jsxs)("div",{className:"dashboard-main__body",children:[aV,aW&&!X&&(0,d.jsxs)("div",{className:"dashboard-alert mb-4 flex items-center gap-2.5 border border-[color-mix(in_srgb,var(--color-status-attention)_25%,transparent)] bg-[var(--color-tint-yellow)] px-3.5 py-2.5 text-[11px] text-[var(--color-status-attention)]",children:[(0,d.jsxs)("svg",{className:"h-3.5 w-3.5 shrink-0",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),(0,d.jsx)("span",{className:"flex-1",children:"GitHub API rate limited — PR data (CI status, review state, sizes) may be stale. Will retry automatically on next refresh."}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"ml-1 shrink-0 opacity-60 hover:opacity-100","aria-label":"Dismiss",children:(0,d.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),ax&&(0,d.jsx)(V,{overviews:aJ,onSpawnOrchestrator:aS,spawningProjectIds:_,spawnErrors:ab,attentionZones:l}),!ax&&aT&&(0,d.jsx)("div",{className:"kanban-board-wrap",children:(0,d.jsx)("div",{className:"kanban-board","data-columns":o.length,style:{"--kanban-column-count":o.length},children:o.map(a=>(0,d.jsx)(u,{level:a,sessions:aH[a],onKill:aL,onRestore:aR,compactMobile:ad,collapsed:ad&&al.has(a),onToggle:ad?aZ:void 0,onPreview:ad?aM:void 0},a))})}),aU?(0,d.jsx)(B,{orchestratorHref:aB,onSpawnOrchestrator:aC&&aD?()=>{aS(aD)}:null,spawnLabel:aE?"Spawning...":"Spawn Orchestrator",spawnDisabled:aE}):null,!ax&&aF?(0,d.jsx)("p",{className:"mt-3 text-[11px] text-[var(--color-status-error)]",children:aF}):null,!ax&&aH.done.length>0&&(0,d.jsxs)("div",{className:"done-bar mt-6",children:[(0,d.jsxs)("button",{type:"button",className:"done-bar__toggle",onClick:()=>av(a=>!a),"aria-expanded":au,children:[(0,d.jsx)("svg",{className:`done-bar__chevron${au?" done-bar__chevron--open":""}`,fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"m9 18 6-6-6-6"})}),(0,d.jsx)("span",{className:"done-bar__label",children:"Done / Terminated"}),(0,d.jsx)("span",{className:"done-bar__count",children:aH.done.length})]}),au&&(0,d.jsx)("div",{className:"done-bar__cards",children:aH.done.map(a=>(0,d.jsx)(S,{session:a,onRestore:aR},a.id))})]})]})]})]}),a_=(0,d.jsx)(O,{session:an,mode:ap,onCancel:aO,onConfirm:aP,onRequestKill:aN,onMerge:aQ,isMergeReady:!!an&&"merge"===s[an.id]});return af?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(E,{}),(0,d.jsx)(D,{status:L}),a$,a_]}):(0,d.jsxs)(I.I.Provider,{value:{onToggleSidebar:ak,mobileSidebarOpen:ai},children:[(0,d.jsx)(E,{}),(0,d.jsx)(D,{status:L}),(0,d.jsx)("div",{className:"dashboard-app-shell",children:(0,d.jsxs)("div",{className:`dashboard-shell--desktop${ag?" dashboard-shell--sidebar-collapsed":""}`,children:[(0,d.jsx)("div",{className:`sidebar-wrapper${ai?" sidebar-wrapper--mobile-open":""}`,children:(0,d.jsx)(J.u,{projects:f,sessions:r,orchestrators:F,activeProjectId:b,activeSessionId:W,loading:!t,collapsed:ag,onToggleCollapsed:()=>ah(a=>!a),onMobileClose:()=>aj(!1)})}),ai&&(0,d.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>aj(!1)}),a$]})}),a_]})}function U(a){return(0,d.jsx)(C.t,{children:(0,d.jsx)(T,{...a})})}function V({overviews:a,onSpawnOrchestrator:b,spawningProjectIds:c,spawnErrors:e,attentionZones:f}){return(0,d.jsx)("div",{className:"mb-8 grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:a.map(({project:a,orchestrator:h,sessionCount:i,openPRCount:j,counts:k})=>(()=>{let l=!!a.resolveError,m=(0,p.bn)(a.id);return(0,d.jsxs)("section",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] p-4",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--color-text-primary)]",children:a.name}),(0,d.jsx)("div",{className:"mt-1 text-[11px] text-[var(--color-text-muted)]",children:l?"Config needs repair":(0,d.jsxs)(d.Fragment,{children:[i," active session",1!==i?"s":"",j>0?` \xb7 ${j} open PR${1!==j?"s":""}`:""]})})]}),(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Open project"})]}),(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,d.jsx)(W,{label:"Merge",value:k.merge,tone:"ready"}),"detailed"===f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(W,{label:"Respond",value:k.respond,tone:"error"}),(0,d.jsx)(W,{label:"Review",value:k.review,tone:"orange"})]}):(0,d.jsx)(W,{label:"Action",value:k.action,tone:"orange"}),(0,d.jsx)(W,{label:"Pending",value:k.pending,tone:"attention"}),(0,d.jsx)(W,{label:"Working",value:k.working,tone:"working"})]}),(0,d.jsxs)("div",{className:"border-t border-[var(--color-border-subtle)] pt-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)("div",{className:"text-[11px] text-[var(--color-text-muted)]",children:l?"Project config could not be resolved":h?"Per-project orchestrator available":"No running orchestrator"}),l?(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-semibold text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Repair project"}):h?(0,d.jsxs)(g(),{href:(0,p.Nc)(h.projectId,h.id),className:"orchestrator-btn flex items-center gap-2 px-3 py-1.5 text-[11px] font-semibold hover:no-underline",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--color-accent)] opacity-80"}),"orchestrator"]}):(0,d.jsx)("button",{type:"button",onClick:()=>void b(a),disabled:c.includes(a.id),className:"orchestrator-btn px-3 py-1.5 text-[11px] font-semibold disabled:cursor-wait disabled:opacity-70",children:c.includes(a.id)?"Spawning...":"Spawn Orchestrator"})]}),e[a.id]?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--color-status-error)]",children:e[a.id]}):null]})]},a.id)})())})}function W({label:a,value:b,tone:c}){return(0,d.jsxs)("div",{className:"min-w-[78px] border border-[var(--color-border-subtle)] px-2.5 py-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:a}),(0,d.jsx)("div",{className:"project-metric__value mt-1 text-[18px] font-semibold tabular-nums","data-tone":c,children:b})]})}}};
1
+ "use strict";exports.id=1215,exports.ids=[1215],exports.modules={13219:(a,b,c)=>{c.d(b,{Dashboard:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call Dashboard() from the server but Dashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/components/Dashboard.tsx","Dashboard")},31789:(a,b,c)=>{c.d(b,{Dashboard:()=>W});var d=c(33666),e=c(81115),f=c(47489),g=c.n(f),h=c(50436),i=c(52754),j=c(37155),k=c(85489),l=c(61875),m=c(37611),n=c(97683),o=c(82732),p=c(37501),q=c(88950),r=c(84849);function s({slot:a,name:b}){return(0,d.jsxs)("span",{className:"session-card__project-chip",title:b,children:[(0,d.jsx)("span",{className:(0,k.cn)("session-card__project-dot shrink-0 rounded-full",(0,r.A_)(a)),"aria-hidden":"true"}),(0,d.jsx)("span",{className:"session-card__project-name",children:b})]})}function t({session:a,onRestore:b,projectAccent:c}){let[f,g]=(0,e.useState)(!1),h=a.pr,i=!!h&&(0,j.fZ)(h),m=!!h&&(0,j.sZ)(h),n=(0,j.wy)(a),r=(0,l.Pn)(a),t=function(a){let b=a.activity,c=a.status,e=a.lifecycle?.prState??a.pr?.state;return"merged"===e||"merged"===c?{label:"merged",pillClass:"done-status-pill--merged",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M20 6 9 17l-5-5"})})}:"closed"===e?{label:"closed",pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}:a.lifecycle?.sessionState==="terminated"||"killed"===c||"terminated"===c?{label:(0,j.Ou)(a),pillClass:"done-status-pill--killed",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})}:{label:"exited"===b?"exited":(0,j.Ou)(a),pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}}(a);return(0,d.jsxs)("div",{className:(0,k.cn)("session-card-done",f&&"done-expanded"),onClick:a=>{a.target.closest("a, button, textarea")||g(!f)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-3 pb-1.5",children:[(0,d.jsxs)("span",{className:(0,k.cn)("done-status-pill",t.pillClass),children:[t.icon,t.label]}),(0,d.jsx)("span",{className:"font-[var(--font-mono)] text-[10px] tracking-wide text-[var(--color-text-muted)]",children:a.id}),c?(0,d.jsx)(s,{slot:c.slot,name:c.name}):null,(0,d.jsx)("div",{className:"flex-1"}),n&&(0,d.jsxs)("button",{onClick:c=>{c.stopPropagation(),b?.(a.id)},className:"done-card__restore",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("polyline",{points:"1 4 1 10 7 10"}),(0,d.jsx)("path",{d:"M3.51 15a9 9 0 1 0 2.13-9.36L1 10"})]}),"restore"]})]}),(0,d.jsx)("div",{className:"px-3.5 pb-2",children:(0,d.jsx)("p",{className:"session-card-done__title text-[13px] font-semibold leading-snug [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:r})}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3.5 pb-3",children:[a.branch&&(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-2.5 w-2.5 opacity-50",children:[(0,d.jsx)("path",{d:"M6 3v12M18 9a3 3 0 0 1-3 3H9a3 3 0 0 0-3 3"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"3"})]}),a.branch]}),h&&(0,d.jsxs)("a",{href:h.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-bold text-[var(--color-text-primary)] no-underline underline-offset-2 hover:underline",children:["#",h.number]}),h&&!i&&(m?(0,d.jsx)("span",{className:"inline-block h-[14px] w-16 animate-pulse rounded-full bg-[var(--color-bg-subtle)]"}):(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",h.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",h.deletions]})," ",(0,p.i_)(h.additions,h.deletions),(0,d.jsx)("span",{className:"sr-only",children:`+${h.additions} -${h.deletions} ${(0,p.i_)(h.additions,h.deletions)}`})]})),(0,d.jsx)("a",{href:(0,q.Nc)(a.projectId,a.id),onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-semibold text-[var(--color-accent)] no-underline hover:underline",children:"View current context"})]}),f&&(0,d.jsxs)("div",{className:"done-expand-section px-3.5 py-3",children:[a.summary&&h?.title&&a.summary!==h.title&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h10"})}),"Summary"]}),(0,d.jsx)("p",{className:"text-[12px] leading-relaxed text-[var(--color-text-secondary)]",children:a.summary})]}),a.issueUrl&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),"Issue"]}),(0,d.jsxs)("a",{href:a.issueUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"text-[12px] text-[var(--color-accent)] hover:underline",children:[a.issueLabel||a.issueUrl,a.issueTitle&&`: ${a.issueTitle}`]})]}),h&&h.ciChecks.length>0&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M9 12l2 2 4-4"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"})]}),"CI Checks"]}),(0,d.jsx)(o.zm,{checks:h.ciChecks})]}),h&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4"}),(0,d.jsx)("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),"PR"]}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--color-text-secondary)]",children:[(0,d.jsx)("a",{href:h.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"hover:underline",children:h.title}),m?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2 text-[10px] text-[var(--color-text-muted)]",children:[(0,d.jsx)("span",{className:"inline-block h-3 w-12 animate-pulse rounded bg-[var(--color-bg-subtle)]"}),(0,d.jsx)("span",{children:"PR details loading..."})]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",h.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",h.deletions]})]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["mergeable: ",h.mergeability.mergeable?"yes":"no"]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["review: ",h.reviewDecision]})]})]})]})]}),!h&&(0,d.jsx)("p",{className:"text-[12px] text-[var(--color-text-tertiary)]",children:"No PR associated with this session."})]})]})}let u=new Set,v=(0,e.memo)(function({session:a,onKill:b,onMerge:c,onRestore:f,projectAccent:g}){var h;let[i,o]=(0,e.useState)(!1),[p]=(0,e.useState)(()=>u.has(a.id)),v=(0,j.ng)(a),w=a.pr,x=a.prs??[],y=new Set(x.map(a=>a.repo)).size>1,[z,A]=(0,e.useState)(0),B=Math.min(z,Math.max(0,x.length-1)),C=x.length>1?x[B]??w:w,D=x.length>1?C:w,E=!!D&&(0,j.fZ)(D),F=!!D&&(0,j.sZ)(D),G=!E&&D?.mergeability.mergeable&&"open"===D.state,H=(0,j.nH)(a),I=(0,j.wy)(a),J=(0,l.Pn)(a),K=function(a,b,c,d){let e=a.pr;if(!e)return a.lifecycle?.sessionState==="detecting"?{text:"detecting…",tone:void 0}:{text:"no PR yet",tone:void 0};if(c)return{text:"PR data rate limited",tone:void 0};if(d)return{text:"loading…",tone:void 0};if(e.ciStatus===j.U1.FAILING||a.lifecycle?.prReason==="ci_failing"||"ci_failed"===a.status){let a=e.ciChecks.filter(a=>"failed"===a.status).length;return{text:a>0?`${a} check${1===a?"":"s"} failed`:"CI failed",tone:"fail"}}return"changes_requested"===e.reviewDecision?{text:"changes requested",tone:"amber"}:e.unresolvedThreads>0?{text:`${e.unresolvedThreads} comment${1===e.unresolvedThreads?"":"s"}`,tone:"amber"}:b&&"approved"===e.reviewDecision?{text:"approved",tone:"green"}:e.ciStatus===j.U1.PASSING?{text:"CI passed",tone:"green"}:e.ciStatus===j.U1.PENDING?{text:"CI running",tone:void 0}:{text:"review pending",tone:void 0}}(a,!!G,E,F);return(0,j.dG)(a)||"done"===v?(0,d.jsx)(t,{session:a,onRestore:f,projectAccent:g}):(0,d.jsxs)("div",{className:(0,k.cn)("session-card border",!p&&"kanban-card-enter",g&&"border-l-2",g&&(0,r.$Z)(g.slot)),children:[(0,d.jsxs)("div",{className:"session-card__header",children:[(0,d.jsx)(m.W,{session:a}),g?(0,d.jsx)(s,{slot:g.slot,name:g.name}):null,(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"card__id",children:a.id}),I&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"session-card__control session-card__restore-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M20 11a8 8 0 0 0-14.9-3.98"}),(0,d.jsx)("path",{d:"M4 5v4h4"}),(0,d.jsx)("path",{d:"M4 13a8 8 0 0 0 14.9 3.98"}),(0,d.jsx)("path",{d:"M20 19v-4h-4"})]}),"restore"]}),!H&&(0,d.jsxs)("a",{href:(0,q.$l)(a.projectId,a.id,"#session-terminal-section"),onClick:a=>a.stopPropagation(),className:"session-card__terminal-link",children:[(0,d.jsxs)("svg",{className:"session-card__terminal-link-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"m4 17 6-6-6-6"}),(0,d.jsx)("path",{d:"M12 19h8"})]}),"terminal"]})]}),(0,d.jsxs)("div",{className:"session-card__body flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)("div",{className:"card__title-wrap",children:(0,d.jsx)("p",{className:"card__title",children:J})}),(0,d.jsxs)("div",{className:"card__meta",children:[a.branch&&(0,d.jsx)("span",{className:"card__branch",children:a.branch}),1===x.length&&(0,d.jsxs)(d.Fragment,{children:[a.branch&&(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}),(0,d.jsxs)("a",{href:x[0].url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:(0,k.cn)("inline-block h-1.5 w-1.5 shrink-0 rounded-full",(h=x[0]).enriched?"merged"===h.state?"bg-[var(--color-status-merge)]":"closed"===h.state?"bg-[var(--color-text-muted)]":"failing"===h.ciStatus||"changes_requested"===h.reviewDecision?"bg-[var(--color-status-error)]":h.isDraft?"bg-[var(--color-text-muted)]":"passing"===h.ciStatus?"bg-[var(--color-status-merge)]":"pending"===h.ciStatus?"bg-[var(--color-status-pending)]":"bg-[var(--color-text-tertiary)] opacity-30":"bg-[var(--color-text-tertiary)] opacity-30")}),"#",x[0].number]})]})]}),x.length>1&&(0,d.jsx)("div",{className:"px-[10px] pb-[5px] flex flex-col gap-[2px]",children:x.map((a,b)=>{let c=a.enriched?"merged"===a.state?"merged":"closed"===a.state?"closed":"failing"===a.ciStatus?"CI failing":"changes_requested"===a.reviewDecision?"changes requested":a.isDraft?"draft":"approved"===a.reviewDecision?"approved":"passing"===a.ciStatus?"needs review":"pending"===a.ciStatus?"CI running":"":"",e=b===B;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:(0,k.cn)("flex items-center gap-1.5 min-w-0 rounded px-1 -mx-1 cursor-pointer transition-colors",e?"bg-[var(--color-bg-subtle)] border-l-2 border-[var(--color-accent)] pl-[2px]":"hover:bg-[var(--color-bg-subtle)] border-l-2 border-transparent pl-[2px]"),onClick:a=>{a.stopPropagation(),A(b)},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.stopPropagation(),A(b))},children:[y&&(0,d.jsx)("span",{className:"shrink-0 font-[var(--font-mono)] text-[9px] text-[var(--color-text-tertiary)] bg-[var(--color-bg-subtle)] px-1 py-0.5 rounded leading-none",children:a.repo.split("-").map(a=>a[0]?.toUpperCase()??"").join("").slice(0,3)}),(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>{a.stopPropagation(),A(b)},className:(0,k.cn)("shrink-0 inline-flex items-center font-[var(--font-mono)] text-[10px] font-bold px-1.5 py-0.5 rounded leading-none no-underline",a.enriched?"merged"===a.state?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"closed"===a.state?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"failing"===a.ciStatus||"changes_requested"===a.reviewDecision?"bg-[color-mix(in_srgb,var(--color-status-error)_15%,transparent)] text-[var(--color-status-error)]":a.isDraft?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"passing"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"pending"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-pending)_15%,transparent)] text-[var(--color-status-pending)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]"),children:["#",a.number]}),a.title?(0,d.jsx)("span",{className:"flex-1 truncate text-[11px] text-[var(--color-text-secondary)]",title:a.title,children:a.title}):(0,d.jsx)("span",{className:"flex-1"}),a.enriched&&(0,d.jsxs)("span",{className:"shrink-0 font-[var(--font-mono)] text-[10px]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-merge)]",children:["+",a.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",a.deletions]})]}),c&&"needs review"!==c&&(0,d.jsxs)("span",{className:"shrink-0 text-[10px] text-[var(--color-text-tertiary)]",children:["\xb7 ",c]})]},a.url)})}),(0,d.jsxs)("div",{className:"session-card__footer",children:[(0,d.jsxs)("div",{className:"session-card__footer-info",children:[w?(0,d.jsxs)("a",{href:w.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr",children:["PR #",w.number]}):null,w&&K?(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}):null,K?(0,d.jsx)("span",{className:"session-card__footer-detail","data-tone":K.tone,children:K.text}):null,(0,d.jsx)(n.H,{contextWindow:a.contextWindow})]}),(0,d.jsxs)("div",{className:"session-card__footer-actions",children:[G&&D?(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),c?.(D.number,D.owner,D.repo)},className:"session-card__control session-card__merge-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"6",cy:"6",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"18",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"2"}),(0,d.jsx)("path",{d:"M8 6h5a3 3 0 0 1 3 3v7"})]}),"Merge PR #",D.number]}):null,H?null:(0,d.jsx)("button",{onClick:c=>{if(c.stopPropagation(),!i)return void o(!0);o(!1),b?.(a.id)},onMouseLeave:()=>o(!1),onBlur:()=>o(!1),"aria-label":i?"Confirm terminate session":"Terminate session",className:(0,k.cn)("session-card__control session-card__terminate btn--danger",i&&"is-confirming"),children:i?(0,d.jsx)("span",{className:"font-mono text-[10px] font-semibold tracking-[0.04em]",children:"kill?"}):(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"})]})})]})]})]})]})},function(a,b){return a.session===b.session&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore}),w={merge:{label:"Ready to merge",emptyMessage:"Nothing cleared to land yet."},action:{label:"Needs you",emptyMessage:"No agents need your input."},respond:{label:"Needs you",emptyMessage:"No agents need your input."},review:{label:"Review",emptyMessage:"No code waiting for review."},pending:{label:"In review",emptyMessage:"Nothing blocked."},working:{label:"Working",emptyMessage:"No agents running."},done:{label:"Done",emptyMessage:"No completed sessions."}},x=(0,e.memo)(function({level:a,sessions:b,onKill:c,onMerge:f,onRestore:g,collapsed:h,onToggle:i,compactMobile:j,onPreview:k,resetKey:l,resolveProjectAccent:m}){let n=w[a],o=void 0!==i,[p,q]=(0,e.useState)(!1),r=o&&j&&!p?b.slice(0,5):b,s=b.length-r.length;return o?(0,d.jsxs)("div",{className:`accordion-section${h?" accordion-section--collapsed":" accordion-section--expanded"}`,"data-level":a,children:[(0,d.jsxs)("button",{type:"button",className:"accordion-header",onClick:()=>i(a),"aria-expanded":!h,"aria-controls":`accordion-body-${a}`,children:[(0,d.jsx)("span",{className:"accordion-header__dot","data-level":a}),(0,d.jsx)("span",{className:"accordion-header__label",children:n.label}),(0,d.jsx)("span",{className:"accordion-header__count",children:b.length}),(0,d.jsx)("span",{className:"accordion-header__chevron","aria-hidden":"true",children:"▶"})]}),(0,d.jsx)("div",{id:`accordion-body-${a}`,className:"accordion-body",children:b.length>0?(0,d.jsxs)("div",{className:j?"mobile-session-list":"flex flex-col gap-2 p-3",children:[r.map(b=>j?(0,d.jsx)(y,{session:b,level:a,onPreview:k},b.id):(0,d.jsx)(v,{session:b,onKill:c,onMerge:f,onRestore:g,projectAccent:m?.(b.projectId)},b.id)),j&&s>0?(0,d.jsxs)("button",{type:"button",className:"mobile-session-list__view-all",onClick:()=>q(!0),children:["View all ",b.length]}):null]}):j?(0,d.jsx)("div",{className:"mobile-session-list",children:(0,d.jsx)("div",{className:"mobile-session-list__empty",children:n.emptyMessage})}):null})]}):(0,d.jsxs)("div",{className:"kanban-column","data-level":a,children:[(0,d.jsx)("div",{className:"kanban-column__header",children:(0,d.jsxs)("div",{className:"kanban-column__title-row",children:[(0,d.jsx)("div",{className:"kanban-column__dot","data-level":a}),(0,d.jsx)("span",{className:"kanban-column__title",children:n.label}),(0,d.jsx)("span",{className:"kanban-column__count",children:b.length})]})}),(0,d.jsx)("div",{className:"kanban-column-body",children:b.length>0?(0,d.jsx)("div",{className:"kanban-column__stack",children:b.map(a=>(0,d.jsx)(v,{session:a,onKill:c,onMerge:f,onRestore:g,projectAccent:m?.(a.projectId)},a.id))}):null})]})},function(a,b){return a.level===b.level&&a.collapsed===b.collapsed&&a.onToggle===b.onToggle&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore&&a.compactMobile===b.compactMobile&&a.onPreview===b.onPreview&&a.resetKey===b.resetKey&&a.sessions.length===b.sessions.length&&a.sessions.every((a,c)=>a===b.sessions[c])});function y({session:a,level:b,onPreview:c}){let e=[a.branch,a.pr?`PR #${a.pr.number}`:null,a.issueLabel].filter(Boolean);return(0,d.jsxs)("div",{className:"mobile-session-row",children:[(0,d.jsxs)("button",{type:"button",className:"mobile-session-row__preview",onClick:()=>c?.(a),"aria-label":`Open ${(0,l.Pn)(a)}`,children:[(0,d.jsxs)("div",{className:"mobile-session-row__line",children:[(0,d.jsx)("span",{className:"mobile-session-row__dot","data-level":b,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mobile-session-row__title",children:(0,l.Pn)(a)})]}),(0,d.jsx)("div",{className:"mobile-session-row__meta",children:e.length>0?e.join(" \xb7 "):"No branch or PR metadata"})]}),(0,d.jsxs)("div",{className:"mobile-session-row__side",children:[(0,d.jsx)(z,{session:a,level:b}),(0,d.jsx)("a",{href:(0,q.Nc)(a.projectId,a.id),className:"mobile-session-row__open","aria-label":`Go to ${(0,l.Pn)(a)}`,children:(0,d.jsxs)("svg",{className:"mobile-session-row__open-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 17V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z"}),(0,d.jsx)("path",{d:"m8 10 2 2-2 2M12 14h4"})]})})]})]})}function z({session:a,level:b}){let c=w[b].label.toLowerCase(),e=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return"merge"===b&&e.length>0&&e.every(a=>(0,j.QN)(a))?c="ready":"action"===b?c=function(a){if("needs_input"===a.status)return"needs input";if("stuck"===a.status)return"stuck";if("errored"===a.status)return"errored";if("waiting_input"===a.activity)return"waiting";if("exited"===a.activity)return"crashed";if("blocked"===a.activity)return"blocked";if("ci_failed"===a.status)return"ci failed";if("changes_requested"===a.status)return"changes";let b=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return b.some(a=>"failing"===a.ciStatus)?"ci failed":b.some(a=>"changes_requested"===a.reviewDecision)?"changes":b.some(a=>!a.mergeability.noConflicts)?"conflicts":"action"}(a):"respond"===b?c="waiting_input"===a.activity?"waiting":"needs input":"review"===b?c=e.some(a=>"changes_requested"===a.reviewDecision)?"changes":"review":"pending"===b?c=e.some(a=>a.unresolvedThreads)?"threads":"pending":"working"===b&&(c="idle"===a.activity?"idle":"active"),(0,d.jsx)("span",{className:"mobile-session-row__chip",children:c})}var A=c(18768),B=c(20057),C=c(58976);let D=["Working","Needs you","In review","Ready to merge"];function E({message:a,orchestratorHref:b,onSpawnOrchestrator:c=null,spawnLabel:e="Spawn Orchestrator",spawnDisabled:f=!1}){return(0,d.jsxs)("div",{className:"board-wrapper",children:[(0,d.jsx)("div",{className:"kanban-ghost","aria-hidden":"true",children:D.map(a=>(0,d.jsx)("div",{className:"kanban-ghost__col",children:(0,d.jsx)("div",{className:"kanban-ghost__head",children:a})},a))}),(0,d.jsx)("div",{className:"board-center",children:(0,d.jsxs)("div",{className:"empty-state",role:"status",children:[(0,d.jsx)("div",{className:"empty-state__icon",children:(0,d.jsxs)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5.5",r:"2.5",fill:"color-mix(in srgb, var(--color-accent) 18%, transparent)",stroke:"var(--color-accent)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"5.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"18.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"6.7",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"17.3",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"7.8",y1:"17",x2:"16.2",y2:"17",stroke:"var(--color-border-subtle)",strokeWidth:"1",strokeDasharray:"2.5 2"})]})}),a?(0,d.jsx)("p",{className:"empty-state__text",children:a}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"empty-state__headline",children:"Ready to orchestrate"}),(0,d.jsx)("p",{className:"empty-state__hint",children:"Open the main orchestrator to start a session and fan out parallel agents across your codebase."}),b?(0,d.jsxs)("a",{href:b,className:"empty-state__cta",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Open Orchestrator"]}):c?(0,d.jsxs)("button",{type:"button",className:"empty-state__cta",onClick:c,disabled:f,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),e]}):null]})]})})]})}var F=c(71276);function G({status:a}){return"connected"===a?null:"disconnected"===a?(0,d.jsx)("button",{type:"button",className:"connection-bar connection-bar--disconnected","aria-live":"assertive","aria-atomic":"true",onClick:()=>window.location.reload(),children:"Offline \xb7 tap to retry"}):(0,d.jsx)("div",{className:"connection-bar connection-bar--reconnecting",role:"status","aria-live":"polite","aria-atomic":"true",children:"Reconnecting…"})}function H(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)("idle"),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null),k=(0,e.useCallback)(()=>{if(a?.latest){try{window.localStorage.setItem("ao.updateBanner.dismissedFor",a.latest)}catch{}j(a.latest),f("idle"),h(null)}},[a]),l=(0,e.useCallback)(async()=>{f("starting"),h(null);try{let a=await fetch("/api/update",{method:"POST"}),b=await a.json();if(a.ok)return void f("started");if(409===a.status){f("blocked"),h(b.message);return}f("error"),h(b.message??"Update failed")}catch(a){f("error"),h(a instanceof Error?a.message:String(a))}},[]);if(!a||!a.isOutdated||!a.latest||"manual"===a.channel||i===a.latest&&"idle"===c||"started"===c)return null;let m="nightly"===a.channel?" (nightly)":"";return(0,d.jsxs)("div",{role:"status","aria-live":"polite",className:"flex w-full items-center justify-between gap-3 border-b border-[var(--color-border-default)] bg-[var(--color-accent-amber-dim)] px-4 py-2 text-sm text-[var(--color-text-primary)]",children:[(0,d.jsxs)("div",{className:"flex flex-1 items-center gap-3",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:"inline-block h-2 w-2 flex-shrink-0 rounded-full bg-[var(--color-accent-amber)]"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,d.jsxs)("span",{className:"font-medium",children:["Update available",m,": ",a.current," → ",a.latest]}),"blocked"===c&&g||"error"===c&&g?(0,d.jsx)("span",{className:"text-xs text-[var(--color-status-error)]",children:g}):"starting"===c?(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Starting…"}):(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Click Update to install. The dashboard will restart."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>void l(),disabled:"starting"===c,className:"rounded-sm border border-[var(--color-accent-amber-border)] bg-[var(--color-accent-amber)] px-3 py-1 text-xs font-medium text-[var(--color-text-inverse)] hover:bg-[color-mix(in_srgb,var(--color-accent-amber)_85%,black)] disabled:cursor-wait disabled:opacity-60",children:"starting"===c?"Updating…":"Update"}),(0,d.jsx)("button",{type:"button",onClick:k,"aria-label":"Dismiss",className:"rounded-sm px-2 py-1 text-xs text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)]",children:"Dismiss"})]})]})}let I=[/\bBearer\s+[A-Za-z0-9._\-+/=]+\b/gi,/\bsk-[A-Za-z0-9]{10,}\b/g,/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g];function J({projectId:a}){let{showToast:b}=(0,F.d)(),[c,f]=(0,e.useState)(!1),g=(0,e.useCallback)(async()=>{if(!c){f(!0);try{let c,d=await fetch("/api/observability",{credentials:"same-origin"});if(!d.ok)return void b("Could not fetch observability snapshot","error");let e=d.headers.get("x-correlation-id");try{c=await d.json()}catch{b("Could not parse observability snapshot","error");return}let f=function a(b,c=new WeakSet){if("string"==typeof b)return I.reduce((a,b)=>a.replace(b,"[REDACTED]"),b);if(Array.isArray(b))return b.map(b=>a(b,c));if(b&&"object"==typeof b){if(c.has(b))return"[Circular]";c.add(b);let d={};for(let[e,f]of Object.entries(b))d[e]=a(f,c);return d}return b}(function(a,b){if(!b||!a||"object"!=typeof a)return a;let c={...a},d=c.projects;if(d&&"object"==typeof d&&!Array.isArray(d)){let a=d[b];c.projects=void 0===a?{}:{[b]:a}}return c}(c,a)),g={copiedAt:new Date().toISOString(),pageHref:`${window.location.origin}${window.location.pathname}`,projectId:a??null,correlationId:e,userAgent:navigator.userAgent,observability:f};await navigator.clipboard.writeText(JSON.stringify(g,null,2)),b("Debug bundle copied to clipboard","success")}catch{b("Could not copy debug bundle","error")}finally{f(!1)}}},[c,a,b]);return(0,d.jsx)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--icon",onClick:()=>void g(),disabled:c,title:"Copy debug bundle","aria-label":"Copy debug bundle for issue reports",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}var K=c(73660),L=c(70162),M=c(66647);function N(a){let b=Date.now(),c=Math.floor((b-new Date(a).getTime())/1e3);if(c<60)return`${c}s ago`;let d=Math.floor(c/60);if(d<60)return`${d}m ago`;let e=Math.floor(d/60);if(e<24)return`${e}h ago`;let f=Math.floor(e/24);return`${f}d ago`}function O(a){return a.replaceAll("_"," ")}function P(a){return null!==a}function Q({session:a,mode:b,onCancel:c,onConfirm:f,onRequestKill:g,onMerge:h,isMergeReady:i=!1}){let k=(0,e.useRef)(null),m=(0,e.useRef)(null);(0,e.useRef)(null);let n=a?.pr?.number??null;if(!a)return null;let o=(0,l.Pn)(a),p=(0,j.ng)(a),r=a.summary&&!a.summaryIsFallback?a.summary:null,s="done"!==p&&"merge"!==p&&!(0,j.y8)(a),t=a.pr,u=!!(t&&!(0,j.fZ)(t)&&!(0,j.sZ)(t)),v="done"===p||(0,j.nH)(a),w=[{label:O(p),tone:"accent"},{label:O(a.status),tone:"neutral"},a.activity?{label:O(a.activity),tone:"neutral"}:null,a.branch?{label:a.branch,tone:"mono"}:null,a.pr?{label:`PR #${a.pr.number}`,tone:"neutral"}:null,a.issueLabel?{label:a.issueLabel,tone:"neutral"}:null].filter(P);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"bottom-sheet-backdrop",onClick:c,"aria-hidden":"true"}),(0,d.jsxs)("div",{ref:m,className:"bottom-sheet",role:"dialog","aria-modal":"true","aria-labelledby":"bottom-sheet-title",onTouchStart:function(a){k.current=a.touches[0]?.clientY??null},onTouchEnd:function(a){if(null===k.current)return;let b=(a.changedTouches[0]?.clientY??0)-k.current;k.current=null,b>80&&c()},children:[(0,d.jsx)("div",{className:"bottom-sheet__handle","aria-hidden":"true"}),"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__header",children:[(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:"Terminate session?"}),(0,d.jsx)("p",{className:"bottom-sheet__subtitle",children:"This action cannot be undone."})]}),(0,d.jsxs)("div",{className:"bottom-sheet__session-info",children:[(0,d.jsx)("div",{className:"bottom-sheet__session-name",children:o}),(0,d.jsx)("div",{className:"bottom-sheet__session-meta",children:w.map(a=>(0,d.jsx)("span",{className:`bottom-sheet__tag bottom-sheet__tag--${a.tone}`,children:a.label},`${a.tone}-${a.label}`))}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-card",children:[(0,d.jsx)("div",{className:"bottom-sheet__preview-strip","data-level":p}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-content",children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-header",children:[(0,d.jsx)("span",{className:"bottom-sheet__preview-id",children:a.id}),(0,d.jsx)("span",{className:"bottom-sheet__preview-time",children:N(a.lastActivityAt)})]}),(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:o}),(0,d.jsxs)("p",{className:"bottom-sheet__subtitle",children:[O(p)," \xb7 started ",N(a.createdAt)]}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-meta",children:[a.branch?(0,d.jsx)("span",{className:"bottom-sheet__preview-branch",children:a.branch}):null,t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-pr",children:["#",t.number]}):null,u&&t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff",children:[(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-add",children:["+",t.additions]})," ",(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-del",children:["-",t.deletions]})]}):null]}),u&&t?(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:"passing"===t.ciStatus?"CI passing":"failing"===t.ciStatus?"CI failed":"CI pending"}),(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:"approved"===t.reviewDecision?"approved":"changes_requested"===t.reviewDecision?"changes requested":"needs review"}),v?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:O(a.status)}):null,v&&a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:O(a.activity)}):null]}):(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:O(a.status)}),a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:O(a.activity)}):null]})]})]}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]}),(0,d.jsx)("div",{className:"bottom-sheet__actions",children:"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--cancel",onClick:c,children:"Cancel"}),(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:f,children:"Terminate"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("a",{href:(0,q.Nc)(a.projectId,a.id),className:"bottom-sheet__btn bottom-sheet__btn--primary",children:"Open session"}),i&&a.pr&&h?(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--secondary",onClick:()=>{null!==n&&h(n,a.pr?.owner,a.pr?.repo)},children:"Merge"}):s&&g?(0,d.jsxs)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:g,children:[(0,d.jsxs)("svg",{className:"bottom-sheet__btn-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"}),(0,d.jsx)("path",{d:"M10 11v6M14 11v6"})]}),"Terminate"]}):null]})})]})]})}let R=["working","action","pending","merge"],S=["working","respond","review","pending","merge"],T=[];function U({session:a,onRestore:b,projectAccent:c}){let e=!a.summaryIsFallback&&a.summary||a.issueTitle||a.summary||a.id,f=a.pr?.state==="merged"||"merged"===a.status,g=(0,j.y8)(a),h=(0,j.wy)(a),i=`done-card__badge ${g?"done-card__badge--terminated":"done-card__badge--merged"}`;return(0,d.jsxs)("div",{className:"done-card",children:[(0,d.jsx)("p",{className:"done-card__title",children:e}),(0,d.jsxs)("div",{className:"done-card__meta",children:[(0,d.jsx)("span",{className:i,children:f?"merged":g?"terminated":"done"}),c?(0,d.jsx)(s,{slot:c.slot,name:c.name}):null,a.pr?(0,d.jsxs)("a",{href:a.pr.url,target:"_blank",rel:"noopener noreferrer",className:"done-card__pr",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("svg",{width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,d.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,d.jsx)("path",{d:"M6 9v3a6 6 0 0 0 6 6h3"})]}),"#",a.pr.number]}):null,(0,d.jsx)("span",{className:"done-card__age",children:function(a){if(!a)return"just now";let b=new Date(a).getTime();if(!Number.isFinite(b))return"just now";let c=Date.now()-b;if(c<=0)return"just now";let d=Math.floor(c/1e3),e=Math.floor(d/60),f=Math.floor(e/60),g=Math.floor(f/24);return d<60?`${d}s ago`:e<60?`${e}m ago`:f<24?`${f}h ago`:`${g}d ago`}(a.lastActivityAt)}),h?(0,d.jsx)("button",{type:"button",className:"done-card__restore",onClick:c=>{c.stopPropagation(),b(a.id)},children:"Restore"}):null]})]})}function V({initialSessions:a,projectId:b,projectName:c,projects:f=[],orchestrators:k,metaOrchestrators:l,sidebarOrchestrators:m,metaOwner:n,attentionZones:o="simple",dashboardLoadError:p}){let s=(0,C.eT)(),t="detailed"===o?S:R,u=(0,e.useMemo)(()=>{let b={};for(let c of a)b[c.id]=(0,j.ng)(c,o);return b},[a,o]),{sessions:v,attentionLevels:w,liveSessionsResolved:y,loadError:z}=(0,B.D)({initialSessions:a,muxSessions:s?.status==="connected"?s.sessions:void 0,muxLastError:s?.lastError,initialAttentionLevels:u,attentionZones:o}),D=(0,e.useMemo)(()=>n?v.filter(a=>a.metaOwner===n):b?v.filter(a=>a.projectId===b):v,[v,b,n]),I=(0,e.useMemo)(()=>{if(f.length<=1)return;let a=f.map(a=>a.id),b=new Map(f.map(a=>[a.id,a.name]));return c=>{let d=b.get(c);if(d)return{slot:(0,r.fQ)(c,a).slot,name:d}}},[f]),N=s?.status==="disconnected"?"disconnected":s?.status==="connected"?"connected":"reconnecting",O=z??(p&&y?void 0:p),P=(0,h.useSearchParams)(),V=(0,h.useRouter)(),W=(0,e.useRef)(V);W.current=V;let Y=P.get("session")??void 0,[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(k??T),[ab,ac]=(0,e.useState)([]),[ad,ae]=(0,e.useState)({}),af=(0,i.U)(i.D),ag=(0,L.V)(),ah=null!==ag,[ai,aj]=(0,e.useState)(!1),[ak,al]=(0,e.useState)(!1),am=(0,e.useCallback)(()=>{if(ah&&ag)return void ag.onToggleSidebar();af?al(a=>!a):aj(a=>!a)},[af,ah,ag]),[an,ao]=(0,e.useState)(()=>new Set(["done","working"])),[ap,aq]=(0,e.useState)(null),[ar,as]=(0,e.useState)("preview"),at=P.get("debug"),au=!af&&("1"===at||"true"===at),{showToast:av}=(0,F.d)(),[aw,ax]=(0,e.useState)(!1),ay=(0,e.useRef)(v);ay.current=v;let az=f.length>1&&void 0===b&&!n,aA=b?(0,q.bn)(b):"/?project=all",aB=(0,q.nF)(b),aC=(0,e.useMemo)(()=>b?_.find(a=>a.projectId===b)??null:null,[_,b]),aD=aC?(0,q.Nc)(aC.projectId,aC.id):null,aE=!az&&!!b&&f.some(a=>a.id===b&&!a.resolveError)&&!aD,aF=b?f.find(a=>a.id===b)??null:null,aG=!!b&&ab.includes(b),aH=b?ad[b]??null:null,aI=(0,e.useMemo)(()=>az||!Y?D:D.filter(a=>a.id===Y),[D,az,Y]),aJ=(0,e.useMemo)(()=>{let a={merge:[],action:[],respond:[],review:[],pending:[],working:[],done:[]};for(let b of aI)a[(0,j.ng)(b,o)].push(b);return a},[aI,o]),aK=(0,e.useMemo)(()=>{let a=new Map;for(let b of v){let c=a.get(b.projectId);if(c){c.push(b);continue}a.set(b.projectId,[b])}return a},[v]),aL=(0,e.useMemo)(()=>az?f.map(a=>{let b=aK.get(a.id)??[],c={merge:0,action:0,respond:0,review:0,pending:0,working:0,done:0};for(let a of b)c[(0,j.ng)(a,o)]++;return{project:a,orchestrator:_.find(b=>b.projectId===a.id)??null,sessionCount:b.length,openPRCount:b.filter(a=>a.pr?.state==="open").length,counts:c}}):[],[_,az,o,f,aK]),aM=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/kill`,{method:"POST"});if(b.ok)av("Session terminated","success");else{let c=await b.text();console.error(`Failed to kill ${a}:`,c),av(`Terminate failed: ${c}`,"error")}}catch(b){console.error(`Network error killing ${a}:`,b),av("Network error while terminating session","error")}},[av]),aN=(0,e.useCallback)(a=>{let b=ay.current.find(b=>b.id===a)??null;b&&aM(b.id)},[aM]),aO=(0,e.useCallback)(a=>{aq(a),as("preview")},[]),aP=(0,e.useCallback)(()=>{as("confirm-kill")},[]),aQ=(0,e.useCallback)(()=>{aq(null),as("preview")},[]),aR=(0,e.useCallback)(()=>{ap&&aM(ap.id),aq(null),as("preview")},[ap,aM]),aS=(0,e.useCallback)(async(a,b,c)=>{try{let d=new URLSearchParams;b&&d.set("owner",b),c&&d.set("repo",c);let e=d.size>0?`?${d.toString()}`:"",f=await fetch(`/api/prs/${a}/merge${e}`,{method:"POST"});if(f.ok)av(`PR #${a} merged`,"success");else{let b=await f.text();console.error(`Failed to merge PR #${a}:`,b),av(`Merge failed: ${b}`,"error");return}}catch(b){console.error(`Network error merging PR #${a}:`,b),av("Network error while merging PR","error")}},[av]),aT=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/restore`,{method:"POST"});if(b.ok)av("Session restored","success"),W.current.refresh();else{let c=await b.text();console.error(`Failed to restore ${a}:`,c),av(`Restore failed: ${c}`,"error")}}catch(b){console.error(`Network error restoring ${a}:`,b),av("Network error while restoring session","error")}},[av]),aU=async a=>{ac(b=>b.includes(a.id)?b:[...b,a.id]),ae(({[a.id]:b,...c})=>c);try{let b=await fetch("/api/orchestrators",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a.id})}),c=await b.json().catch(()=>null);if(!b.ok||!c?.orchestrator)throw Error(c?.error??`Failed to spawn orchestrator for ${a.name}`);let d=c.orchestrator;aa(b=>{let c=b.filter(b=>b.projectId!==a.id);return c.push(d),c})}catch(c){let b=c instanceof Error?c.message:"Failed to spawn orchestrator";ae(c=>({...c,[a.id]:b})),console.error(`Failed to spawn orchestrator for ${a.id}:`,c)}finally{ac(b=>b.filter(b=>b!==a.id))}},aV=t.some(a=>aJ[a].length>0),aW=!az&&!aV&&!O,aX=O?(0,d.jsxs)("div",{className:"dashboard-alert mb-6 flex flex-col gap-1.5 border border-[color-mix(in_srgb,var(--color-status-error)_28%,transparent)] bg-[color-mix(in_srgb,var(--color-status-error)_10%,transparent)] px-3.5 py-2.5 text-[11px] md:mb-4",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("span",{className:"font-semibold text-[var(--color-status-error)]",children:"Orchestrator failed to load"}),(0,d.jsx)("span",{className:"break-words text-[var(--color-text-secondary)]",children:O}),(0,d.jsxs)("span",{className:"text-[var(--color-text-secondary)]",children:["Confirm ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"agent-orchestrator.yaml"})," exists and is valid, then run ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"athene doctor"})," for diagnostics."]})]}):null,aY=(0,e.useMemo)(()=>v.some(a=>a.pr&&(0,j.fZ)(a.pr)),[v]),aZ=c??(az?"All projects":"Dashboard"),a$=!az&&aZ.trim().length>0,a_=a=>{ao(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},a0=(0,d.jsxs)("div",{className:"dashboard-main--desktop",children:[(0,d.jsxs)("header",{className:"dashboard-app-header",children:[af?(0,d.jsx)("button",{type:"button",className:"dashboard-app-sidebar-toggle",onClick:am,"aria-label":"Toggle sidebar",children:(0,d.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})})}):null,a$?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"dashboard-app-header__sep topbar-desktop-only","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"topbar-project-pills-group",children:[(0,d.jsxs)("div",{className:"topbar-project-line",children:[(0,d.jsx)("span",{className:"dashboard-app-header__project",children:aZ}),(0,d.jsxs)("nav",{className:"workspace-mode-switch","aria-label":"Workspace mode",children:[(0,d.jsx)(g(),{href:aA,className:"workspace-mode-switch__item workspace-mode-switch__item--active","aria-current":"page",children:"Coding"}),(0,d.jsx)(g(),{href:aB,className:"workspace-mode-switch__item",children:"Reviews"})]})]}),!az&&D.length>0?(0,d.jsxs)("div",{className:"topbar-session-pills",children:[aJ.working.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--active",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--working"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aJ.working.length," working"]})]}):null,aJ.merge.length+aJ.action.length+aJ.respond.length+aJ.review.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--waiting-for-input",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--attention"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aJ.merge.length+aJ.action.length+aJ.respond.length+aJ.review.length," ","need attention"]})]}):null]}):null]})]}):null,(0,d.jsx)("div",{className:"dashboard-app-header__spacer"}),(0,d.jsxs)("div",{className:"dashboard-app-header__actions",children:[au?(0,d.jsx)(J,{projectId:b}):null,(0,d.jsx)(K.e,{}),!az&&aD?(0,d.jsxs)(g(),{href:aD,className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Orchestrator",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Orchestrator"]}):aE&&aF?(0,d.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Spawn Orchestrator",onClick:()=>void aU(aF),disabled:aG,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),aG?"Spawning...":"Spawn Orchestrator"]}):null]})]}),(0,d.jsxs)("main",{className:"dashboard-main flex flex-col flex-1 min-h-0 overflow-hidden",children:[(0,d.jsx)(A.u,{attentionLevels:w,projectName:c}),(0,d.jsxs)("div",{className:"dashboard-main__subhead",children:[(0,d.jsx)("h1",{className:"dashboard-main__title",children:"Board"}),(0,d.jsx)("p",{className:"dashboard-main__subtitle",children:"Live agent sessions flowing from work → review → merge."})]}),(0,d.jsxs)("div",{className:"dashboard-main__body",children:[aX,aY&&!Z&&(0,d.jsxs)("div",{className:"dashboard-alert mb-4 flex items-center gap-2.5 border border-[color-mix(in_srgb,var(--color-status-attention)_25%,transparent)] bg-[var(--color-tint-yellow)] px-3.5 py-2.5 text-[11px] text-[var(--color-status-attention)]",children:[(0,d.jsxs)("svg",{className:"h-3.5 w-3.5 shrink-0",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),(0,d.jsx)("span",{className:"flex-1",children:"GitHub API rate limited — PR data (CI status, review state, sizes) may be stale. Will retry automatically on next refresh."}),(0,d.jsx)("button",{onClick:()=>$(!0),className:"ml-1 shrink-0 opacity-60 hover:opacity-100","aria-label":"Dismiss",children:(0,d.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),az&&(0,d.jsx)(X,{overviews:aL,onSpawnOrchestrator:aU,spawningProjectIds:ab,spawnErrors:ad,attentionZones:o}),!az&&aV&&(0,d.jsx)("div",{className:"kanban-board-wrap",children:(0,d.jsx)("div",{className:"kanban-board","data-columns":t.length,style:{"--kanban-column-count":t.length},children:t.map(a=>(0,d.jsx)(x,{level:a,sessions:aJ[a],onKill:aN,onRestore:aT,compactMobile:af,collapsed:af&&an.has(a),onToggle:af?a_:void 0,onPreview:af?aO:void 0,resolveProjectAccent:I},a))})}),aW?(0,d.jsx)(E,{orchestratorHref:aD,onSpawnOrchestrator:aE&&aF?()=>{aU(aF)}:null,spawnLabel:aG?"Spawning...":"Spawn Orchestrator",spawnDisabled:aG}):null,!az&&aH?(0,d.jsx)("p",{className:"mt-3 text-[11px] text-[var(--color-status-error)]",children:aH}):null,!az&&aJ.done.length>0&&(0,d.jsxs)("div",{className:"done-bar mt-6",children:[(0,d.jsxs)("button",{type:"button",className:"done-bar__toggle",onClick:()=>ax(a=>!a),"aria-expanded":aw,children:[(0,d.jsx)("svg",{className:`done-bar__chevron${aw?" done-bar__chevron--open":""}`,fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"m9 18 6-6-6-6"})}),(0,d.jsx)("span",{className:"done-bar__label",children:"Done / Terminated"}),(0,d.jsx)("span",{className:"done-bar__count",children:aJ.done.length})]}),aw&&(0,d.jsx)("div",{className:"done-bar__cards",children:aJ.done.map(a=>(0,d.jsx)(U,{session:a,onRestore:aT,projectAccent:I?.(a.projectId)},a.id))})]})]})]})]}),a1=(0,d.jsx)(Q,{session:ap,mode:ar,onCancel:aQ,onConfirm:aR,onRequestKill:aP,onMerge:aS,isMergeReady:!!ap&&"merge"===w[ap.id]});return ah?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(H,{}),(0,d.jsx)(G,{status:N}),a0,a1]}):(0,d.jsxs)(L.I.Provider,{value:{onToggleSidebar:am,mobileSidebarOpen:ak},children:[(0,d.jsx)(H,{}),(0,d.jsx)(G,{status:N}),(0,d.jsx)("div",{className:"dashboard-app-shell",children:(0,d.jsxs)("div",{className:`dashboard-shell--desktop${ai?" dashboard-shell--sidebar-collapsed":""}`,children:[(0,d.jsx)("div",{className:`sidebar-wrapper${ak?" sidebar-wrapper--mobile-open":""}`,children:(0,d.jsx)(M.u,{projects:f,sessions:v,orchestrators:m,metaOrchestrators:l,activeProjectId:b,activeSessionId:Y,loading:!y,collapsed:ai,onToggleCollapsed:()=>aj(a=>!a),onMobileClose:()=>al(!1)})}),ak&&(0,d.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>al(!1)}),a0]})}),a1]})}function W(a){return(0,d.jsx)(F.t,{children:(0,d.jsx)(V,{...a})})}function X({overviews:a,onSpawnOrchestrator:b,spawningProjectIds:c,spawnErrors:e,attentionZones:f}){return(0,d.jsx)("div",{className:"mb-8 grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:a.map(({project:a,orchestrator:h,sessionCount:i,openPRCount:j,counts:k})=>(()=>{let l=!!a.resolveError,m=(0,q.bn)(a.id);return(0,d.jsxs)("section",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] p-4",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--color-text-primary)]",children:a.name}),(0,d.jsx)("div",{className:"mt-1 text-[11px] text-[var(--color-text-muted)]",children:l?"Config needs repair":(0,d.jsxs)(d.Fragment,{children:[i," active session",1!==i?"s":"",j>0?` \xb7 ${j} open PR${1!==j?"s":""}`:""]})})]}),(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Open project"})]}),(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,d.jsx)(Y,{label:"Merge",value:k.merge,tone:"ready"}),"detailed"===f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Y,{label:"Respond",value:k.respond,tone:"error"}),(0,d.jsx)(Y,{label:"Review",value:k.review,tone:"orange"})]}):(0,d.jsx)(Y,{label:"Action",value:k.action,tone:"orange"}),(0,d.jsx)(Y,{label:"Pending",value:k.pending,tone:"attention"}),(0,d.jsx)(Y,{label:"Working",value:k.working,tone:"working"})]}),(0,d.jsxs)("div",{className:"border-t border-[var(--color-border-subtle)] pt-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)("div",{className:"text-[11px] text-[var(--color-text-muted)]",children:l?"Project config could not be resolved":h?"Per-project orchestrator available":"No running orchestrator"}),l?(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-semibold text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Repair project"}):h?(0,d.jsxs)(g(),{href:(0,q.Nc)(h.projectId,h.id),className:"orchestrator-btn flex items-center gap-2 px-3 py-1.5 text-[11px] font-semibold hover:no-underline",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--color-accent)] opacity-80"}),"orchestrator"]}):(0,d.jsx)("button",{type:"button",onClick:()=>void b(a),disabled:c.includes(a.id),className:"orchestrator-btn px-3 py-1.5 text-[11px] font-semibold disabled:cursor-wait disabled:opacity-70",children:c.includes(a.id)?"Spawning...":"Spawn Orchestrator"})]}),e[a.id]?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--color-status-error)]",children:e[a.id]}):null]})]},a.id)})())})}function Y({label:a,value:b,tone:c}){return(0,d.jsxs)("div",{className:"min-w-[78px] border border-[var(--color-border-subtle)] px-2.5 py-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:a}),(0,d.jsx)("div",{className:"project-metric__value mt-1 text-[18px] font-semibold tabular-nums","data-tone":c,children:b})]})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=1271,exports.ids=[1271],exports.modules={21271:(a,b,c)=>{c.d(b,{bV:()=>y,Ik:()=>s,g$:()=>x,oc:()=>v,WQ:()=>p,KI:()=>k,cg:()=>o});var d=c(43780),e=c(36269);class f{constructor(a=3e5){this.cache=new Map,this.ttlMs=a,this.cleanupInterval=setInterval(()=>this.evictExpired(),a),this.cleanupInterval.unref&&this.cleanupInterval.unref()}get(a){let b=this.cache.get(a);return b?Date.now()>b.expiresAt?(this.cache.delete(a),null):b.value:null}set(a,b,c){this.cache.set(a,{value:b,expiresAt:Date.now()+(c??this.ttlMs)})}evictExpired(){let a=Date.now();for(let[b,c]of this.cache.entries())a>c.expiresAt&&this.cache.delete(b)}clear(){this.cache.clear(),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=void 0)}size(){return this.cache.size}}var g=c(68544);let h=new f(3e5),i=new f(12e4);function j(a){try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}}function k(a,b){let c=b[a.projectId];if(c)return c;let d=Object.entries(b).find(([,b])=>(0,g.G)(a.id,b.sessionPrefix));if(d)return d[1];let e=Object.keys(b)[0];return e?b[e]:void 0}function l(a){return a.replace(/_/g," ")}function m(a,b){return"idle"===a&&"merged_waiting_decision"===b?"merged, waiting decision":"none"===a?"not created":"alive"===a?"alive":"missing"===a?"missing":l(a)}function n(a){return a.attentionLevel=(0,e.ng)(a),a}function o(a){let b=a.agentInfo?.summary,c=b??a.metadata.summary??null;return n({id:a.id,projectId:a.projectId,status:a.status,activity:a.activity,activitySignal:{state:a.activitySignal.state,activity:a.activitySignal.activity,timestamp:a.activitySignal.timestamp?.toISOString()??null,source:a.activitySignal.source,detail:a.activitySignal.detail},lifecycle:function(a){let b=a.lifecycle;return{sessionState:b.session.state,sessionReason:b.session.reason,prState:b.pr.state,prReason:b.pr.reason,runtimeState:b.runtime.state,runtimeReason:b.runtime.reason,session:{state:b.session.state,reason:b.session.reason,label:m(b.session.state,b.session.reason),reasonLabel:l(b.session.reason),startedAt:b.session.startedAt,completedAt:b.session.completedAt,terminatedAt:b.session.terminatedAt,lastTransitionAt:b.session.lastTransitionAt},pr:{state:b.pr.state,reason:b.pr.reason,label:m(b.pr.state,b.pr.reason),reasonLabel:l(b.pr.reason),number:b.pr.number,url:b.pr.url,lastObservedAt:b.pr.lastObservedAt},runtime:{state:b.runtime.state,reason:b.runtime.reason,label:m(b.runtime.state,b.runtime.reason),reasonLabel:l(b.runtime.reason),lastObservedAt:b.runtime.lastObservedAt},legacyStatus:a.status,evidence:a.metadata.lifecycleEvidence??null,detectingAttempts:Number.parseInt(a.metadata.detectingAttempts??"0",10)||0,detectingEscalatedAt:a.metadata.detectingEscalatedAt??null,summary:function(a){let{lifecycle:b}=a;return"detecting"===b.session.state?`Detecting runtime truth (${l(b.session.reason)})`:"merged"===b.pr.state?a.metadata.mergedPendingCleanupSince?"PR merged; worker session will be cleaned up automatically":"PR merged":"closed"===b.pr.state?"PR closed without merge":"ci_failing"===b.pr.reason?"PR is open and CI is failing":"changes_requested"===b.pr.reason?"PR is open with requested changes":"review_pending"===b.pr.reason?"PR is open and waiting on review":`Session ${l(b.session.state)} (${l(b.session.reason)})`}(a),guidance:null}}(a),branch:a.branch,issueId:a.issueId,issueUrl:a.issueId&&j(a.issueId)?a.issueId:null,issueLabel:null,issueTitle:null,userPrompt:a.metadata.userPrompt??null,displayName:a.metadata.displayName??null,displayNameUserSet:"true"===a.metadata.displayNameUserSet,summary:c,summaryIsFallback:!!b&&(a.agentInfo?.summaryIsFallback??!1),createdAt:a.createdAt.toISOString(),lastActivityAt:a.lastActivityAt.toISOString(),pr:a.pr?{...q(a.pr),state:function(a){switch(a){case"merged":return"merged";case"closed":return"closed";default:return"open"}}(a.lifecycle.pr.state)}:null,prs:(a.prs??[]).map(a=>q(a)),metadata:a.metadata,agentReportAudit:[]})}function p(a,b){let c=Object.entries(b).map(([a,b])=>b.sessionPrefix??a),e=new Map;for(let f of a){if(!(0,d.tTz)(f,b[f.projectId]?.sessionPrefix??f.projectId,c))continue;let a=e.get(f.projectId);if(!a){e.set(f.projectId,f);continue}let g=(0,d.zi)(a),h=(0,d.zi)(f);if(g!==h){h||e.set(f.projectId,f);continue}let i=a.lastActivityAt?.getTime()??a.createdAt?.getTime()??0,j=f.lastActivityAt?.getTime()??f.createdAt?.getTime()??0;if(j>i){e.set(f.projectId,f);continue}j===i&&f.id.localeCompare(a.id)>0&&e.set(f.projectId,f)}return[...e.values()].map(a=>({id:a.id,projectId:a.projectId,projectName:b[a.projectId]?.name??a.projectId})).sort((a,b)=>a.projectName.localeCompare(b.projectName)||a.id.localeCompare(b.id))}function q(a){return{number:a.number,url:a.url,title:a.title,owner:a.owner,repo:a.repo,branch:a.branch,baseBranch:a.baseBranch,isDraft:a.isDraft,state:"open",additions:0,deletions:0,ciStatus:"none",ciChecks:[],reviewDecision:"none",mergeability:{mergeable:!1,ciPassing:!1,approved:!1,noConflicts:!0,blockers:[]},unresolvedThreads:0,unresolvedComments:[],enriched:!1}}function r(a){let b=a.prEnrichment;if(!b)return null;try{let c=JSON.parse(b),d={unresolvedThreads:0,unresolvedComments:[]},e=a.prReviewComments;if(e)try{d=JSON.parse(e)}catch{}return{state:c.state??"open",title:c.title??"",additions:c.additions??0,deletions:c.deletions??0,isDraft:c.isDraft,ciStatus:c.ciStatus??"none",ciChecks:(c.ciChecks??[]).map(a=>({name:a.name,status:a.status,url:a.url})),reviewDecision:c.reviewDecision??"none",mergeability:{mergeable:c.mergeable??!1,ciPassing:"passing"===c.ciStatus||"none"===c.ciStatus,approved:"approved"===c.reviewDecision,noConflicts:!c.hasConflicts,blockers:c.blockers??[]},unresolvedThreads:d.unresolvedThreads??0,unresolvedComments:d.unresolvedComments??[]}}catch{return null}}function s(a){if(!a.pr)return!1;let b=r(a.metadata);if(!b)return!1;a.pr.state=b.state,b.title&&(a.pr.title=b.title),a.pr.additions=b.additions,a.pr.deletions=b.deletions,void 0!==b.isDraft&&(a.pr.isDraft=b.isDraft),a.pr.ciStatus=b.ciStatus,a.pr.ciChecks=b.ciChecks,a.pr.reviewDecision=b.reviewDecision,a.pr.mergeability=b.mergeability,a.pr.unresolvedThreads=b.unresolvedThreads,a.pr.unresolvedComments=b.unresolvedComments,a.pr.enriched=!0;let c=a.prs?.[0];if(c&&c.url===a.pr.url&&Object.assign(c,a.pr),a.prs&&a.prs.length>1)for(let b=1;b<a.prs.length;b++){let c=`prEnrichment_${b}`,d=`prReviewComments_${b}`,e=r({...a.metadata,prEnrichment:a.metadata[c]??"",prReviewComments:a.metadata[d]??""});if(!e)continue;let f=a.prs[b];f&&(f.state=e.state,e.title&&(f.title=e.title),f.additions=e.additions,f.deletions=e.deletions,void 0!==e.isDraft&&(f.isDraft=e.isDraft),f.ciStatus=e.ciStatus,f.ciChecks=e.ciChecks,f.reviewDecision=e.reviewDecision,f.mergeability=e.mergeability,f.unresolvedThreads=e.unresolvedThreads,f.unresolvedComments=e.unresolvedComments,f.enriched=!0)}return n(a),!0}async function t(a,b,c){if(!a.summary)try{let d=await c.getSessionInfo(b);d?.summary&&(a.summary=d.summary,a.summaryIsFallback=d.summaryIsFallback??!1)}catch{}}async function u(a,b,c){if(!a.issueUrl||!a.issueLabel)return;let d=h.get(a.issueUrl);if(d){a.issueTitle=d;return}if(!i.get(a.issueUrl))try{let d=a.issueLabel.replace(/^#/,""),e=await b.getIssue(d,c);e.title&&(a.issueTitle=e.title,h.set(a.issueUrl,e.title))}catch{i.set(a.issueUrl,!0)}}async function v(a,b,c,d){let{summaryPromises:e}=w(a,b,c,d);await Promise.allSettled(e)}function w(a,b,c,d){let e=a.map(a=>k(a,c.projects));return e.forEach((a,c)=>{if(!b[c].issueUrl&&!b[c].issueId||!a?.tracker?.plugin)return;let e=d.get("tracker",a.tracker.plugin);e&&function(a,b,c){let d=a.issueId??a.issueUrl;if(d){if(j(d))a.issueUrl=d;else if(/\s/.test(d))a.issueUrl=null;else if(b.issueUrl)try{let e=b.issueUrl(d,c);e&&j(e)?a.issueUrl=e:console.warn("[enrichSessionIssue] tracker.issueUrl() returned a non-absolute URL",{tracker:b.name,issueReference:d,candidateUrl:e})}catch(a){console.warn("[enrichSessionIssue] tracker.issueUrl() failed",{tracker:b.name,issueReference:d,error:String(a)})}if(a.issueUrl)if(b.issueLabel)try{a.issueLabel=b.issueLabel(a.issueUrl,c)}catch{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}else{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}}}(b[c],e,a)}),{projects:e,summaryPromises:a.map((a,c)=>{if(b[c].summary)return Promise.resolve();let e=a.metadata.agent;if(!e)return Promise.resolve();let f=d.get("agent",e);return f?t(b[c],a,f):Promise.resolve()})}}async function x(a,b,c,d){let{projects:e,summaryPromises:f}=w(a,b,c,d),g=e.map((a,c)=>{if(!b[c].issueUrl||!b[c].issueLabel||!a?.tracker?.plugin)return Promise.resolve();let e=d.get("tracker",a.tracker.plugin);return e?u(b[c],e,a):Promise.resolve()});await Promise.allSettled([...f,...g])}function y(a){return{totalSessions:a.length,workingSessions:a.filter(a=>null!==a.activity&&"exited"!==a.activity).length,openPRs:a.filter(a=>a.pr?.state==="open").length,needsReview:a.filter(a=>a.pr&&!a.pr.isDraft&&"pending"===a.pr.reviewDecision).length}}},36269:(a,b,c)=>{c.d(b,{ng:()=>g});var d=c(15407);function e(a){return a.mergeability.blockers.includes("API rate limited or unavailable")}function f(a){return!1===a.enriched}function g(a,b="detailed"){let c=function(a){if(function(a){if(a.lifecycle)return"done"===a.lifecycle.sessionState||(a.lifecycle?"terminated"===a.lifecycle.sessionState:"terminated"===a.status||"killed"===a.status)||"merged"===a.lifecycle.prState;return"merged"===a.status||"killed"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr?.state==="merged"}(a))return"done";if(a.lifecycle?.prReason==="merge_ready"||a.lifecycle?.prReason==="approved"||"mergeable"===a.status||"approved"===a.status||a.pr&&!f(a.pr)&&a.pr.mergeability.mergeable)return"merge";if(a.lifecycle?.sessionState==="detecting"||a.lifecycle?.sessionState==="needs_input"||a.lifecycle?.sessionState==="stuck"||a.status===d.SB.ERRORED||a.status===d.SB.NEEDS_INPUT||a.status===d.SB.STUCK||a.activity===d.u3.WAITING_INPUT||a.activity===d.u3.BLOCKED||a.activity===d.u3.EXITED)return"respond";if(a.lifecycle?.prReason==="ci_failing"||a.lifecycle?.prReason==="changes_requested"||"ci_failed"===a.status||"changes_requested"===a.status)return"review";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(b.ciStatus===d.U1.FAILING||"changes_requested"===b.reviewDecision||!b.mergeability.noConflicts)return"review"}if(a.lifecycle?.prReason==="review_pending"||a.lifecycle?.prReason==="closed_unmerged"||"review_pending"===a.status)return"pending";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(!b.isDraft&&b.unresolvedThreads>0||!b.isDraft&&("pending"===b.reviewDecision||"none"===b.reviewDecision))return"pending"}return"working"}(a);return"simple"===b&&("respond"===c||"review"===c)?"action":c}},68544:(a,b,c)=>{c.d(b,{G:()=>d});function d(a,b){return a===b||a.startsWith(`${b}-`)}}};
1
+ "use strict";exports.id=1271,exports.ids=[1271],exports.modules={21271:(a,b,c)=>{c.d(b,{bV:()=>y,Ik:()=>s,g$:()=>x,oc:()=>v,WQ:()=>p,KI:()=>k,cg:()=>o});var d=c(8868),e=c(36269);class f{constructor(a=3e5){this.cache=new Map,this.ttlMs=a,this.cleanupInterval=setInterval(()=>this.evictExpired(),a),this.cleanupInterval.unref&&this.cleanupInterval.unref()}get(a){let b=this.cache.get(a);return b?Date.now()>b.expiresAt?(this.cache.delete(a),null):b.value:null}set(a,b,c){this.cache.set(a,{value:b,expiresAt:Date.now()+(c??this.ttlMs)})}evictExpired(){let a=Date.now();for(let[b,c]of this.cache.entries())a>c.expiresAt&&this.cache.delete(b)}clear(){this.cache.clear(),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=void 0)}size(){return this.cache.size}}var g=c(68544);let h=new f(3e5),i=new f(12e4);function j(a){try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}}function k(a,b){let c=b[a.projectId];if(c)return c;let d=Object.entries(b).find(([,b])=>(0,g.G)(a.id,b.sessionPrefix));if(d)return d[1];let e=Object.keys(b)[0];return e?b[e]:void 0}function l(a){return a.replace(/_/g," ")}function m(a,b){return"idle"===a&&"merged_waiting_decision"===b?"merged, waiting decision":"none"===a?"not created":"alive"===a?"alive":"missing"===a?"missing":l(a)}function n(a){return a.attentionLevel=(0,e.ng)(a),a}function o(a){let b=a.agentInfo?.summary,c=b??a.metadata.summary??null;return n({id:a.id,projectId:a.projectId,ownerKind:"meta"===a.metadata.ownerKind?"meta":"project",metaOwner:a.metadata.metaOwner??null,status:a.status,activity:a.activity,activitySignal:{state:a.activitySignal.state,activity:a.activitySignal.activity,timestamp:a.activitySignal.timestamp?.toISOString()??null,source:a.activitySignal.source,detail:a.activitySignal.detail},lifecycle:function(a){let b=a.lifecycle;return{sessionState:b.session.state,sessionReason:b.session.reason,prState:b.pr.state,prReason:b.pr.reason,runtimeState:b.runtime.state,runtimeReason:b.runtime.reason,session:{state:b.session.state,reason:b.session.reason,label:m(b.session.state,b.session.reason),reasonLabel:l(b.session.reason),startedAt:b.session.startedAt,completedAt:b.session.completedAt,terminatedAt:b.session.terminatedAt,lastTransitionAt:b.session.lastTransitionAt},pr:{state:b.pr.state,reason:b.pr.reason,label:m(b.pr.state,b.pr.reason),reasonLabel:l(b.pr.reason),number:b.pr.number,url:b.pr.url,lastObservedAt:b.pr.lastObservedAt},runtime:{state:b.runtime.state,reason:b.runtime.reason,label:m(b.runtime.state,b.runtime.reason),reasonLabel:l(b.runtime.reason),lastObservedAt:b.runtime.lastObservedAt},legacyStatus:a.status,evidence:a.metadata.lifecycleEvidence??null,detectingAttempts:Number.parseInt(a.metadata.detectingAttempts??"0",10)||0,detectingEscalatedAt:a.metadata.detectingEscalatedAt??null,summary:function(a){let{lifecycle:b}=a;return"detecting"===b.session.state?`Detecting runtime truth (${l(b.session.reason)})`:"merged"===b.pr.state?a.metadata.mergedPendingCleanupSince?"PR merged; worker session will be cleaned up automatically":"PR merged":"closed"===b.pr.state?"PR closed without merge":"ci_failing"===b.pr.reason?"PR is open and CI is failing":"changes_requested"===b.pr.reason?"PR is open with requested changes":"review_pending"===b.pr.reason?"PR is open and waiting on review":`Session ${l(b.session.state)} (${l(b.session.reason)})`}(a),guidance:null}}(a),branch:a.branch,issueId:a.issueId,issueUrl:a.issueId&&j(a.issueId)?a.issueId:null,issueLabel:null,issueTitle:null,userPrompt:a.metadata.userPrompt??null,displayName:a.metadata.displayName??null,displayNameUserSet:"true"===a.metadata.displayNameUserSet,summary:c,summaryIsFallback:!!b&&(a.agentInfo?.summaryIsFallback??!1),contextWindow:a.agentInfo?.contextWindow??null,createdAt:a.createdAt.toISOString(),lastActivityAt:a.lastActivityAt.toISOString(),pr:a.pr?{...q(a.pr),state:function(a){switch(a){case"merged":return"merged";case"closed":return"closed";default:return"open"}}(a.lifecycle.pr.state)}:null,prs:(a.prs??[]).map(a=>q(a)),metadata:a.metadata,agentReportAudit:[]})}function p(a,b){let c=Object.entries(b).map(([a,b])=>b.sessionPrefix??a),e=new Map;for(let f of a){if(!(0,d.tTz)(f,b[f.projectId]?.sessionPrefix??f.projectId,c))continue;let a=e.get(f.projectId);if(!a){e.set(f.projectId,f);continue}let g=(0,d.zi)(a),h=(0,d.zi)(f);if(g!==h){h||e.set(f.projectId,f);continue}let i=a.lastActivityAt?.getTime()??a.createdAt?.getTime()??0,j=f.lastActivityAt?.getTime()??f.createdAt?.getTime()??0;if(j>i){e.set(f.projectId,f);continue}j===i&&f.id.localeCompare(a.id)>0&&e.set(f.projectId,f)}return[...e.values()].map(a=>({id:a.id,projectId:a.projectId,projectName:b[a.projectId]?.name??a.projectId})).sort((a,b)=>a.projectName.localeCompare(b.projectName)||a.id.localeCompare(b.id))}function q(a){return{number:a.number,url:a.url,title:a.title,owner:a.owner,repo:a.repo,branch:a.branch,baseBranch:a.baseBranch,isDraft:a.isDraft,state:"open",additions:0,deletions:0,ciStatus:"none",ciChecks:[],reviewDecision:"none",mergeability:{mergeable:!1,ciPassing:!1,approved:!1,noConflicts:!0,blockers:[]},unresolvedThreads:0,unresolvedComments:[],enriched:!1}}function r(a){let b=a.prEnrichment;if(!b)return null;try{let c=JSON.parse(b),d={unresolvedThreads:0,unresolvedComments:[]},e=a.prReviewComments;if(e)try{d=JSON.parse(e)}catch{}return{state:c.state??"open",title:c.title??"",additions:c.additions??0,deletions:c.deletions??0,isDraft:c.isDraft,ciStatus:c.ciStatus??"none",ciChecks:(c.ciChecks??[]).map(a=>({name:a.name,status:a.status,url:a.url})),reviewDecision:c.reviewDecision??"none",mergeability:{mergeable:c.mergeable??!1,ciPassing:"passing"===c.ciStatus||"none"===c.ciStatus,approved:"approved"===c.reviewDecision,noConflicts:!c.hasConflicts,blockers:c.blockers??[]},unresolvedThreads:d.unresolvedThreads??0,unresolvedComments:d.unresolvedComments??[]}}catch{return null}}function s(a){if(!a.pr)return!1;let b=r(a.metadata);if(!b)return!1;a.pr.state=b.state,b.title&&(a.pr.title=b.title),a.pr.additions=b.additions,a.pr.deletions=b.deletions,void 0!==b.isDraft&&(a.pr.isDraft=b.isDraft),a.pr.ciStatus=b.ciStatus,a.pr.ciChecks=b.ciChecks,a.pr.reviewDecision=b.reviewDecision,a.pr.mergeability=b.mergeability,a.pr.unresolvedThreads=b.unresolvedThreads,a.pr.unresolvedComments=b.unresolvedComments,a.pr.enriched=!0;let c=a.prs?.[0];if(c&&c.url===a.pr.url&&Object.assign(c,a.pr),a.prs&&a.prs.length>1)for(let b=1;b<a.prs.length;b++){let c=`prEnrichment_${b}`,d=`prReviewComments_${b}`,e=r({...a.metadata,prEnrichment:a.metadata[c]??"",prReviewComments:a.metadata[d]??""});if(!e)continue;let f=a.prs[b];f&&(f.state=e.state,e.title&&(f.title=e.title),f.additions=e.additions,f.deletions=e.deletions,void 0!==e.isDraft&&(f.isDraft=e.isDraft),f.ciStatus=e.ciStatus,f.ciChecks=e.ciChecks,f.reviewDecision=e.reviewDecision,f.mergeability=e.mergeability,f.unresolvedThreads=e.unresolvedThreads,f.unresolvedComments=e.unresolvedComments,f.enriched=!0)}return n(a),!0}async function t(a,b,c){if(!a.summary)try{let d=await c.getSessionInfo(b);d?.summary&&(a.summary=d.summary,a.summaryIsFallback=d.summaryIsFallback??!1)}catch{}}async function u(a,b,c){if(!a.issueUrl||!a.issueLabel)return;let d=h.get(a.issueUrl);if(d){a.issueTitle=d;return}if(!i.get(a.issueUrl))try{let d=a.issueLabel.replace(/^#/,""),e=await b.getIssue(d,c);e.title&&(a.issueTitle=e.title,h.set(a.issueUrl,e.title))}catch{i.set(a.issueUrl,!0)}}async function v(a,b,c,d){let{summaryPromises:e}=w(a,b,c,d);await Promise.allSettled(e)}function w(a,b,c,d){let e=a.map(a=>k(a,c.projects));return e.forEach((a,c)=>{if(!b[c].issueUrl&&!b[c].issueId||!a?.tracker?.plugin)return;let e=d.get("tracker",a.tracker.plugin);e&&function(a,b,c){let d=a.issueId??a.issueUrl;if(d){if(j(d))a.issueUrl=d;else if(/\s/.test(d))a.issueUrl=null;else if(b.issueUrl)try{let e=b.issueUrl(d,c);e&&j(e)?a.issueUrl=e:console.warn("[enrichSessionIssue] tracker.issueUrl() returned a non-absolute URL",{tracker:b.name,issueReference:d,candidateUrl:e})}catch(a){console.warn("[enrichSessionIssue] tracker.issueUrl() failed",{tracker:b.name,issueReference:d,error:String(a)})}if(a.issueUrl)if(b.issueLabel)try{a.issueLabel=b.issueLabel(a.issueUrl,c)}catch{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}else{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}}}(b[c],e,a)}),{projects:e,summaryPromises:a.map((a,c)=>{if(b[c].summary)return Promise.resolve();let e=a.metadata.agent;if(!e)return Promise.resolve();let f=d.get("agent",e);return f?t(b[c],a,f):Promise.resolve()})}}async function x(a,b,c,d){let{projects:e,summaryPromises:f}=w(a,b,c,d),g=e.map((a,c)=>{if(!b[c].issueUrl||!b[c].issueLabel||!a?.tracker?.plugin)return Promise.resolve();let e=d.get("tracker",a.tracker.plugin);return e?u(b[c],e,a):Promise.resolve()});await Promise.allSettled([...f,...g])}function y(a){return{totalSessions:a.length,workingSessions:a.filter(a=>null!==a.activity&&"exited"!==a.activity).length,openPRs:a.filter(a=>a.pr?.state==="open").length,needsReview:a.filter(a=>a.pr&&!a.pr.isDraft&&"pending"===a.pr.reviewDecision).length}}},36269:(a,b,c)=>{c.d(b,{ng:()=>g});var d=c(15407);function e(a){return a.mergeability.blockers.includes("API rate limited or unavailable")}function f(a){return!1===a.enriched}function g(a,b="detailed"){let c=function(a){if(function(a){if(a.lifecycle)return"done"===a.lifecycle.sessionState||(a.lifecycle?"terminated"===a.lifecycle.sessionState:"terminated"===a.status||"killed"===a.status)||"merged"===a.lifecycle.prState;return"merged"===a.status||"killed"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr?.state==="merged"}(a))return"done";if(a.lifecycle?.prReason==="merge_ready"||a.lifecycle?.prReason==="approved"||"mergeable"===a.status||"approved"===a.status||a.pr&&!f(a.pr)&&a.pr.mergeability.mergeable)return"merge";if(a.lifecycle?.sessionState==="detecting"||a.lifecycle?.sessionState==="needs_input"||a.lifecycle?.sessionState==="stuck"||a.status===d.SB.ERRORED||a.status===d.SB.NEEDS_INPUT||a.status===d.SB.STUCK||a.activity===d.u3.WAITING_INPUT||a.activity===d.u3.BLOCKED||a.activity===d.u3.EXITED)return"respond";if(a.lifecycle?.prReason==="ci_failing"||a.lifecycle?.prReason==="changes_requested"||"ci_failed"===a.status||"changes_requested"===a.status)return"review";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(b.ciStatus===d.U1.FAILING||"changes_requested"===b.reviewDecision||!b.mergeability.noConflicts)return"review"}if(a.lifecycle?.prReason==="review_pending"||a.lifecycle?.prReason==="closed_unmerged"||"review_pending"===a.status)return"pending";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(!b.isDraft&&b.unresolvedThreads>0||!b.isDraft&&("pending"===b.reviewDecision||"none"===b.reviewDecision))return"pending"}return"working"}(a);return"simple"===b&&("respond"===c||"review"===c)?"action":c}},68544:(a,b,c)=>{c.d(b,{G:()=>d});function d(a,b){return a===b||a.startsWith(`${b}-`)}}};
@@ -0,0 +1,3 @@
1
+ exports.id=1351,exports.ids=[1351],exports.modules={291:(a,b,c)=>{Promise.resolve().then(c.bind(c,27926))},2191:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f}),c(81249),c(13081);var d=c(6181);let e={size:{width:32,height:32},contentType:"image/png"};async function f(a){let{__metadata_id__:b,...c}=await a.params,f=(0,d.fillMetadataSegment)(".",c,"icon"),{generateImageMetadata:g}=e;function h(a,b){let c={alt:a.alt,type:a.contentType||"image/png",url:f+(b?"/"+b:"")+"?fde4afff4688df3a"},{size:d}=a;return d&&(c.sizes=d.width+"x"+d.height),c}return g?(await g({params:c})).map((a,b)=>{let c=(a.id||b)+"";return h(a,c)}):[h(e,"")]}},8556:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(68844);function e(){return(0,d.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-[var(--color-bg-base)]",children:(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)("svg",{className:"h-5 w-5 animate-spin text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9"})}),(0,d.jsx)("p",{className:"text-[13px] text-[var(--color-text-tertiary)]",children:"Loading…"})]})})}},13081:(a,b,c)=>{"use strict";c.d(b,{Kk:()=>f,uy:()=>e});var d=c(68844);function e(a){return a.replace(/[^\w\s-]/g,"").slice(0,50)||"AO"}function f(a,b){let c=(b.charAt(0)||"A").toUpperCase(),e=function(a){let b=0;for(let c=0;c<a.length;c++)b=a.charCodeAt(c)+((b<<5)-b);return(b%360+360)%360}(b),f=Math.round(.19*a),g=Math.round(.625*a);return(0,d.jsx)("div",{style:{width:`${a}px`,height:`${a}px`,borderRadius:`${f}px`,background:`hsl(${e}, 60%, 45%)`,display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:`${g}px`,fontWeight:700,fontFamily:"sans-serif"},children:c})}},16819:(a,b,c)=>{"use strict";c.d(b,{ErrorDisplay:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call ErrorDisplay() from the server but ErrorDisplay is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/components/ErrorDisplay.tsx","ErrorDisplay")},23041:(a,b,c)=>{"use strict";c.d(b,{ErrorDisplay:()=>j});var d=c(33666),e=c(47489),f=c.n(e);let g={error:{accent:"var(--color-status-error)",bg:"var(--color-tint-red)",border:"color-mix(in srgb, var(--color-status-error) 24%, transparent)",label:"error"},warning:{accent:"var(--color-status-attention)",bg:"var(--color-tint-yellow)",border:"color-mix(in srgb, var(--color-status-attention) 24%, transparent)",label:"warning"},"not-found":{accent:"var(--color-accent)",bg:"var(--color-tint-blue)",border:"color-mix(in srgb, var(--color-accent) 24%, transparent)",label:"missing"}};function h({accent:a}){return(0,d.jsx)("div",{className:"flex h-14 w-14 items-center justify-center rounded-2xl border",style:{background:`linear-gradient(180deg, color-mix(in srgb, ${a} 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%)`,borderColor:`color-mix(in srgb, ${a} 18%, var(--color-border-default))`,boxShadow:"var(--detail-card-shadow)"},children:(0,d.jsxs)("svg",{className:"h-7 w-7",fill:"none",stroke:"currentColor",strokeWidth:"1.6",style:{color:a},viewBox:"0 0 24 24",children:[(0,d.jsx)("rect",{x:"2.5",y:"4.5",width:"19",height:"15",rx:"3"}),(0,d.jsx)("path",{d:"M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"})]})})}function i({action:a,primary:b=!1}){let c=b?"inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-semibold transition-colors hover:no-underline":"inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-medium transition-colors hover:no-underline",e=b?{background:"var(--color-accent)",color:"var(--color-text-inverse)",borderColor:"color-mix(in srgb, var(--color-accent) 72%, transparent)"}:{background:"var(--color-bg-surface)",color:"var(--color-text-secondary)",borderColor:"var(--color-border-default)"};return a.href?(0,d.jsx)(f(),{href:a.href,className:c,style:e,children:a.label}):(0,d.jsx)("button",{type:"button",onClick:a.onClick,className:c,style:e,children:a.label})}function j({title:a,message:b,tone:c="error",detailsTitle:e="Technical details",error:f,primaryAction:j,secondaryAction:k,compact:l=!1,chrome:m="page",children:n}){let o=g[c],p=!!(f?.digest||f?.message||f?.stack);return(0,d.jsx)("div",{className:`flex w-full items-center justify-center px-6 py-10 ${l?"min-h-[calc(100vh-4rem)]":"min-h-screen"}`,style:{background:"page"===m?"radial-gradient(circle at top, var(--color-body-gradient-blue), transparent 35%), var(--color-bg-base)":"transparent"},children:(0,d.jsx)("div",{className:"w-full max-w-[36rem] rounded-[28px] border p-6 sm:p-8",style:{background:"linear-gradient(180deg, color-mix(in srgb, var(--color-bg-elevated) 88%, transparent) 0%, var(--color-bg-surface) 100%)",borderColor:"var(--color-border-default)",boxShadow:"var(--detail-card-shadow)"},children:(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start",children:[(0,d.jsx)(h,{accent:o.accent}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"mb-3 inline-flex items-center rounded-full border px-2.5 py-1 font-[var(--font-mono)] text-[10px] font-medium uppercase tracking-[0.22em]",style:{color:o.accent,background:o.bg,borderColor:o.border},children:o.label}),(0,d.jsx)("h1",{className:"text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]",children:a}),(0,d.jsx)("p",{className:"mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]",children:b})]})]}),(j||k)&&(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[j?(0,d.jsx)(i,{action:j,primary:!0}):null,k?(0,d.jsx)(i,{action:k}):null]}),n,p?(0,d.jsxs)("details",{className:"rounded-2xl border",style:{background:"color-mix(in srgb, var(--color-bg-elevated) 84%, transparent)",borderColor:"var(--color-border-subtle)"},children:[(0,d.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--color-text-secondary)]",children:e}),(0,d.jsxs)("div",{className:"border-t px-4 py-4",style:{borderColor:"var(--color-border-subtle)"},children:[f?.digest?(0,d.jsxs)("p",{className:"mb-3 font-[var(--font-mono)] text-[11px] text-[var(--color-text-tertiary)]",children:["digest: ",f.digest]}):null,f?.message?(0,d.jsx)("p",{className:"mb-3 text-[12px] leading-5 text-[var(--color-text-secondary)]",children:f.message}):null,f?.stack?(0,d.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-[var(--font-mono)] text-[11px] leading-5 text-[var(--color-text-tertiary)]",children:f.stack}):null]})]}):null]})})})}},24553:()=>{},25897:(a,b,c)=>{Promise.resolve().then(c.bind(c,88496)),Promise.resolve().then(c.bind(c,49905))},26400:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(33666);c(81115);var e=c(23041);function f({error:a,reset:b}){return(0,d.jsx)("html",{lang:"en",className:"dark",children:(0,d.jsx)("body",{className:"bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased",children:(0,d.jsx)(e.ErrorDisplay,{title:"Something broke at the app shell",message:"The dashboard could not recover from this error at the layout level. Try again first, then reload the page if it still fails.",tone:"error",primaryAction:{label:"Try again",onClick:b},secondaryAction:{label:"Reload page",onClick:()=>window.location.reload()},error:a})})})}},27926:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/Athene/Athene/packages/web/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/app/global-error.tsx","default")},31735:(a,b,c)=>{Promise.resolve().then(c.bind(c,82834))},37728:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f}),c(81249),c(13081);var d=c(6181);let e={size:{width:180,height:180},contentType:"image/png"};async function f(a){let{__metadata_id__:b,...c}=await a.params,f=(0,d.fillMetadataSegment)(".",c,"apple-icon"),{generateImageMetadata:g}=e;function h(a,b){let c={alt:a.alt,type:a.contentType||"image/png",url:f+(b?"/"+b:"")+"?95aeb60ec7acf330"},{size:d}=a;return d&&(c.sizes=d.width+"x"+d.height),c}return g?(await g({params:c})).map((a,b)=>{let c=(a.id||b)+"";return h(a,c)}):[h(e,"")]}},40444:(a,b,c)=>{Promise.resolve().then(c.bind(c,23041))},43407:(a,b,c)=>{Promise.resolve().then(c.bind(c,89252))},44182:()=>{},49905:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{ServiceWorkerRegistrar:()=>d}),c(81115)},58976:(a,b,c)=>{"use strict";c.d(b,{eT:()=>i,i2:()=>k});var d=c(33666),e=c(81115),f=c.n(e);let g=f().createContext(void 0);function h(a){return`${a.id}:${a.receivedAt}`}function i(){return f().useContext(g)}function j(a,b){return b?`${b}:${a}`:a}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useRef)(new Map),f=(0,e.useRef)(new Map),[i,k]=(0,e.useState)("connecting"),[l,m]=(0,e.useState)([]),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(50),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)(0),w=(0,e.useRef)(null),x=(0,e.useRef)({}),y=(0,e.useRef)(!1),z=(0,e.useCallback)(()=>{if(!b.current){k("connecting");try{let a=function(a){let b=window.location,c="https:"===b.protocol?"wss:":"ws:",d=a.proxyWsPath??process.env.NEXT_PUBLIC_TERMINAL_WS_PATH;if(d){let a=d.replace(/\/ws\/?$/,"");return`${c}//${b.host}${a}/mux`}if(""===b.port||"443"===b.port||"80"===b.port)return`${c}//${b.hostname}/ao-terminal-mux`;let e=a.directTerminalPort??process.env.NEXT_PUBLIC_DIRECT_TERMINAL_PORT??"14801";return`${c}//${b.hostname}:${e}/mux`}(x.current);console.log("[MuxProvider] Connecting to",a);let d=new WebSocket(a);b.current=d,d.addEventListener("open",()=>{if(y.current)return void d.close();for(let a of(console.log("[MuxProvider] Connected"),k("connected"),v.current=0,f.current.values())){let b={ch:"terminal",id:a.id,type:"open",...a.projectId&&{projectId:a.projectId},...a.tmuxName&&{tmuxName:a.tmuxName},...void 0!==a.cols&&{cols:a.cols},...void 0!==a.rows&&{rows:a.rows}};d.send(JSON.stringify(b))}d.send(JSON.stringify({ch:"subscribe",topics:["sessions","notifications"]}))}),d.addEventListener("message",a=>{try{let b=JSON.parse(a.data);if("terminal"===b.ch){let a=j(b.id,"projectId"in b?b.projectId:void 0);if("data"===b.type){let d=c.current.get(a);if(d)for(let a of d)a(b.data)}else if("opened"===b.type)f.current.has(a)||f.current.set(a,{id:b.id,..."projectId"in b&&b.projectId?{projectId:b.projectId}:{}});else if("exited"===b.type){f.current.delete(a);let d=c.current.get(a);if(d){let a=`\r
2
+ \x1b[31m[Terminal exited with code ${b.code}]\x1b[0m\r
3
+ `;for(let b of d)b(a)}}else"error"===b.type&&console.error(`[MuxProvider] Terminal error for ${b.id}:`,b.message)}else"sessions"===b.ch?"snapshot"===b.type?(m(b.sessions),s(null)):"error"===b.type&&s(b.error):"notifications"===b.ch&&("snapshot"===b.type?(q(b.limit),o(b.notifications.slice(-b.limit)),u(null)):"append"===b.type?(q(b.limit),o(a=>(function(a,b,c){let d=new Map;for(let b of a)d.set(h(b),b);for(let a of b)d.set(h(a),a);return[...d.values()].slice(-c)})(a,b.notifications,b.limit)),u(null)):"error"===b.type&&u(b.error))}catch(a){console.error("[MuxProvider] Error processing message:",a)}}),d.addEventListener("error",a=>{console.error("[MuxProvider] WebSocket error:",a)}),d.addEventListener("close",()=>{if(console.log("[MuxProvider] Disconnected"),b.current===d&&(b.current=null),y.current)return;let a=Math.min(1e3*Math.pow(2,v.current),3e4);v.current+=1,k("reconnecting"),w.current=setTimeout(()=>{console.log(`[MuxProvider] Reconnecting (attempt ${v.current})...`),z()},a)})}catch(a){console.error("[MuxProvider] Failed to create WebSocket:",a),k("disconnected")}}},[]),A=(0,e.useCallback)((a,d,e)=>{let g=j(a,e),h=c.current.get(g);if(h||(h=new Set,c.current.set(g,h)),h.add(d),!f.current.has(g)&&b.current?.readyState===WebSocket.OPEN){let c={ch:"terminal",id:a,type:"open",...e&&{projectId:e}};b.current.send(JSON.stringify(c))}return()=>{let a=c.current.get(g);a&&(a.delete(d),0===a.size&&c.current.delete(g))}},[]),B=(0,e.useCallback)((a,c,d)=>{if(b.current?.readyState===WebSocket.OPEN){let e={ch:"terminal",id:a,type:"data",data:c,...d&&{projectId:d}};b.current.send(JSON.stringify(e))}},[]),C=(0,e.useCallback)((a,c,d,e,g)=>{if(f.current.set(j(a,c),{id:a,projectId:c,tmuxName:d,cols:e,rows:g}),b.current?.readyState===WebSocket.OPEN){let f={ch:"terminal",id:a,type:"open",...c&&{projectId:c},...d&&{tmuxName:d},...void 0!==e&&{cols:e},...void 0!==g&&{rows:g}};b.current.send(JSON.stringify(f))}},[]),D=(0,e.useCallback)((a,c)=>{if(f.current.delete(j(a,c)),b.current?.readyState===WebSocket.OPEN){let d={ch:"terminal",id:a,type:"close",...c&&{projectId:c}};b.current.send(JSON.stringify(d))}},[]),E=(0,e.useCallback)((a,c,d,e)=>{if(b.current?.readyState===WebSocket.OPEN){let f={ch:"terminal",id:a,type:"resize",cols:c,rows:d,...e&&{projectId:e}};b.current.send(JSON.stringify(f))}},[]),F=(0,e.useMemo)(()=>({subscribeTerminal:A,writeTerminal:B,openTerminal:C,closeTerminal:D,resizeTerminal:E,status:i,sessions:l,notifications:n,notificationLimit:p,lastError:r,notificationError:t}),[A,B,C,D,E,i,l,n,p,r,t]);return(0,d.jsx)(g.Provider,{value:F,children:a})}},60745:(a,b,c)=>{Promise.resolve().then(c.bind(c,94666)),Promise.resolve().then(c.bind(c,81871))},63028:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(68844),e=c(16819);function f(){return(0,d.jsx)(e.ErrorDisplay,{title:"Page not found",message:"This route does not exist in the dashboard. Return to the main view to pick an active project or session.",tone:"not-found",primaryAction:{label:"Back to dashboard",href:"/"}})}},65947:(a,b,c)=>{Promise.resolve().then(c.bind(c,26400))},69648:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>n,generateMetadata:()=>m,viewport:()=>l});var d=c(68844),e=c(81249),f=c(81871),g=c(94666),h=c(39936),i=c.n(h),j=c(68333),k=c.n(j);c(24553),c(44182),c(84322),c(87590);let l={width:"device-width",initialScale:1,viewportFit:"cover",themeColor:[{media:"(prefers-color-scheme: light)",color:"#f5f3f0"},{media:"(prefers-color-scheme: dark)",color:"#0a0b0d"}]};async function m(){let a=(0,e.P_)();return{title:{template:`%s | ${a}`,default:`athene | ${a}`},description:"Dashboard for managing parallel AI coding agents",appleWebApp:{capable:!0,statusBarStyle:"black-translucent",title:`athene | ${a}`}}}function n({children:a}){return(0,d.jsx)("html",{lang:"en",className:`dark ${i().variable} ${k().variable}`,suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{className:"h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased",children:[(0,d.jsx)(g.Providers,{children:a}),(0,d.jsx)(f.ServiceWorkerRegistrar,{})]})})}},72780:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,8125,23)),Promise.resolve().then(c.t.bind(c,6125,23)),Promise.resolve().then(c.t.bind(c,74148,23)),Promise.resolve().then(c.t.bind(c,10236,23)),Promise.resolve().then(c.t.bind(c,97760,23)),Promise.resolve().then(c.t.bind(c,9528,23)),Promise.resolve().then(c.t.bind(c,20225,23)),Promise.resolve().then(c.bind(c,23240))},81249:(a,b,c)=>{"use strict";c.d(b,{Bq:()=>m,P_:()=>l,cf:()=>n});var d=c(29685),e=c(73024),f=c(76760),g=c(8868);function h(){let a=(0,g.NoB)();try{return(0,g.Z9L)(a)}catch(a){if(a instanceof g.kw3||a instanceof Error&&"code"in a&&"ENOENT"===a.code)return(0,g.Z9L)();throw a}}function i(a){try{return(0,e.realpathSync)(a)}catch{return(0,f.resolve)(a)}}function j(a,b){let c=i(a);for(let[a,d]of Object.entries(b.projects))if("string"==typeof d.path&&i(d.path)===c)return a}function k(a=h()){try{let b=function(a){try{let b=function(a){let b=(0,f.resolve)(a);for(;;){for(let a of["agent-orchestrator.yaml","agent-orchestrator.yml"]){let c=(0,f.resolve)(b,a);if((0,e.existsSync)(c))return c}let a=(0,f.dirname)(b);if(a===b)return;b=a}}(process.cwd());if(!b)return;let c=(0,g.Z9L)(b),d=i((0,g.NoB)());if(i(c.configPath)!==d){for(let b of Object.values(c.projects)){if("string"!=typeof b.path)continue;let c=j(b.path,a);if(c)return c}return j((0,f.dirname)(c.configPath),a)}}catch{}}(a);if(b)return b;let c=i(process.cwd());return j(c,a)}catch{return}}let l=(0,d.cache)(()=>{try{let a=h(),b=k(a);if(b){let c=a.projects[b];return c?.name??b}let c=Object.keys(a.projects)[0];if(c)return(a.projects[c].name??c)||c||"athene"}catch{}return"athene"}),m=(0,d.cache)(()=>{try{let a=h(),b=k(a);if(b)return b;let c=Object.keys(a.projects)[0];if(c)return c}catch{}return"athene"}),n=(0,d.cache)(()=>{try{let a=h();return[...Object.entries(a.projects).map(([a,b])=>({id:a,name:b.name??a,sessionPrefix:b.sessionPrefix??a})),...Object.entries(a.degradedProjects).map(([a,b])=>({id:a,name:a,sessionPrefix:a,resolveError:b.resolveError}))]}catch{return[]}})},81871:(a,b,c)=>{"use strict";c.d(b,{ServiceWorkerRegistrar:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call ServiceWorkerRegistrar() from the server but ServiceWorkerRegistrar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/components/ServiceWorkerRegistrar.tsx","ServiceWorkerRegistrar")},82300:(a,b,c)=>{Promise.resolve().then(c.bind(c,16819))},82834:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/Athene/Athene/packages/web/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/app/error.tsx","default")},84322:()=>{},85932:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,57035,23)),Promise.resolve().then(c.t.bind(c,57543,23)),Promise.resolve().then(c.t.bind(c,970,23)),Promise.resolve().then(c.t.bind(c,84702,23)),Promise.resolve().then(c.t.bind(c,18706,23)),Promise.resolve().then(c.t.bind(c,11194,23)),Promise.resolve().then(c.t.bind(c,33151,23)),Promise.resolve().then(c.t.bind(c,75210,23))},87590:()=>{},88496:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>g});var d=c(33666),e=c(93463),f=c(58976);function g({children:a}){return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"dark",themes:["light","dark","ocean"],enableSystem:!1,children:(0,d.jsx)(f.i2,{children:a})})}},89252:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(33666),e=c(50436);c(81115);var f=c(23041);function g({error:a,reset:b}){let c=(0,e.useRouter)();return(0,d.jsx)(f.ErrorDisplay,{title:"Something went wrong",message:"The dashboard hit an unexpected error. Try reloading the route data or head back to the main dashboard.",tone:"warning",primaryAction:{label:"Try again",onClick:()=>{b(),c.refresh()}},secondaryAction:{label:"Back to dashboard",href:"/"},error:a,compact:!0,chrome:"card"})}},94666:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Athene/Athene/packages/web/src/app/providers.tsx","Providers")}};