@made-by-moonlight/athene-web 0.9.2

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 (302) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +448 -0
  3. package/.next/app-path-routes-manifest.json +47 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/export-marker.json +6 -0
  6. package/.next/images-manifest.json +58 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +172 -0
  11. package/.next/react-loadable-manifest.json +61 -0
  12. package/.next/required-server-files.json +335 -0
  13. package/.next/routes-manifest.json +234 -0
  14. package/.next/server/app/_not-found/page.js +2 -0
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  17. package/.next/server/app/_not-found.html +1 -0
  18. package/.next/server/app/_not-found.meta +8 -0
  19. package/.next/server/app/_not-found.rsc +24 -0
  20. package/.next/server/app/api/backlog/route.js +1 -0
  21. package/.next/server/app/api/backlog/route.js.nft.json +1 -0
  22. package/.next/server/app/api/backlog/route_client-reference-manifest.js +1 -0
  23. package/.next/server/app/api/browse-directory/route.js +1 -0
  24. package/.next/server/app/api/browse-directory/route.js.nft.json +1 -0
  25. package/.next/server/app/api/browse-directory/route_client-reference-manifest.js +1 -0
  26. package/.next/server/app/api/filesystem/browse/route.js +1 -0
  27. package/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
  28. package/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/issues/route.js +1 -0
  30. package/.next/server/app/api/issues/route.js.nft.json +1 -0
  31. package/.next/server/app/api/issues/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/observability/route.js +1 -0
  33. package/.next/server/app/api/observability/route.js.nft.json +1 -0
  34. package/.next/server/app/api/observability/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/orchestrators/route.js +1 -0
  36. package/.next/server/app/api/orchestrators/route.js.nft.json +1 -0
  37. package/.next/server/app/api/orchestrators/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/projects/[id]/route.js +5 -0
  39. package/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  40. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -0
  41. package/.next/server/app/api/projects/reload/route.js +1 -0
  42. package/.next/server/app/api/projects/reload/route.js.nft.json +1 -0
  43. package/.next/server/app/api/projects/reload/route_client-reference-manifest.js +1 -0
  44. package/.next/server/app/api/projects/route.js +1 -0
  45. package/.next/server/app/api/projects/route.js.nft.json +1 -0
  46. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/prs/[id]/merge/route.js +1 -0
  48. package/.next/server/app/api/prs/[id]/merge/route.js.nft.json +1 -0
  49. package/.next/server/app/api/prs/[id]/merge/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/reviews/execute/route.js +1 -0
  51. package/.next/server/app/api/reviews/execute/route.js.nft.json +1 -0
  52. package/.next/server/app/api/reviews/execute/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/reviews/findings/route.js +1 -0
  54. package/.next/server/app/api/reviews/findings/route.js.nft.json +1 -0
  55. package/.next/server/app/api/reviews/findings/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/reviews/route.js +1 -0
  57. package/.next/server/app/api/reviews/route.js.nft.json +1 -0
  58. package/.next/server/app/api/reviews/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/reviews/send/route.js +1 -0
  60. package/.next/server/app/api/reviews/send/route.js.nft.json +1 -0
  61. package/.next/server/app/api/reviews/send/route_client-reference-manifest.js +1 -0
  62. package/.next/server/app/api/runtime/terminal/route.js +1 -0
  63. package/.next/server/app/api/runtime/terminal/route.js.nft.json +1 -0
  64. package/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -0
  65. package/.next/server/app/api/sessions/[id]/kill/route.js +1 -0
  66. package/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -0
  67. package/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -0
  68. package/.next/server/app/api/sessions/[id]/message/route.js +1 -0
  69. package/.next/server/app/api/sessions/[id]/message/route.js.nft.json +1 -0
  70. package/.next/server/app/api/sessions/[id]/message/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/sessions/[id]/remap/route.js +1 -0
  72. package/.next/server/app/api/sessions/[id]/remap/route.js.nft.json +1 -0
  73. package/.next/server/app/api/sessions/[id]/remap/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/sessions/[id]/restore/route.js +1 -0
  75. package/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -0
  76. package/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -0
  77. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  78. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  79. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/sessions/[id]/send/route.js +1 -0
  81. package/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -0
  82. package/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/sessions/patches/route.js +1 -0
  84. package/.next/server/app/api/sessions/patches/route.js.nft.json +1 -0
  85. package/.next/server/app/api/sessions/patches/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/sessions/route.js +1 -0
  87. package/.next/server/app/api/sessions/route.js.nft.json +1 -0
  88. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/setup-labels/route.js +1 -0
  90. package/.next/server/app/api/setup-labels/route.js.nft.json +1 -0
  91. package/.next/server/app/api/setup-labels/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/spawn/route.js +1 -0
  93. package/.next/server/app/api/spawn/route.js.nft.json +1 -0
  94. package/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -0
  95. package/.next/server/app/api/update/route.js +1 -0
  96. package/.next/server/app/api/update/route.js.nft.json +1 -0
  97. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/verify/route.js +1 -0
  99. package/.next/server/app/api/verify/route.js.nft.json +1 -0
  100. package/.next/server/app/api/verify/route_client-reference-manifest.js +1 -0
  101. package/.next/server/app/api/version/route.js +1 -0
  102. package/.next/server/app/api/version/route.js.nft.json +1 -0
  103. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/webhooks/[...slug]/route.js +1 -0
  105. package/.next/server/app/api/webhooks/[...slug]/route.js.nft.json +1 -0
  106. package/.next/server/app/api/webhooks/[...slug]/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/apple-icon/route.js +1 -0
  108. package/.next/server/app/apple-icon/route.js.nft.json +1 -0
  109. package/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/apple-icon.body +0 -0
  111. package/.next/server/app/apple-icon.meta +1 -0
  112. package/.next/server/app/dev/terminal-test/page.js +15 -0
  113. package/.next/server/app/dev/terminal-test/page.js.nft.json +1 -0
  114. package/.next/server/app/dev/terminal-test/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/dev/terminal-test.html +1 -0
  116. package/.next/server/app/dev/terminal-test.meta +7 -0
  117. package/.next/server/app/dev/terminal-test.rsc +28 -0
  118. package/.next/server/app/icon/route.js +1 -0
  119. package/.next/server/app/icon/route.js.nft.json +1 -0
  120. package/.next/server/app/icon/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/icon-192/route.js +1 -0
  122. package/.next/server/app/icon-192/route.js.nft.json +1 -0
  123. package/.next/server/app/icon-192/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/icon-512/route.js +1 -0
  125. package/.next/server/app/icon-512/route.js.nft.json +1 -0
  126. package/.next/server/app/icon-512/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/icon.body +0 -0
  128. package/.next/server/app/icon.meta +1 -0
  129. package/.next/server/app/manifest.webmanifest/route.js +16 -0
  130. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  131. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  132. package/.next/server/app/manifest.webmanifest.body +1 -0
  133. package/.next/server/app/manifest.webmanifest.meta +1 -0
  134. package/.next/server/app/page.js +2 -0
  135. package/.next/server/app/page.js.nft.json +1 -0
  136. package/.next/server/app/page_client-reference-manifest.js +1 -0
  137. package/.next/server/app/projects/[projectId]/page.js +2 -0
  138. package/.next/server/app/projects/[projectId]/page.js.nft.json +1 -0
  139. package/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -0
  140. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js +2 -0
  141. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js.nft.json +1 -0
  142. package/.next/server/app/projects/[projectId]/sessions/[id]/page_client-reference-manifest.js +1 -0
  143. package/.next/server/app/projects/[projectId]/settings/page.js +2 -0
  144. package/.next/server/app/projects/[projectId]/settings/page.js.nft.json +1 -0
  145. package/.next/server/app/projects/[projectId]/settings/page_client-reference-manifest.js +1 -0
  146. package/.next/server/app/prs/page.js +2 -0
  147. package/.next/server/app/prs/page.js.nft.json +1 -0
  148. package/.next/server/app/prs/page_client-reference-manifest.js +1 -0
  149. package/.next/server/app/review/page.js +2 -0
  150. package/.next/server/app/review/page.js.nft.json +1 -0
  151. package/.next/server/app/review/page_client-reference-manifest.js +1 -0
  152. package/.next/server/app/reviews/page.js +2 -0
  153. package/.next/server/app/reviews/page.js.nft.json +1 -0
  154. package/.next/server/app/reviews/page_client-reference-manifest.js +1 -0
  155. package/.next/server/app/sessions/[id]/page.js +2 -0
  156. package/.next/server/app/sessions/[id]/page.js.nft.json +1 -0
  157. package/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -0
  158. package/.next/server/app/test-direct/page.js +2 -0
  159. package/.next/server/app/test-direct/page.js.nft.json +1 -0
  160. package/.next/server/app/test-direct/page_client-reference-manifest.js +1 -0
  161. package/.next/server/app/test-direct.html +1 -0
  162. package/.next/server/app/test-direct.meta +7 -0
  163. package/.next/server/app/test-direct.rsc +28 -0
  164. package/.next/server/app-paths-manifest.json +47 -0
  165. package/.next/server/chunks/1215.js +1 -0
  166. package/.next/server/chunks/1271.js +1 -0
  167. package/.next/server/chunks/2106.js +1 -0
  168. package/.next/server/chunks/2347.js +3 -0
  169. package/.next/server/chunks/2899.js +1 -0
  170. package/.next/server/chunks/2914.js +1 -0
  171. package/.next/server/chunks/4033.js +1 -0
  172. package/.next/server/chunks/4148.js +942 -0
  173. package/.next/server/chunks/4422.js +32 -0
  174. package/.next/server/chunks/5053.js +1 -0
  175. package/.next/server/chunks/5689.js +1 -0
  176. package/.next/server/chunks/6148.js +9 -0
  177. package/.next/server/chunks/6582.js +25 -0
  178. package/.next/server/chunks/7002.js +1 -0
  179. package/.next/server/chunks/7486.js +9 -0
  180. package/.next/server/chunks/8803.js +6 -0
  181. package/.next/server/chunks/9472.js +847 -0
  182. package/.next/server/chunks/9493.js +1 -0
  183. package/.next/server/chunks/9561.js +22 -0
  184. package/.next/server/chunks/966.js +1 -0
  185. package/.next/server/functions-config-manifest.json +4 -0
  186. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  187. package/.next/server/middleware-build-manifest.js +1 -0
  188. package/.next/server/middleware-manifest.json +6 -0
  189. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  190. package/.next/server/next-font-manifest.js +1 -0
  191. package/.next/server/next-font-manifest.json +1 -0
  192. package/.next/server/pages/404.html +1 -0
  193. package/.next/server/pages/500.html +1 -0
  194. package/.next/server/pages/_app.js +1 -0
  195. package/.next/server/pages/_app.js.nft.json +1 -0
  196. package/.next/server/pages/_document.js +1 -0
  197. package/.next/server/pages/_document.js.nft.json +1 -0
  198. package/.next/server/pages/_error.js +19 -0
  199. package/.next/server/pages/_error.js.nft.json +1 -0
  200. package/.next/server/pages-manifest.json +6 -0
  201. package/.next/server/server-reference-manifest.js +1 -0
  202. package/.next/server/server-reference-manifest.json +1 -0
  203. package/.next/server/webpack-runtime.js +1 -0
  204. package/.next/static/chunks/0f200859.359176a445d2791f.js +10 -0
  205. package/.next/static/chunks/1089-c6d7995c7c19039a.js +1 -0
  206. package/.next/static/chunks/1461-af7c54935f21d56d.js +1 -0
  207. package/.next/static/chunks/2073-4192de0bb00cc993.js +1 -0
  208. package/.next/static/chunks/3764.4c736d9a181489a4.js +1 -0
  209. package/.next/static/chunks/4115-1a4fa80ec67a29d3.js +1 -0
  210. package/.next/static/chunks/4751.6c71bfc0c4520627.js +1 -0
  211. package/.next/static/chunks/503.f7ff284457dd9c40.js +1 -0
  212. package/.next/static/chunks/5204.7de7e266895bced7.js +1 -0
  213. package/.next/static/chunks/6835.7a29fa4b665b7c2f.js +1 -0
  214. package/.next/static/chunks/7008-0d9bee1bf4bfcbea.js +1 -0
  215. package/.next/static/chunks/7317.685aa5231218e8d3.js +1 -0
  216. package/.next/static/chunks/8204-7c7837ed694da99c.js +1 -0
  217. package/.next/static/chunks/8713-d3d663f55dc00e48.js +1 -0
  218. package/.next/static/chunks/8759-490573536f93f85c.js +1 -0
  219. package/.next/static/chunks/88a6fc35-f836b4b72df5eafa.js +1 -0
  220. package/.next/static/chunks/9531-a5175e55fa0db48d.js +1 -0
  221. package/.next/static/chunks/9876-de0c5a1a319b4e8e.js +1 -0
  222. package/.next/static/chunks/app/_not-found/page-6add9dacf1870b4b.js +1 -0
  223. package/.next/static/chunks/app/api/backlog/route-6add9dacf1870b4b.js +1 -0
  224. package/.next/static/chunks/app/api/browse-directory/route-6add9dacf1870b4b.js +1 -0
  225. package/.next/static/chunks/app/api/filesystem/browse/route-6add9dacf1870b4b.js +1 -0
  226. package/.next/static/chunks/app/api/issues/route-6add9dacf1870b4b.js +1 -0
  227. package/.next/static/chunks/app/api/observability/route-6add9dacf1870b4b.js +1 -0
  228. package/.next/static/chunks/app/api/orchestrators/route-6add9dacf1870b4b.js +1 -0
  229. package/.next/static/chunks/app/api/projects/[id]/route-6add9dacf1870b4b.js +1 -0
  230. package/.next/static/chunks/app/api/projects/reload/route-6add9dacf1870b4b.js +1 -0
  231. package/.next/static/chunks/app/api/projects/route-6add9dacf1870b4b.js +1 -0
  232. package/.next/static/chunks/app/api/prs/[id]/merge/route-6add9dacf1870b4b.js +1 -0
  233. package/.next/static/chunks/app/api/reviews/execute/route-6add9dacf1870b4b.js +1 -0
  234. package/.next/static/chunks/app/api/reviews/findings/route-6add9dacf1870b4b.js +1 -0
  235. package/.next/static/chunks/app/api/reviews/route-6add9dacf1870b4b.js +1 -0
  236. package/.next/static/chunks/app/api/reviews/send/route-6add9dacf1870b4b.js +1 -0
  237. package/.next/static/chunks/app/api/runtime/terminal/route-6add9dacf1870b4b.js +1 -0
  238. package/.next/static/chunks/app/api/sessions/[id]/kill/route-6add9dacf1870b4b.js +1 -0
  239. package/.next/static/chunks/app/api/sessions/[id]/message/route-6add9dacf1870b4b.js +1 -0
  240. package/.next/static/chunks/app/api/sessions/[id]/remap/route-6add9dacf1870b4b.js +1 -0
  241. package/.next/static/chunks/app/api/sessions/[id]/restore/route-6add9dacf1870b4b.js +1 -0
  242. package/.next/static/chunks/app/api/sessions/[id]/route-6add9dacf1870b4b.js +1 -0
  243. package/.next/static/chunks/app/api/sessions/[id]/send/route-6add9dacf1870b4b.js +1 -0
  244. package/.next/static/chunks/app/api/sessions/patches/route-6add9dacf1870b4b.js +1 -0
  245. package/.next/static/chunks/app/api/sessions/route-6add9dacf1870b4b.js +1 -0
  246. package/.next/static/chunks/app/api/setup-labels/route-6add9dacf1870b4b.js +1 -0
  247. package/.next/static/chunks/app/api/spawn/route-6add9dacf1870b4b.js +1 -0
  248. package/.next/static/chunks/app/api/update/route-6add9dacf1870b4b.js +1 -0
  249. package/.next/static/chunks/app/api/verify/route-6add9dacf1870b4b.js +1 -0
  250. package/.next/static/chunks/app/api/version/route-6add9dacf1870b4b.js +1 -0
  251. package/.next/static/chunks/app/api/webhooks/[...slug]/route-6add9dacf1870b4b.js +1 -0
  252. package/.next/static/chunks/app/apple-icon/route-6add9dacf1870b4b.js +1 -0
  253. package/.next/static/chunks/app/dev/terminal-test/page-d0132109f9d8524e.js +1 -0
  254. package/.next/static/chunks/app/error-d632d0714b987864.js +1 -0
  255. package/.next/static/chunks/app/global-error-f6bef179169bcdae.js +1 -0
  256. package/.next/static/chunks/app/icon/route-6add9dacf1870b4b.js +1 -0
  257. package/.next/static/chunks/app/icon-192/route-6add9dacf1870b4b.js +1 -0
  258. package/.next/static/chunks/app/icon-512/route-6add9dacf1870b4b.js +1 -0
  259. package/.next/static/chunks/app/layout-5cac6fe817194d7a.js +1 -0
  260. package/.next/static/chunks/app/loading-6add9dacf1870b4b.js +1 -0
  261. package/.next/static/chunks/app/manifest.webmanifest/route-6add9dacf1870b4b.js +1 -0
  262. package/.next/static/chunks/app/not-found-cba3f587e1f98dcb.js +1 -0
  263. package/.next/static/chunks/app/page-cf7bccb75990950d.js +1 -0
  264. package/.next/static/chunks/app/projects/[projectId]/layout-6add9dacf1870b4b.js +1 -0
  265. package/.next/static/chunks/app/projects/[projectId]/loading-6add9dacf1870b4b.js +1 -0
  266. package/.next/static/chunks/app/projects/[projectId]/page-039a93b16089ed57.js +1 -0
  267. package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-043b525bedb8f0f7.js +1 -0
  268. package/.next/static/chunks/app/projects/[projectId]/settings/page-63572555892d7a61.js +1 -0
  269. package/.next/static/chunks/app/projects/layout-d43b2e38d46221bd.js +1 -0
  270. package/.next/static/chunks/app/prs/page-e447852fbe0c6ee4.js +1 -0
  271. package/.next/static/chunks/app/review/page-022b2d2c326ff413.js +1 -0
  272. package/.next/static/chunks/app/reviews/page-6add9dacf1870b4b.js +1 -0
  273. package/.next/static/chunks/app/sessions/[id]/error-67c0d27f977a1cc1.js +1 -0
  274. package/.next/static/chunks/app/sessions/[id]/loading-6add9dacf1870b4b.js +1 -0
  275. package/.next/static/chunks/app/sessions/[id]/not-found-cba3f587e1f98dcb.js +1 -0
  276. package/.next/static/chunks/app/sessions/[id]/page-863cf8dd2c76d06d.js +1 -0
  277. package/.next/static/chunks/app/test-direct/page-8b80ed180c0f2f42.js +1 -0
  278. package/.next/static/chunks/e12b4bb0.8742134e1ac0263f.js +58 -0
  279. package/.next/static/chunks/framework-7060e2ac4971c604.js +1 -0
  280. package/.next/static/chunks/main-app-162601c3f1c01b19.js +1 -0
  281. package/.next/static/chunks/main-ed1610689fbd6f0d.js +1 -0
  282. package/.next/static/chunks/pages/_app-f4baf4dbe88f6f54.js +1 -0
  283. package/.next/static/chunks/pages/_error-a7f6723f42093f29.js +1 -0
  284. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  285. package/.next/static/chunks/webpack-f9566aaa604a1b07.js +1 -0
  286. package/.next/static/css/0c9b7451c2ce7c02.css +1 -0
  287. package/.next/static/css/7ca4e3753c1c7833.css +1 -0
  288. package/.next/static/css/b4a15f23f468892a.css +1 -0
  289. package/.next/static/css/d06ee45019116677.css +1 -0
  290. package/.next/static/media/91601dd83defba07-s.p.woff2 +0 -0
  291. package/.next/static/media/aa8291c31d4e9e54-s.p.woff2 +0 -0
  292. package/.next/static/pROr0laPuZIdA4NYNygMD/_buildManifest.js +1 -0
  293. package/.next/static/pROr0laPuZIdA4NYNygMD/_ssgManifest.js +1 -0
  294. package/LICENSE +22 -0
  295. package/dist-server/direct-terminal-ws.js +109 -0
  296. package/dist-server/mux-websocket.js +1162 -0
  297. package/dist-server/single-port-server.js +305 -0
  298. package/dist-server/start-all.js +150 -0
  299. package/dist-server/terminal-observability.js +16 -0
  300. package/dist-server/tmux-utils.js +301 -0
  301. package/next.config.js +71 -0
  302. package/package.json +97 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5998],{904:(e,t,s)=>{"use strict";s.d(t,{ProjectLayoutClient:()=>d});var n=s(3817),r=s(6749),o=s(7594),i=s(5309),l=s(5184),a=s(4115),u=s(2466),c=s(9120);function d(e){let{children:t,initialSessions:s,initialProjects:d,initialOrchestrators:v}=e,f=(0,o.useParams)(),p=(0,o.usePathname)(),h="string"==typeof f.projectId?f.projectId:void 0,m=function(e){var t;if(!e)return;let s=e.match(/\/sessions\/([^/]+)/);return null!=(t=null==s?void 0:s[1])?t:void 0}(p),b=(0,c.U)(c.D),[w,g]=(0,r.useState)(!1),[E,L]=(0,r.useState)(!1);(0,r.useEffect)(()=>{L(!1)},[p]);let y=(0,l.eT)(),{sessions:k,liveSessionsResolved:R}=(0,i.D)({initialSessions:s,muxSessions:(null==y?void 0:y.status)==="connected"?y.sessions:void 0,muxLastError:null==y?void 0:y.lastError,attentionZones:"simple"}),j=(0,r.useCallback)(()=>{b?L(e=>!e):g(e=>!e)},[b]);return(0,n.jsx)(u.I.Provider,{value:{onToggleSidebar:j,mobileSidebarOpen:E},children:(0,n.jsx)("div",{className:"dashboard-app-shell",children:(0,n.jsxs)("div",{className:"dashboard-shell--desktop".concat(w?" dashboard-shell--sidebar-collapsed":""),children:[(0,n.jsx)("div",{className:"sidebar-wrapper".concat(E?" sidebar-wrapper--mobile-open":""),children:(0,n.jsx)(a.u,{projects:d,sessions:k,orchestrators:v,activeProjectId:h,activeSessionId:m,loading:!R,collapsed:w,onToggleCollapsed:()=>g(e=>!e),onMobileClose:()=>L(!1)})}),E&&(0,n.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>L(!1)}),t]})})})}},2036:(e,t,s)=>{Promise.resolve().then(s.bind(s,904))},2466:(e,t,s)=>{"use strict";s.d(t,{I:()=>r,V:()=>o});var n=s(6749);let r=(0,n.createContext)(null);function o(){return(0,n.useContext)(r)}},5309:(e,t,s)=>{"use strict";s.d(t,{D:()=>d});var n=s(6749),r=s(545),o=s(3394);let i=new Set(["merge","action","respond","review","pending","working","done"]),l=new Set(["active","ready","idle","waiting_input","blocked","exited"]),a=new Set(["spawning","working","detecting","pr_open","ci_failed","review_pending","changes_requested","approved","mergeable","merged","cleanup","needs_input","stuck","errored","killed","idle","done","terminated"]);function u(e,t){switch(t.type){case"setLoadError":return e.loadError===t.error?e:{...e,loadError:t.error};case"reset":return{...e,sessions:t.sessions,...t.liveResolved?{liveSessionsResolved:!0,loadError:null}:{},...void 0!==t.attentionLevels?{attentionLevels:t.attentionLevels}:{}};case"snapshot":{let s=new Map(t.patches.map(e=>[e.id,e])),n=!1,r=e.sessions.map(e=>{let t=s.get(e.id);return t&&(e.status!==t.status||e.activity!==t.activity||e.lastActivityAt!==t.lastActivityAt)?(n=!0,{...e,status:a.has(t.status)?t.status:e.status,activity:null!==t.activity&&l.has(t.activity)?t.activity:null,lastActivityAt:t.lastActivityAt}):e}),o={};for(let e of t.patches){if(!i.has(e.attentionLevel)){console.warn("[useSessionEvents] Unknown attentionLevel from server:",e.attentionLevel);continue}o[e.id]=e.attentionLevel}let u=n,c=Object.keys(o).length!==Object.keys(e.attentionLevels).length||t.patches.some(t=>e.attentionLevels[t.id]!==t.attentionLevel);if(!u&&!c){if(e.liveSessionsResolved)return e;return{...e,liveSessionsResolved:!0}}return{...e,sessions:u?r:e.sessions,attentionLevels:c?o:e.attentionLevels,liveSessionsResolved:!0}}}}function c(e){return e.map(e=>e.id).sort().join("\0")}function d(e){let{initialSessions:t,project:s,muxSessions:i,initialAttentionLevels:l,muxLastError:a,disabled:d=!1,attentionZones:v}=e,[f,p]=(0,n.useReducer)(u,{sessions:t,attentionLevels:null!=l?l:{},liveSessionsResolved:!1,loadError:null}),h=(0,n.useRef)(f.sessions),m=(0,n.useRef)(l);m.current=l;let b=(0,n.useRef)(null),w=(0,n.useRef)(null),g=(0,n.useRef)(0),E=(0,n.useRef)(0),L=(0,n.useRef)(null),y=(0,n.useRef)(!1);(0,n.useEffect)(()=>{h.current=f.sessions},[f.sessions]),(0,n.useEffect)(()=>{var e;p({type:"reset",sessions:t,attentionLevels:null!=(e=m.current)?e:{}})},[t]),(0,n.useEffect)(()=>{y.current=!1;let e=()=>{y.current=!0};return window.addEventListener("pagehide",e),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("pagehide",e),window.removeEventListener("beforeunload",e)}},[]);let k=(0,n.useCallback)(()=>{b.current||Date.now()-E.current<500||null===L.current&&(b.current=setTimeout(()=>{if(b.current=null,null!==L.current)return;let e=w.current,t=new AbortController;L.current=t,E.current=Date.now();let n=s?"/api/sessions?project=".concat(encodeURIComponent(s)):"/api/sessions";(0,o.uE)(n,{signal:t.signal,cache:"no-store",timeoutMs:6e3,timeoutMessage:"Dashboard refresh timed out after ".concat(6e3,"ms")}).then(e=>{if(t.signal.aborted||!(null==e?void 0:e.sessions)){t.signal.aborted||(g.current=Date.now());return}g.current=Date.now();let s=Object.fromEntries(e.sessions.map(e=>[e.id,(0,r.ng)(e,v)]));p({type:"reset",sessions:e.sessions,attentionLevels:s,liveResolved:!0})}).catch(e=>{y.current||t.signal.aborted||function(e){if(e instanceof DOMException)return"AbortError"===e.name;if(e instanceof Error){let t=e.message.toLowerCase();return t.includes("aborted")||t.includes("aborterror")}return!1}(e)||(console.warn("[useSessionEvents] refresh failed:",e),g.current=Date.now())}).finally(()=>{if(L.current===t&&(L.current=null),t.signal.aborted){null!==w.current&&k();return}if(null!==w.current&&w.current!==e)return void k();w.current=null})},120))},[s,v]);return(0,n.useEffect)(()=>{d||p({type:"setLoadError",error:null!=a?a:null})},[d,a]),(0,n.useEffect)(()=>{if(d||!i)return;let e=new Set(h.current.map(e=>e.id)),t=i.filter(t=>e.has(t.id)),s=i.some(t=>!e.has(t.id));p({type:"snapshot",patches:t});let n=c(h.current),r=c(t);return s||n!==r?(w.current=r,k()):Date.now()-g.current>=15e3&&k(),()=>{var e;null==(e=L.current)||e.abort(),L.current=null}},[d,i,k]),(0,n.useEffect)(()=>()=>{var e;b.current&&(clearTimeout(b.current),b.current=null),null==(e=L.current)||e.abort(),L.current=null},[]),f}}},e=>{e.O(0,[8713,8204,2073,4115,1089,131,1461,7358],()=>e(e.s=2036)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6450],{1363:(e,s,r)=>{Promise.resolve().then(r.bind(r,6802))},2537:(e,s,r)=>{"use strict";r.d(s,{X:()=>o});var a=r(3817),t=r(8713),l=r.n(t);function o(e){let{ariaLabel:s,activeTab:r,dashboardHref:t,prsHref:o,showOrchestrator:n=!0,orchestratorHref:c=null}=e;return(0,a.jsxs)("nav",{className:"mobile-bottom-nav","aria-label":s,children:[(0,a.jsxs)(l(),{href:t,className:"mobile-bottom-nav__item","data-active":"dashboard"===r?"true":"false","aria-current":"dashboard"===r?"page":void 0,children:[(0,a.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M3 13h8V3H3zm10 8h8V11h-8zM3 21h8v-6H3zm10-10h8V3h-8z"})}),(0,a.jsx)("span",{children:"Dashboard"})]}),(0,a.jsxs)(l(),{href:o,className:"mobile-bottom-nav__item","data-active":"prs"===r?"true":"false","aria-current":"prs"===r?"page":void 0,children:[(0,a.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"})}),(0,a.jsx)("span",{children:"PRs"})]}),n?c?(0,a.jsxs)(l(),{href:c,className:"mobile-bottom-nav__item","data-active":"orchestrator"===r?"true":"false","aria-current":"orchestrator"===r?"page":void 0,children:[(0,a.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M9 3H5a2 2 0 0 0-2 2v4m16 0V5a2 2 0 0 0-2-2h-4m0 18h4a2 2 0 0 0 2-2v-4M3 15v4a2 2 0 0 0 2 2h4"}),(0,a.jsx)("path",{d:"M9 9h6v6H9z"})]}),(0,a.jsx)("span",{children:"Orchestrator"})]}):(0,a.jsxs)("button",{type:"button",className:"mobile-bottom-nav__item",disabled:!0,children:[(0,a.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M9 3H5a2 2 0 0 0-2 2v4m16 0V5a2 2 0 0 0-2-2h-4m0 18h4a2 2 0 0 0 2-2v-4M3 15v4a2 2 0 0 0 2 2h4"}),(0,a.jsx)("path",{d:"M9 9h6v6H9z"})]}),(0,a.jsx)("span",{children:"Orchestrator"})]}):null]})}},6802:(e,s,r)=>{"use strict";r.d(s,{PullRequestsPage:()=>g});var a=r(3817),t=r(6749),l=r(7594),o=r(9120),n=r(545),c=r(5309),d=r(5184),i=r(4115),p=r(6004),h=r(7848),m=r(1237),x=r(2537);function b(e,s){return s?"".concat(e,"?project=").concat(encodeURIComponent(s)):"".concat(e,"?project=all")}r(5425);var u=r(8450);let j=[];function v(e){return"open"===e?"Open PRs":"merged"===e?"Merged PRs":"closed"===e?"Closed PRs":"All PRs"}function g(e){let{initialSessions:s,projectId:r,projectName:g,projects:N=[],orchestrators:f,attentionZones:_="simple"}=e,M=null!=f?f:j,k=(0,d.eT)(),y=(0,t.useMemo)(()=>{let e={};for(let r of s)e[r.id]=(0,n.ng)(r,_);return e},[s,_]),{sessions:w,attentionLevels:C}=(0,c.D)({initialSessions:s,project:r,muxSessions:(null==k?void 0:k.status)==="connected"?k.sessions:void 0,initialAttentionLevels:y,attentionZones:_}),P=(0,l.useSearchParams)(),[R,O]=(0,t.useState)(!1),[q,S]=(0,t.useState)(!1),H=(0,o.U)(o.D),z=N.length>1,I=z&&void 0===r,B=(0,t.useMemo)(()=>{var e;return r&&null!=(e=M.find(e=>e.projectId===r))?e:null},[M,r]),[W,T]=(0,t.useState)("all"),V=(0,t.useMemo)(()=>w.filter(e=>!!e.pr).map(e=>e.pr).sort((e,s)=>s.number-e.number),[w]),E=(0,t.useMemo)(()=>V.filter(e=>"open"===e.state),[V]),F=(0,t.useMemo)(()=>V.filter(e=>"merged"===e.state),[V]),G=(0,t.useMemo)(()=>V.filter(e=>"closed"===e.state),[V]),A=r?(0,u.bn)(r):b("/",r),D=b("/prs",r),U=B?(0,u.Nc)(B.projectId,B.id):null,L="open"===W?E:"merged"===W?F:"closed"===W?G:V;return(0,t.useEffect)(()=>{S(!1)},[P]),(0,a.jsxs)("div",{className:"dashboard-shell flex h-screen".concat(!H&&R?" dashboard-shell--sidebar-collapsed":""),children:[z?(0,a.jsx)("div",{className:"sidebar-wrapper".concat(q?" sidebar-wrapper--mobile-open":""),children:(0,a.jsx)(i.u,{projects:N,sessions:w,orchestrators:M,activeProjectId:r,activeSessionId:void 0,collapsed:R,onToggleCollapsed:()=>O(e=>!e),onMobileClose:()=>S(!1)})}):null,q&&(0,a.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>S(!1)}),(0,a.jsxs)("div",{className:"dashboard-main flex-1 overflow-y-auto px-4 py-4 md:px-7 md:py-6",children:[(0,a.jsx)(h.u,{attentionLevels:C,projectName:g?"".concat(g," PRs"):"Pull Requests"}),H?(0,a.jsxs)("section",{className:"mobile-pr-page-header",children:[(0,a.jsxs)("div",{className:"mobile-pr-page-header__top",children:[(0,a.jsxs)("div",{className:"mobile-pr-page-header__title-row",children:[z?(0,a.jsx)("button",{type:"button",className:"mobile-menu-toggle",onClick:()=>S(!0),"aria-label":"Open menu",children:(0,a.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-5 w-5",children:(0,a.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})})}):null,(0,a.jsx)("h1",{className:"mobile-pr-page-header__title",children:g?"".concat(g," PRs"):"Pull Requests"})]}),(0,a.jsxs)("div",{className:"mobile-pr-page-header__meta",children:[(0,a.jsx)("span",{className:"mobile-pr-page-header__count",children:V.length}),(0,a.jsx)(p.U,{})]})]}),(0,a.jsxs)("p",{className:"mobile-pr-page-header__subtitle",children:["Open pull requests created by agents",I?" across projects":" in this project","."]})]}):(0,a.jsxs)("section",{className:"dashboard-hero mb-5",children:[(0,a.jsx)("div",{className:"dashboard-hero__backdrop"}),(0,a.jsxs)("div",{className:"dashboard-hero__content",children:[z?(0,a.jsx)("button",{type:"button",className:"mobile-menu-toggle",onClick:()=>S(!0),"aria-label":"Open menu",children:(0,a.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-5 w-5",children:(0,a.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})})}):null,(0,a.jsxs)("div",{className:"dashboard-hero__primary",children:[(0,a.jsx)("div",{className:"dashboard-hero__heading",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"dashboard-title",children:g?"".concat(g," PRs"):"Pull Requests"}),(0,a.jsxs)("p",{className:"dashboard-subtitle",children:["Open pull requests created by agents",I?" across all projects":" in this project","."]})]})}),(0,a.jsx)("div",{className:"dashboard-stat-cards dashboard-stat-cards--persist-mobile",children:(0,a.jsxs)("div",{className:"dashboard-stat-card",children:[(0,a.jsx)("span",{className:"dashboard-stat-card__value",children:E.length}),(0,a.jsx)("span",{className:"dashboard-stat-card__label",children:"Open PRs"}),(0,a.jsx)("span",{className:"dashboard-stat-card__meta",children:I?"Across all projects":"In this project"})]})})]})]})]}),(0,a.jsxs)("section",{className:"mx-auto max-w-[900px]",children:[(0,a.jsx)("div",{className:H?"mobile-pr-filter-tabs":"mb-4 flex items-center gap-1.5",children:[{value:"all",label:"All",count:V.length},{value:"open",label:"Open",count:E.length},{value:"merged",label:"Merged",count:F.length},{value:"closed",label:"Closed",count:G.length}].map(e=>{let{value:s,label:r,count:t}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>T(s),className:H?"mobile-pr-filter-tab":["inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-[11px] font-semibold transition-colors",W===s?"border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] text-[var(--color-text-primary)]":"border-transparent bg-transparent text-[var(--color-text-muted)] hover:text-[var(--color-text-secondary)]"].join(" "),"data-active":H?String(W===s):void 0,children:[r,(0,a.jsx)("span",{className:H?"mobile-pr-filter-tab__count":"rounded-full bg-[var(--color-chip-bg)] px-1.5 py-px text-[9.5px] font-mono text-[var(--color-text-muted)]",children:t})]},s)})}),H?(0,a.jsx)("div",{className:"mobile-pr-mobile-layout",children:"all"===W?(0,a.jsxs)(a.Fragment,{children:[E.length>0&&(0,a.jsxs)("section",{className:"mobile-pr-group","aria-label":"Open pull requests",children:[(0,a.jsxs)("div",{className:"mobile-pr-section-header",children:[(0,a.jsx)("span",{children:"Open"}),(0,a.jsx)("span",{children:E.length})]}),(0,a.jsx)("div",{className:"mobile-pr-list",children:E.map(e=>(0,a.jsx)(m.dG,{pr:e},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))})]}),F.length>0&&(0,a.jsxs)("section",{className:"mobile-pr-group","aria-label":"Merged pull requests",children:[(0,a.jsxs)("div",{className:"mobile-pr-section-header",children:[(0,a.jsx)("span",{children:"Merged"}),(0,a.jsx)("span",{children:F.length})]}),(0,a.jsx)("div",{className:"mobile-pr-list",children:F.map(e=>(0,a.jsx)(m.dG,{pr:e,muted:!0},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))})]}),G.length>0&&(0,a.jsxs)("section",{className:"mobile-pr-group","aria-label":"Closed pull requests",children:[(0,a.jsxs)("div",{className:"mobile-pr-section-header",children:[(0,a.jsx)("span",{children:"Closed"}),(0,a.jsx)("span",{children:G.length})]}),(0,a.jsx)("div",{className:"mobile-pr-list",children:G.map(e=>(0,a.jsx)(m.dG,{pr:e,muted:!0},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))})]}),0===V.length&&(0,a.jsx)("div",{className:"mobile-pr-empty",children:"No pull requests yet."})]}):(0,a.jsxs)("section",{className:"mobile-pr-group","aria-label":v(W),children:[(0,a.jsxs)("div",{className:"mobile-pr-section-header",children:[(0,a.jsx)("span",{children:v(W).replace(" PRs","")}),(0,a.jsx)("span",{children:L.length})]}),(0,a.jsx)("div",{className:"mobile-pr-list",children:L.length>0?L.map(e=>(0,a.jsx)(m.dG,{pr:e,muted:"open"!==W},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number))):(0,a.jsx)("div",{className:"mobile-pr-empty",children:"No pull requests in this view."})})]})}):(0,a.jsx)("div",{className:"overflow-hidden rounded-[7px] border border-[var(--color-border-subtle)]",children:(0,a.jsxs)("table",{className:"w-full border-collapse",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-[var(--color-border-subtle)] bg-[var(--color-bg-elevated)]",children:[(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"PR"}),(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"Title"}),(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"Size"}),(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"CI"}),(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"Review"}),(0,a.jsx)("th",{className:"px-3 py-2 text-left text-[10.5px] font-mono font-500 uppercase tracking-[0.05em] text-[var(--color-text-muted)]",children:"Threads"})]})}),(0,a.jsxs)("tbody",{children:[("all"===W||"open"===W)&&E.length>0&&(0,a.jsxs)(a.Fragment,{children:["all"===W&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:6,className:"border-b border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-3 py-1.5 text-[9.5px] font-mono font-semibold uppercase tracking-[0.06em] text-[var(--color-text-muted)]",children:"Open"})}),E.map(e=>(0,a.jsx)(m.j6,{pr:e},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))]}),("all"===W||"merged"===W)&&F.length>0&&(0,a.jsxs)(a.Fragment,{children:["all"===W&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:6,className:"border-b border-t border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-3 py-1.5 text-[9.5px] font-mono font-semibold uppercase tracking-[0.06em] text-[var(--color-text-muted)]",children:"Merged"})}),F.map(e=>(0,a.jsx)(m.j6,{pr:e,muted:!0},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))]}),("all"===W||"closed"===W)&&G.length>0&&(0,a.jsxs)(a.Fragment,{children:["all"===W&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:6,className:"border-b border-t border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-3 py-1.5 text-[9.5px] font-mono font-semibold uppercase tracking-[0.06em] text-[var(--color-text-muted)]",children:"Closed"})}),G.map(e=>(0,a.jsx)(m.j6,{pr:e,muted:!0},"".concat(e.owner,"/").concat(e.repo,"-").concat(e.number)))]}),0===V.length&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:6,className:"px-4 py-6 text-[12px] text-[var(--color-text-secondary)]",children:"No pull requests yet."})})]})]})})]})]}),H?(0,a.jsx)(x.X,{ariaLabel:"PR navigation",activeTab:"prs",dashboardHref:A,prsHref:D,showOrchestrator:!I,orchestratorHref:U}):null]})}}},e=>{e.O(0,[8713,8204,2073,4115,1089,7008,131,1461,7358],()=>e(e.s=1363)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8975],{1735:(e,r,n)=>{"use strict";n.d(r,{ReviewDashboard:()=>R});var a=n(3817),s=n(8713),t=n.n(s),i=n(7594),l=n(6749),d=n(9120);let o=["queued","reviewing","triage","waiting","clean","failed","outdated"],c={queued:"Queued",reviewing:"Reviewing",triage:"Triage",waiting:"Waiting",clean:"Clean",failed:"Failed",outdated:"Outdated"};var u=n(8450),h=n(4115),p=n(2446),m=n(2466);let w=[],v=[],x=[],j=[],_={queued:"Review work requested but not executing yet.",reviewing:"A reviewer is reading a snapshot.",triage:"Findings need a human decision.",waiting:"Feedback is with the coding worker.",clean:"No open AO findings remain.",failed:"Reviewer runs that need retry or inspection.",outdated:"Runs superseded by newer worker commits."},g=new Set(["queued","needs_triage","sent_to_agent","waiting_update","clean"]);function k(e){let r=Date.parse(e);if(Number.isNaN(r))return e;let n=Math.floor((Date.now()-r)/6e4);if(n<1)return"just now";if(n<60)return"".concat(n,"m ago");let a=Math.floor(n/60);return a<24?"".concat(a,"h ago"):"".concat(Math.floor(a/24),"d ago")}function b(e){return e.replaceAll("_"," ")}function f(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"".concat(r,"s");return"".concat(e," ").concat(1===e?r:n)}function N(e){return!!e.workerHasRuntime&&"exited"!==e.workerActivity&&"missing"!==e.workerRuntimeState&&"exited"!==e.workerRuntimeState}function y(e){var r,n;return e.workerHasRuntime?"exited"===e.workerActivity?"exited":"missing"===e.workerRuntimeState?"runtime missing":"exited"===e.workerRuntimeState?"runtime exited":null!=(n=null!=(r=e.workerActivity)?r:e.workerStatus)?n:"worker":"no runtime"}function S(e){var r;let{runs:n=w,sidebarSessions:s=v,orchestrators:c=x,workerOptions:_=j,projectId:k,projectName:b,projects:N,dashboardLoadError:y}=e,{showToast:S}=(0,p.d)(),R=(0,i.useRouter)(),F=(0,l.useRef)(null),[E,M]=(0,l.useState)(n),[P,T]=(0,l.useState)(c),[A,B]=(0,l.useState)(null),[q,L]=(0,l.useState)(()=>new Set),[U,W]=(0,l.useState)(()=>new Set),[H,D]=(0,l.useState)(null),[V,J]=(0,l.useState)(!1),[Z,$]=(0,l.useState)(null),[Q,z]=(0,l.useState)(!1),[G,K]=(0,l.useState)(!1),X=(0,d.U)(d.D);(0,l.useEffect)(()=>{M(n)},[n]),(0,l.useEffect)(()=>{T(e=>(function(e,r){let n=new Map(e.map(e=>[e.projectId,e]));for(let e of r)n.set(e.projectId,e);return Array.from(n.values())})(e,c))},[c]),(0,l.useEffect)(()=>{if(!V)return;let e=e=>{F.current&&!F.current.contains(e.target)&&J(!1)},r=e=>{"Escape"===e.key&&J(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",r),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",r)}},[V]),(0,l.useEffect)(()=>{if(!Z)return;let e=e=>{"Escape"===e.key&&$(null)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[Z]);let Y=(0,l.useMemo)(()=>{let e={queued:[],reviewing:[],triage:[],waiting:[],clean:[],failed:[],outdated:[]};for(let r of E)e[function(e){switch(e.status){case"queued":case"preparing":return"queued";case"running":return"reviewing";case"needs_triage":return"triage";case"sent_to_agent":case"waiting_update":return"waiting";case"clean":return"clean";case"failed":case"cancelled":return"failed";case"outdated":return"outdated"}}(r)].push(r);return e},[E]),ee=!k,er=E.reduce((e,r)=>e+r.openFindingCount,0),en=E.filter(e=>["queued","preparing","running","needs_triage","sent_to_agent","waiting_update"].includes(e.status)).length,ea=k&&null!=(r=P.find(e=>e.projectId===k))?r:null,es=ea?(0,u.Nc)(ea.projectId,ea.id):null,et=k?_.filter(e=>e.projectId===k):_,ei=k?(0,u.bn)(k):"/?project=all",el=(0,u.nF)(k),ed=()=>{X?K(e=>!e):z(e=>!e)},eo=async e=>{if(!A){B(e.id);try{var r,n,a;let s=await fetch("/api/reviews",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e.id})}),t=await s.json().catch(()=>null);if(!s.ok||!(null==t?void 0:t.run))throw Error(null!=(r=null==t?void 0:t.error)?r:"Failed to request review");let i={...t.run,projectName:e.projectName,workerTitle:e.title,workerBranch:e.branch,workerPrUrl:null!=(a=null!=(n=e.prUrl)?n:t.run.prUrl)?a:null,workerStatus:e.status,workerActivity:e.activity,workerRuntimeState:e.runtimeState,workerHasRuntime:e.hasRuntime};M(e=>{var r;return[i,...(r=e.filter(e=>e.id!==i.id),i.targetSha?r.map(e=>e.linkedSessionId===i.linkedSessionId&&e.id!==i.id&&e.targetSha&&e.targetSha!==i.targetSha&&g.has(e.status)?{...e,status:"outdated"}:e):r)]}),J(!1),S("Review run requested","success")}catch(r){let e=r instanceof Error?r.message:"Failed to request review";S("Review failed: ".concat(e),"error")}finally{B(null)}}},ec=async e=>{if(!q.has(e.id)){L(r=>{let n=new Set(r);return n.add(e.id),n}),M(r=>r.map(r=>r.id===e.id?{...r,status:"running"}:r));try{var r,n;let a=await fetch("/api/reviews/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e.projectId,runId:e.id,force:"failed"===e.status})}),s=await a.json().catch(()=>null);if(!a.ok||!(null==s?void 0:s.run))throw Error(null!=(r=null==s?void 0:s.error)?r:"Failed to execute review");if(M(r=>r.map(r=>r.id===e.id?{...r,...s.run,projectName:r.projectName,workerTitle:r.workerTitle,workerBranch:r.workerBranch,workerPrUrl:r.workerPrUrl,workerStatus:r.workerStatus,workerActivity:r.workerActivity,workerRuntimeState:r.workerRuntimeState,workerHasRuntime:r.workerHasRuntime}:r)),"failed"===s.run.status)return void S("Review failed: ".concat(null!=(n=s.run.terminationReason)?n:"Reviewer execution failed"),"error");S(s.run.openFindingCount>0?"Review findings ready":"Review completed clean","success")}catch(n){let r=n instanceof Error?n.message:"Failed to execute review";M(r=>r.map(r=>r.id===e.id?{...r,status:"failed"}:r)),S("Review failed: ".concat(r),"error")}finally{L(r=>{let n=new Set(r);return n.delete(e.id),n})}}},eu=(e,r)=>({...e,...r,projectName:e.projectName,workerTitle:e.workerTitle,workerBranch:e.workerBranch,workerPrUrl:e.workerPrUrl,workerStatus:e.workerStatus,workerActivity:e.workerActivity,workerRuntimeState:e.workerRuntimeState,workerHasRuntime:e.workerHasRuntime}),eh=async e=>{if(!U.has(e.id)&&0!==e.openFindingCount){W(r=>{let n=new Set(r);return n.add(e.id),n});try{var r,n;let a=await fetch("/api/reviews/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e.projectId,runId:e.id})}),s=await a.json().catch(()=>null);if(!a.ok||!(null==s?void 0:s.run))throw Error(null!=(r=null==s?void 0:s.error)?r:"Failed to send review findings");M(r=>r.map(r=>r.id===e.id?eu(r,s.run):r)),$(r=>{if(!r||r.run.id!==e.id)return r;let n=new Date().toISOString();return{...r,run:eu(r.run,s.run),findings:r.findings.map(e=>"open"===e.status?{...e,status:"sent_to_agent",sentToAgentAt:n}:e)}}),S("Sent ".concat(f(null!=(n=s.sentFindingCount)?n:0,"finding")," to ").concat(e.linkedSessionId),"success"),R.push((0,u.$l)(e.projectId,e.linkedSessionId,"#session-terminal-section"))}catch(r){let e=r instanceof Error?r.message:"Failed to send review findings";S("Feedback failed: ".concat(e),"error")}finally{W(r=>{let n=new Set(r);return n.delete(e.id),n})}}},ep=async e=>{if(!H){D(e.id);try{let n=await fetch("/api/sessions/".concat(encodeURIComponent(e.id),"/restore"),{method:"POST"}),a=await n.json().catch(()=>null);if(!n.ok){var r;throw Error(null!=(r=null==a?void 0:a.error)?r:"Failed to restore orchestrator")}T(r=>r.map(r=>{var n,s,t,i,l,d,o;return r.id===e.id?{...r,status:null!=(l=null==a||null==(n=a.session)?void 0:n.status)?l:r.status,activity:null!=(d=null==a||null==(s=a.session)?void 0:s.activity)?d:r.activity,runtimeState:null!=(o=null==a||null==(i=a.session)||null==(t=i.lifecycle)?void 0:t.runtimeState)?o:"alive",hasRuntime:!0,isTerminal:!1,isRestorable:!1}:r})),S("Orchestrator restored","success"),R.push((0,u.Nc)(e.projectId,e.id))}catch(r){let e=r instanceof Error?r.message:"Failed to restore orchestrator";S("Restore failed: ".concat(e),"error")}finally{D(null)}}},em=async e=>{$({run:e,findings:[],loading:!0,error:null});try{let n=new URLSearchParams({projectId:e.projectId,runId:e.id}),a=await fetch("/api/reviews/findings?".concat(n.toString())),s=await a.json().catch(()=>null);if(!a.ok||!(null==s?void 0:s.findings)){var r;throw Error(null!=(r=null==s?void 0:s.error)?r:"Failed to load review findings")}$(r=>{var n;return(null==r?void 0:r.run.id)===e.id?{...r,findings:null!=(n=s.findings)?n:[],loading:!1,error:null}:r})}catch(n){let r=n instanceof Error?n.message:"Failed to load review findings";$(n=>(null==n?void 0:n.run.id)===e.id?{...n,findings:[],loading:!1,error:r}:n)}};return(0,a.jsx)(m.I.Provider,{value:{onToggleSidebar:ed,mobileSidebarOpen:G},children:(0,a.jsxs)("div",{className:"dashboard-app-shell",children:[(0,a.jsxs)("header",{className:"dashboard-app-header",children:[(0,a.jsx)("button",{type:"button",className:"dashboard-app-sidebar-toggle",onClick:ed,"aria-label":"Toggle sidebar",children:X?(0,a.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})}):(0,a.jsxs)("svg",{width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.75",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,a.jsx)("path",{d:"M9 3v18"})]})}),(0,a.jsxs)("div",{className:"dashboard-app-header__brand",children:[(0,a.jsx)("span",{className:"dashboard-app-header__brand-dot","aria-hidden":"true"}),(0,a.jsx)("span",{children:"Athene"})]}),(0,a.jsx)("span",{className:"dashboard-app-header__sep","aria-hidden":"true"}),(0,a.jsx)("span",{className:"dashboard-app-header__project",children:null!=b?b:ee?"All projects":"Reviews"}),(0,a.jsxs)("nav",{className:"workspace-mode-switch","aria-label":"Workspace mode",children:[(0,a.jsx)(t(),{href:ei,className:"workspace-mode-switch__item",children:"Coding"}),(0,a.jsx)(t(),{href:el,className:"workspace-mode-switch__item workspace-mode-switch__item--active","aria-current":"page",children:"Reviews"})]}),(0,a.jsx)("div",{className:"dashboard-app-header__spacer"}),(0,a.jsxs)("div",{className:"dashboard-app-header__actions",children:[!ee&&ea&&es?ea.isRestorable?(0,a.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--amber",disabled:H===ea.id,onClick:()=>void ep(ea),children:[(0,a.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M20 11a8 8 0 0 0-14.9-3.98"}),(0,a.jsx)("path",{d:"M4 5v4h4"}),(0,a.jsx)("path",{d:"M4 13a8 8 0 0 0 14.9 3.98"}),(0,a.jsx)("path",{d:"M20 19v-4h-4"})]}),H===ea.id?"Restoring":"Restore orchestrator"]}):(0,a.jsxs)(t(),{href:es,className:"dashboard-app-btn dashboard-app-btn--amber","aria-label":"Open project orchestrator",children:[(0,a.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,a.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,a.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,a.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,a.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Orchestrator"]}):null,(0,a.jsxs)("div",{className:"review-new-menu",ref:F,children:[(0,a.jsxs)("button",{type:"button",className:"dashboard-app-btn","aria-haspopup":"menu","aria-expanded":V,disabled:0===et.length,onClick:()=>J(e=>!e),children:[(0,a.jsx)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M12 5v14M5 12h14"})}),"New Review"]}),V?(0,a.jsx)("div",{className:"review-new-menu__popover",role:"menu",children:et.map(e=>(0,a.jsxs)("button",{type:"button",role:"menuitem",className:"review-new-menu__item",disabled:null!==A,onClick:()=>void eo(e),children:[(0,a.jsx)("span",{className:"review-new-menu__item-title",children:e.title}),(0,a.jsxs)("span",{className:"review-new-menu__item-meta",children:[ee?"".concat(e.projectName," \xb7 "):"",e.id,e.branch?" \xb7 ".concat(e.branch):"",e.prNumber?" \xb7 PR #".concat(e.prNumber):""]})]},e.id))}):null]})]})]}),(0,a.jsxs)("div",{className:"dashboard-shell dashboard-shell--desktop".concat(Q?" dashboard-shell--sidebar-collapsed":""),children:[(0,a.jsx)("div",{className:"sidebar-wrapper".concat(G?" sidebar-wrapper--mobile-open":""),children:(0,a.jsx)(h.u,{projects:N,sessions:s,orchestrators:P,activeProjectId:k,activeSessionId:void 0,collapsed:Q,onToggleCollapsed:()=>z(e=>!e),onMobileClose:()=>K(!1)})}),G?(0,a.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>K(!1)}):null,(0,a.jsxs)("main",{className:"dashboard-main dashboard-main--desktop review-dashboard-main",children:[(0,a.jsxs)("div",{className:"review-main-header",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"dashboard-main__title",children:b?"".concat(b," Reviews"):"Reviews"}),(0,a.jsxs)("p",{className:"dashboard-main__subtitle",children:["AO-local reviewer runs, findings, and worker handoffs",ee?" across all projects":" for this project","."]})]}),(0,a.jsxs)("div",{className:"dashboard-stat-cards dashboard-stat-cards--persist-mobile",children:[(0,a.jsx)(C,{label:"Runs",value:E.length,meta:"Total review runs"}),(0,a.jsx)(C,{label:"Active",value:en,meta:"Open review loops"}),(0,a.jsx)(C,{label:"Findings",value:er,meta:"Open AO findings"})]})]}),y?(0,a.jsx)("div",{className:"dashboard-alert mb-4 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] text-[var(--color-status-error)]",children:y}):null,0===E.length?(0,a.jsxs)("section",{className:"review-empty-state",children:[(0,a.jsx)("div",{className:"review-empty-state__title",children:"No review runs yet"}),(0,a.jsx)("p",{className:"review-empty-state__body",children:"Reviewer runs will appear here after a worker is ready for review or after a manual review is requested."}),(0,a.jsx)(t(),{href:k?(0,u.bn)(k):"/?project=all",className:"review-empty-state__link",children:"Back to coding dashboard"})]}):(0,a.jsx)("div",{className:"kanban-board-wrap",children:(0,a.jsx)("div",{className:"kanban-board review-kanban-board","data-columns":o.length,style:{"--kanban-column-count":o.length},children:o.map(e=>(0,a.jsx)(I,{column:e,runs:Y[e],allProjectsView:ee,executingRunIds:q,sendingRunIds:U,onOpenDetails:em,onExecute:ec,onSendFeedback:eh},e))})})]})]}),Z?(0,a.jsx)(O,{state:Z,onClose:()=>$(null),onOpenWorker:()=>$(null),isSending:U.has(Z.run.id),onSendFeedback:eh}):null]})})}function R(e){return(0,a.jsx)(p.t,{children:(0,a.jsx)(S,{...e})})}function C(e){let{label:r,value:n,meta:s}=e;return(0,a.jsxs)("div",{className:"dashboard-stat-card",children:[(0,a.jsx)("span",{className:"dashboard-stat-card__value",children:n}),(0,a.jsx)("span",{className:"dashboard-stat-card__label",children:r}),(0,a.jsx)("span",{className:"dashboard-stat-card__meta",children:s})]})}function I(e){let{column:r,runs:n,allProjectsView:s,executingRunIds:t,sendingRunIds:i,onOpenDetails:l,onExecute:d,onSendFeedback:o}=e;return(0,a.jsxs)("div",{className:"kanban-column review-kanban-column","data-review-column":r,children:[(0,a.jsxs)("div",{className:"kanban-column__header",children:[(0,a.jsxs)("div",{className:"kanban-column__title-row",children:[(0,a.jsx)("div",{className:"kanban-column__dot review-column-dot","data-review-column":r}),(0,a.jsx)("span",{className:"kanban-column__title",children:c[r]}),(0,a.jsx)("span",{className:"kanban-column__count",children:n.length})]}),(0,a.jsx)("p",{className:"review-column-hint",children:_[r]})]}),(0,a.jsx)("div",{className:"kanban-column-body",children:n.length>0?(0,a.jsx)("div",{className:"kanban-column__stack",children:n.map(e=>(0,a.jsx)(F,{run:e,allProjectsView:s,isExecuting:t.has(e.id),isSending:i.has(e.id),onOpenDetails:l,onExecute:d,onSendFeedback:o},e.id))}):null})]})}function F(e){var r,n;let{run:s,allProjectsView:i,isExecuting:l,isSending:d,onOpenDetails:o,onExecute:c,onSendFeedback:h}=e,p=(0,u.l8)(s.projectId,s.linkedSessionId),m=null!=(r=s.workerTitle)?r:s.linkedSessionId,w=b(s.status),v=f(s.findingCount,"finding"),x=null!=(n=s.summary)?n:"clean"===s.status?"Reviewer completed without open AO findings.":"Review requested for ".concat(s.linkedSessionId,"."),j="".concat(w," \xb7 ").concat(v).concat(s.dismissedFindingCount>0?" \xb7 ".concat(f(s.dismissedFindingCount,"dismissed")):"").concat(s.sentFindingCount>0?" \xb7 ".concat(f(s.sentFindingCount,"sent")):""," \xb7 worker ").concat(y(s)),_=l||"queued"===s.status||"failed"===s.status,g=N(s),S="running"===s.status||"preparing"===s.status?"card__adot--working":"clean"===s.status?"card__adot--ready":"needs_triage"===s.status||"failed"===s.status||"cancelled"===s.status?"card__adot--waiting":"sent_to_agent"===s.status||"waiting_update"===s.status?"card__adot--ready":"card__adot--idle";return(0,a.jsxs)("article",{className:"session-card session-card--fixed review-card","data-review-status":s.status,"data-reviewer-session-id":s.reviewerSessionId,"data-linked-session-id":s.linkedSessionId,children:[(0,a.jsxs)("div",{className:"session-card__header",children:[(0,a.jsx)("span",{className:"card__adot ".concat(S)}),(0,a.jsxs)("span",{className:"card__id",children:[i?"".concat(s.projectName," \xb7 "):"",s.reviewerSessionId]}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsxs)("button",{type:"button",className:"session-card__control session-card__terminal-link",onClick:()=>o(s),children:[(0,a.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M4 19.5V5a2 2 0 0 1 2-2h12v18H6a2 2 0 0 1-2-1.5Z"}),(0,a.jsx)("path",{d:"M8 7h6M8 11h6M8 15h4"})]}),"details"]})]}),(0,a.jsxs)("div",{className:"session-card__body flex min-h-0 flex-1 flex-col",children:[(0,a.jsx)("div",{className:"card__title-wrap",children:(0,a.jsx)("p",{className:"card__title",children:m})}),(0,a.jsxs)("div",{className:"card__meta",children:[s.workerBranch?(0,a.jsx)("span",{className:"card__branch",children:s.workerBranch}):null,s.workerBranch&&s.prNumber?(0,a.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}):null,s.prNumber&&s.workerPrUrl?(0,a.jsxs)("a",{href:s.workerPrUrl,target:"_blank",rel:"noreferrer",className:"card__pr",children:["#",s.prNumber]}):s.prNumber?(0,a.jsxs)("span",{className:"card__pr",children:["#",s.prNumber]}):null]}),(0,a.jsx)("div",{className:"px-[10px] pb-[5px]",children:(0,a.jsx)("p",{className:"session-card__secondary",children:x})}),(0,a.jsx)("div",{className:"px-[10px] pb-[5px]",children:(0,a.jsx)("p",{className:"text-[10px] leading-relaxed text-[var(--color-text-tertiary)]",children:j})}),s.openFindingCount>0?(0,a.jsx)("div",{className:"card__alerts",children:(0,a.jsxs)("div",{className:"alert-row alert-row--review review-card__finding-alert",children:[(0,a.jsx)("span",{className:"alert-row__icon","aria-hidden":"true",children:"!"}),(0,a.jsx)("span",{className:"alert-row__text",children:(0,a.jsxs)("button",{type:"button",onClick:()=>o(s),children:[(0,a.jsx)("span",{className:"font-bold",children:s.openFindingCount})," ",1===s.openFindingCount?"open finding":"open findings"]})}),(0,a.jsx)("button",{type:"button",className:"alert-row__action",onClick:()=>o(s),children:"view"})]})}):null,(0,a.jsxs)("div",{className:"session-card__footer",children:[(0,a.jsxs)("span",{className:"card__status min-w-0 truncate",children:[w," \xb7 updated ",k(s.updatedAt)]}),(0,a.jsxs)("div",{className:"session-card__footer-actions",children:[_?(0,a.jsxs)("button",{type:"button",className:"session-card__control session-card__review-control",disabled:l,onClick:()=>c(s),children:[(0,a.jsx)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M5 3v18l15-9-15-9Z"})}),l?"Running":"failed"===s.status?"Retry":"Run"]}):null,(0,a.jsx)(t(),{href:p,className:"session-card__control session-card__review-control",children:"Worker"}),g?(0,a.jsx)("button",{type:"button",className:"session-card__control session-card__terminal-link",disabled:d||0===s.openFindingCount,title:0===s.openFindingCount?"No open review findings to send.":"Send review findings to the worker.",onClick:()=>h(s),children:d?"Sending":"Feedback"}):(0,a.jsx)("span",{className:"session-card__control session-card__terminal-link review-card__disabled-control",title:"This worker has no live runtime to receive terminal feedback.",children:y(s)})]})]})]})]})}function O(e){var r;let{state:n,onClose:s,onOpenWorker:i,isSending:l,onSendFeedback:d}=e,{run:o,findings:c,loading:h,error:p}=n,m=(0,u.l8)(o.projectId,o.linkedSessionId),w=(0,u.$l)(o.projectId,o.linkedSessionId,"#session-terminal-section"),v=c.filter(e=>"open"===e.status),x=N(o);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"review-detail-backdrop",onClick:s}),(0,a.jsxs)("aside",{className:"review-detail-panel",role:"dialog","aria-modal":"true","aria-labelledby":"review-detail-title",children:[(0,a.jsxs)("div",{className:"review-detail-panel__header",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"review-detail-panel__eyebrow",children:o.reviewerSessionId}),(0,a.jsx)("h2",{id:"review-detail-title",className:"review-detail-panel__title",children:null!=(r=o.workerTitle)?r:o.linkedSessionId})]}),(0,a.jsx)("button",{type:"button",className:"review-detail-panel__close",onClick:s,"aria-label":"Close review details",children:"x"})]}),(0,a.jsxs)("div",{className:"review-detail-panel__meta",children:[(0,a.jsx)("span",{children:b(o.status)}),(0,a.jsx)("span",{children:o.linkedSessionId}),o.workerBranch?(0,a.jsx)("span",{children:o.workerBranch}):null,o.prNumber?(0,a.jsxs)("span",{children:["PR #",o.prNumber]}):null]}),(0,a.jsxs)("div",{className:"review-detail-panel__actions",children:[(0,a.jsx)(t(),{href:m,onClick:i,children:"Open worker"}),o.workerPrUrl?(0,a.jsx)("a",{href:o.workerPrUrl,target:"_blank",rel:"noreferrer",children:"Open PR"}):null,x?(0,a.jsx)(t(),{href:w,children:"Open terminal"}):null,x&&v.length>0?(0,a.jsx)("button",{type:"button",disabled:l,onClick:()=>d(o),children:l?"Sending feedback":"Send feedback"}):null]}),x?null:(0,a.jsxs)("div",{className:"review-detail-panel__notice",children:["Worker feedback is unavailable because the linked worker is"," ",y(o),". Open the worker card to inspect or restore it before sending review findings back."]}),(0,a.jsxs)("div",{className:"review-detail-panel__summary",children:[(0,a.jsxs)("div",{className:"review-detail-panel__summary-item",children:[(0,a.jsx)("span",{children:"Open"}),(0,a.jsx)("strong",{children:v.length||o.openFindingCount})]}),(0,a.jsxs)("div",{className:"review-detail-panel__summary-item",children:[(0,a.jsx)("span",{children:"Total"}),(0,a.jsx)("strong",{children:o.findingCount})]}),(0,a.jsxs)("div",{className:"review-detail-panel__summary-item",children:[(0,a.jsx)("span",{children:"Updated"}),(0,a.jsx)("strong",{children:k(o.updatedAt)})]})]}),(0,a.jsxs)("div",{className:"review-detail-panel__content",children:[h?(0,a.jsx)("div",{className:"review-detail-panel__empty",children:"Loading findings..."}):null,p?(0,a.jsx)("div",{className:"review-detail-panel__error",children:p}):null,h||p||0!==c.length?null:(0,a.jsx)("div",{className:"review-detail-panel__empty",children:"No findings captured for this run."}),h||p?null:c.map(e=>{let r=e.filePath?void 0===e.startLine?e.filePath:void 0!==e.endLine&&e.endLine!==e.startLine?"".concat(e.filePath,":").concat(e.startLine,"-").concat(e.endLine):"".concat(e.filePath,":").concat(e.startLine):null;return(0,a.jsxs)("article",{className:"review-detail-finding","data-severity":e.severity,children:[(0,a.jsxs)("div",{className:"review-detail-finding__header",children:[(0,a.jsx)("span",{children:e.severity}),(0,a.jsx)("span",{children:b(e.status)})]}),(0,a.jsx)("h3",{children:e.title}),r?(0,a.jsx)("code",{children:r}):null,(0,a.jsx)("p",{children:e.body})]},e.id)})]})]})]})}},2466:(e,r,n)=>{"use strict";n.d(r,{I:()=>s,V:()=>t});var a=n(6749);let s=(0,a.createContext)(null);function t(){return(0,a.useContext)(s)}},6291:(e,r,n)=>{Promise.resolve().then(n.bind(n,1735))}},e=>{e.O(0,[8713,8204,2073,4115,131,1461,7358],()=>e(e.s=6291)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[25,64,403,719,816,1097,1105,1214,1337,1390,1762,1797,2007,2079,2437,2438,2564,2818,2922,2985,3511,3625,3675,4209,4587,4746,5214,6681,6849,6865,6946,6999,7462,7500,8581,9002,9217,9492,9514,9744],{687:()=>{}},_=>{_.O(0,[131,1461,7358],()=>_(_.s=687)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4097],{5490:(e,r,o)=>{Promise.resolve().then(o.bind(o,9654))},7594:(e,r,o)=>{"use strict";var t=o(9582);o.o(t,"useParams")&&o.d(r,{useParams:function(){return t.useParams}}),o.o(t,"usePathname")&&o.d(r,{usePathname:function(){return t.usePathname}}),o.o(t,"useRouter")&&o.d(r,{useRouter:function(){return t.useRouter}}),o.o(t,"useSearchParams")&&o.d(r,{useSearchParams:function(){return t.useSearchParams}})},9654:(e,r,o)=>{"use strict";o.r(r),o.d(r,{default:()=>l});var t=o(3817),a=o(7594),s=o(6749),n=o(9789);function l(e){let{error:r,reset:o}=e,l=(0,a.useRouter)();return(0,s.useEffect)(()=>{console.error(r)},[r]),(0,t.jsx)(n.ErrorDisplay,{title:"Failed to load session",message:function(e){let r=e.message.toLowerCase();return r.includes("timed out")?"The session request did not complete in time. Check the backend process and try again once the API is responsive.":r.includes("network")?"The session request failed before the dashboard got a response. Check the server connection and try again.":r.includes("403")?"The dashboard could not access this session. Permissions or auth may have changed.":r.includes("404")?"This session is no longer available. It may have been removed while the page was open.":r.includes("500")?"The server returned an internal error while loading this session. Try re-fetching the session data.":e.message.trim().length>0?e.message:"The dashboard could not load this session cleanly. Try again to re-fetch the latest state."}(r),tone:"error",primaryAction:{label:"Try again",onClick:()=>{o(),l.refresh()}},secondaryAction:{label:"Back to dashboard",href:"/"},error:r,compact:!0,chrome:"card"})}},9789:(e,r,o)=>{"use strict";o.d(r,{ErrorDisplay:()=>i});var t=o(3817),a=o(8713),s=o.n(a);let n={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 l(e){let{accent:r}=e;return(0,t.jsx)("div",{className:"flex h-14 w-14 items-center justify-center rounded-2xl border",style:{background:"linear-gradient(180deg, color-mix(in srgb, ".concat(r," 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%)"),borderColor:"color-mix(in srgb, ".concat(r," 18%, var(--color-border-default))"),boxShadow:"var(--detail-card-shadow)"},children:(0,t.jsxs)("svg",{className:"h-7 w-7",fill:"none",stroke:"currentColor",strokeWidth:"1.6",style:{color:r},viewBox:"0 0 24 24",children:[(0,t.jsx)("rect",{x:"2.5",y:"4.5",width:"19",height:"15",rx:"3"}),(0,t.jsx)("path",{d:"M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"})]})})}function c(e){let{action:r,primary:o=!1}=e,a=o?"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",n=o?{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 r.href?(0,t.jsx)(s(),{href:r.href,className:a,style:n,children:r.label}):(0,t.jsx)("button",{type:"button",onClick:r.onClick,className:a,style:n,children:r.label})}function i(e){let{title:r,message:o,tone:a="error",detailsTitle:s="Technical details",error:i,primaryAction:d,secondaryAction:u,compact:x=!1,chrome:m="page",children:h}=e,b=n[a],v=!!((null==i?void 0:i.digest)||(null==i?void 0:i.message)||(null==i?void 0:i.stack));return(0,t.jsx)("div",{className:"flex w-full items-center justify-center px-6 py-10 ".concat(x?"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,t.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,t.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start",children:[(0,t.jsx)(l,{accent:b.accent}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.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:b.accent,background:b.bg,borderColor:b.border},children:b.label}),(0,t.jsx)("h1",{className:"text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]",children:r}),(0,t.jsx)("p",{className:"mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]",children:o})]})]}),(d||u)&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[d?(0,t.jsx)(c,{action:d,primary:!0}):null,u?(0,t.jsx)(c,{action:u}):null]}),h,v?(0,t.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,t.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--color-text-secondary)]",children:s}),(0,t.jsxs)("div",{className:"border-t px-4 py-4",style:{borderColor:"var(--color-border-subtle)"},children:[(null==i?void 0:i.digest)?(0,t.jsxs)("p",{className:"mb-3 font-[var(--font-mono)] text-[11px] text-[var(--color-text-tertiary)]",children:["digest: ",i.digest]}):null,(null==i?void 0:i.message)?(0,t.jsx)("p",{className:"mb-3 text-[12px] leading-5 text-[var(--color-text-secondary)]",children:i.message}):null,(null==i?void 0:i.stack)?(0,t.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-[var(--font-mono)] text-[11px] leading-5 text-[var(--color-text-tertiary)]",children:i.stack}):null]})]}):null]})})})}}},e=>{e.O(0,[8713,131,1461,7358],()=>e(e.s=5490)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[25,64,403,719,816,1097,1105,1214,1337,1390,1762,1797,2007,2079,2437,2438,2564,2818,2922,2985,3511,3625,3675,4209,4587,4746,5214,6681,6849,6865,6946,6999,7462,7500,8581,9002,9217,9492,9514,9744],{687:()=>{}},_=>{_.O(0,[131,1461,7358],()=>_(_.s=687)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4345,7927],{7871:(r,e,o)=>{Promise.resolve().then(o.bind(o,9789))},9789:(r,e,o)=>{"use strict";o.d(e,{ErrorDisplay:()=>i});var l=o(3817),t=o(8713),a=o.n(t);let n={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 s(r){let{accent:e}=r;return(0,l.jsx)("div",{className:"flex h-14 w-14 items-center justify-center rounded-2xl border",style:{background:"linear-gradient(180deg, color-mix(in srgb, ".concat(e," 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%)"),borderColor:"color-mix(in srgb, ".concat(e," 18%, var(--color-border-default))"),boxShadow:"var(--detail-card-shadow)"},children:(0,l.jsxs)("svg",{className:"h-7 w-7",fill:"none",stroke:"currentColor",strokeWidth:"1.6",style:{color:e},viewBox:"0 0 24 24",children:[(0,l.jsx)("rect",{x:"2.5",y:"4.5",width:"19",height:"15",rx:"3"}),(0,l.jsx)("path",{d:"M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"})]})})}function c(r){let{action:e,primary:o=!1}=r,t=o?"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",n=o?{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 e.href?(0,l.jsx)(a(),{href:e.href,className:t,style:n,children:e.label}):(0,l.jsx)("button",{type:"button",onClick:e.onClick,className:t,style:n,children:e.label})}function i(r){let{title:e,message:o,tone:t="error",detailsTitle:a="Technical details",error:i,primaryAction:d,secondaryAction:x,compact:b=!1,chrome:u="page",children:m}=r,v=n[t],p=!!((null==i?void 0:i.digest)||(null==i?void 0:i.message)||(null==i?void 0:i.stack));return(0,l.jsx)("div",{className:"flex w-full items-center justify-center px-6 py-10 ".concat(b?"min-h-[calc(100vh-4rem)]":"min-h-screen"),style:{background:"page"===u?"radial-gradient(circle at top, var(--color-body-gradient-blue), transparent 35%), var(--color-bg-base)":"transparent"},children:(0,l.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,l.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start",children:[(0,l.jsx)(s,{accent:v.accent}),(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.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:v.accent,background:v.bg,borderColor:v.border},children:v.label}),(0,l.jsx)("h1",{className:"text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]",children:e}),(0,l.jsx)("p",{className:"mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]",children:o})]})]}),(d||x)&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-3",children:[d?(0,l.jsx)(c,{action:d,primary:!0}):null,x?(0,l.jsx)(c,{action:x}):null]}),m,p?(0,l.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,l.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--color-text-secondary)]",children:a}),(0,l.jsxs)("div",{className:"border-t px-4 py-4",style:{borderColor:"var(--color-border-subtle)"},children:[(null==i?void 0:i.digest)?(0,l.jsxs)("p",{className:"mb-3 font-[var(--font-mono)] text-[11px] text-[var(--color-text-tertiary)]",children:["digest: ",i.digest]}):null,(null==i?void 0:i.message)?(0,l.jsx)("p",{className:"mb-3 text-[12px] leading-5 text-[var(--color-text-secondary)]",children:i.message}):null,(null==i?void 0:i.stack)?(0,l.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-[var(--font-mono)] text-[11px] leading-5 text-[var(--color-text-tertiary)]",children:i.stack}):null]})]}):null]})})})}}},r=>{r.O(0,[8713,131,1461,7358],()=>r(r.s=7871)),_N_E=r.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[824],{51:(e,t,r)=>{Promise.resolve().then(r.bind(r,3857))},3857:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>N});var s=r(3817),n=r(6749),a=r(7594),o=r(5425),i=r(3916),l=r(9789),c=r(4115),u=r(9120),d=r(545),h=r(9678),f=r(7387),p=r(4723),v=r(5184),m=r(8450),g=r(3394);let b=null,j=null,y=[1e3,2e3,4e3],x=new Set(Object.values(o.SB)),w=new Set(Object.values(o.u3)),S=new Set;function I(e){if(e instanceof DOMException)return"AbortError"===e.name;if(e instanceof Error){let t=e.message.toLowerCase();return t.includes("aborted")||t.includes("aborterror")}return!1}function k(e){let{message:t}=e;return(0,s.jsx)("div",{className:"project-sidebar h-full",children:(0,s.jsxs)("div",{className:"space-y-3 px-3 py-4",children:[(0,s.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.18em] text-[var(--color-text-tertiary)]",children:"Projects"}),(0,s.jsx)("div",{className:"space-y-2",children:Array.from({length:3},(e,t)=>(0,s.jsx)("div",{className:"h-10 animate-pulse border border-[var(--color-border-subtle)] bg-[var(--color-bg-surface)]"},"sidebar-placeholder-".concat(t)))}),(0,s.jsx)("div",{className:"pt-2 text-[12px] text-[var(--color-text-tertiary)]",children:t})]})})}function E(e){let{projects:t,projectsLoading:r,sidebarSessions:a,sidebarOrchestrators:o,sidebarLoading:i,sidebarError:l,onRetrySidebar:d,activeProjectId:h,activeSessionId:f,children:p}=e,v=(0,u.U)(u.D),[m,g]=(0,n.useState)(!1),[b,j]=(0,n.useState)(!1),y=(0,n.useCallback)(()=>{if(v)return void j(e=>!e);g(e=>!e)},[v]);return(0,s.jsxs)("div",{className:"dashboard-app-shell",children:[(0,s.jsxs)("header",{className:"dashboard-app-header",children:[(0,s.jsx)("button",{type:"button",className:"dashboard-app-sidebar-toggle",onClick:y,"aria-label":"Toggle sidebar",children:v?(0,s.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,s.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})}):(0,s.jsxs)("svg",{width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.75",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,s.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,s.jsx)("path",{d:"M9 3v18"})]})}),(0,s.jsx)("div",{className:"dashboard-app-header__spacer"})]}),(0,s.jsxs)("div",{className:"dashboard-shell dashboard-shell--desktop".concat(m?" dashboard-shell--sidebar-collapsed":""),children:[(0,s.jsx)("div",{className:"sidebar-wrapper".concat(b?" sidebar-wrapper--mobile-open":""),children:t.length>0?(0,s.jsx)(c.u,{projects:t,sessions:a,orchestrators:o,loading:i,error:l,onRetry:d,activeProjectId:h,activeSessionId:f,collapsed:m,onToggleCollapsed:()=>g(e=>!e),onMobileClose:()=>j(!1)}):(0,s.jsx)(k,{message:r?"Loading projects...":"Projects unavailable."})}),b&&(0,s.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>j(!1)}),(0,s.jsx)("div",{className:"dashboard-main dashboard-main--desktop",children:(0,s.jsx)("main",{className:"session-detail-page flex-1 min-h-0 flex flex-col bg-[var(--color-bg-base)]",children:(0,s.jsx)("div",{className:"flex-1 min-h-0",children:p})})})]})]})}function C(e,t){if(!e||0===t.length)return e;let r=new Map(t.map(e=>[e.id,e])),s=!1,n=e.map(e=>{var t,n;let a=r.get(e.id);if(!a)return e;if(t=a.status,!x.has(t)){let t="status:".concat(a.status);return S.has(t)||(S.add(t),console.warn("Ignoring mux session patch with unknown status",{sessionId:a.id,status:a.status})),e}if(null!==a.activity&&(n=a.activity,!w.has(n))){let t="activity:".concat(a.activity);return S.has(t)||(S.add(t),console.warn("Ignoring mux session patch with unknown activity",{sessionId:a.id,activity:a.activity})),e}return e.status===a.status&&e.activity===a.activity&&e.lastActivityAt===a.lastActivityAt?e:(s=!0,{...e,status:a.status,activity:a.activity,lastActivityAt:a.lastActivityAt})});return s?n:e}function N(){var e,t,r;let c=(0,a.useParams)(),u=(0,a.usePathname)(),x=(0,a.useRouter)(),w=c.id,S="string"==typeof c.projectId?c.projectId:Array.isArray(c.projectId)?c.projectId[0]:null,k=(0,v.eT)(),N=(()=>{if("undefined"==typeof sessionStorage)return null;try{let e=sessionStorage.getItem("ao-session-nav:".concat(w));if(e)return sessionStorage.removeItem("ao-session-nav:".concat(w)),JSON.parse(e)}catch(e){}return null})(),[R,A]=(0,n.useState)(N),[M,T]=(0,n.useState)(null),[L,O]=(0,n.useState)(void 0),[P,D]=(0,n.useState)([]),[_,B]=(0,n.useState)(null===b),[F,q]=(0,n.useState)(()=>j),[J,W]=(0,n.useState)(void 0),[U,z]=(0,n.useState)(null===N),[G,Y]=(0,n.useState)(null),[Z,H]=(0,n.useState)(!1),[K,Q]=(0,n.useState)(!1),[V,X]=(0,n.useState)(new Map),$=null!=(e=null==R?void 0:R.projectId)?e:null,ee=[...V.values()],et=!!R&&(0,o.tT)(R,V.get(R.projectId),ee),er=(0,n.useRef)(null),es=(0,n.useRef)(!1),en=(0,n.useRef)(null),ea=(0,n.useRef)(new Map),eo=(0,n.useRef)(null!==N),ei=(0,n.useRef)(null),el=(0,n.useRef)(!1),ec=(0,n.useRef)(!1),eu=(0,n.useRef)(!1),ed=(0,n.useRef)(null),eh=(0,n.useRef)(null),ef=(0,n.useRef)(null),ep=(0,n.useRef)(!1),ev=(0,n.useRef)(0),em=(0,n.useRef)(null),eg=(0,n.useRef)(null),eb=(0,n.useCallback)(()=>{eg.current&&(clearTimeout(eg.current),eg.current=null)},[]),ej=(0,n.useCallback)(()=>{ev.current=0,em.current=null,eb()},[eb]);(0,n.useEffect)(()=>{ea.current=V},[V]);let ey=(0,n.useCallback)(async()=>{b&&(D(b),X(new Map(b.map(e=>{var t;return[e.id,null!=(t=e.sessionPrefix)?t:e.id]}))),B(!1));try{var e,t;let r=await (0,g.uE)("/api/projects",{timeoutMs:5e3,timeoutMessage:"Projects request timed out after ".concat(5e3,"ms")});if(!(null==r?void 0:r.projects))return;e=b,t=r.projects,e&&e.length===t.length&&e.every((e,r)=>{let s=t[r];return JSON.stringify(e)===JSON.stringify(s)})||(b=r.projects,D(r.projects),X(new Map(r.projects.map(e=>{var t;return[e.id,null!=(t=e.sessionPrefix)?t:e.id]}))))}catch(e){console.error("Failed to fetch projects:",e)}finally{B(!1)}},[]),ex=(0,p.f)(w);(0,n.useEffect)(()=>{R?document.title=function(e,t,r){var s;let n,a=e.id,i=void 0!==r?r:e.activity,l=i&&null!=(s=h.R[i])?s:"",c=[...t.values()];return n=(0,o.tT)(e,t.get(e.projectId),c)?"Orchestrator Terminal":function(e,t){let r=Array.from(e);return r.length>40?r.slice(0,40).join("")+"...":e}((0,f.Pn)(e),40),l?"".concat(l," ").concat(a," | ").concat(n):"".concat(a," | ").concat(n)}(R,V,null==ex?void 0:ex.activity):document.title="".concat(w," | Session Detail")},[R,w,V,ex]),(0,n.useEffect)(()=>{er.current=$},[$]),(0,n.useEffect)(()=>{if(R&&P.some(e=>e.id===R.projectId)){if(null==u?void 0:u.startsWith("/sessions/"))return void x.replace((0,m.Nc)(R.projectId,R.id));(null==u?void 0:u.startsWith("/projects/"))&&S&&R.projectId!==S&&x.replace((0,m.Nc)(R.projectId,R.id))}},[S,u,P,x,R]),(0,n.useEffect)(()=>{es.current=et},[et]);let ew=(0,n.useCallback)(async()=>{if(el.current)return;el.current=!0;let e=new AbortController;ed.current=e;let t=!1;try{let t=await (0,g.uE)("/api/sessions/".concat(encodeURIComponent(w)),{signal:e.signal,timeoutMs:8e3,timeoutMessage:"Session request timed out after ".concat(8e3,"ms")});A(t),Y(null),H(!1),eo.current=!0,ej()}catch(s){if(ep.current||e.signal.aborted)return;let r=(s instanceof Error?s.message:"Failed to load session").toLowerCase();if(r.includes("session not found")||r.includes("http 404")){eo.current||H(!0),z(!1),ej();return}if(!eo.current&&function(e){if(I(e))return!0;if(e instanceof Error){let t=e.message.toLowerCase();return t.includes("timed out")||t.includes("network")||t.includes("failed to fetch")}return!1}(s)){let e=ev.current+1;ev.current=e,null!=em.current||(em.current=Date.now());let r=Date.now()-em.current;if(e<4&&r<3e4){let r=y[Math.min(e-1,y.length-1)];t=!0,z(!0),console.warn("Session fetch failed transiently; retrying",{sessionId:w,failureCount:e,retryInMs:r,error:s}),eb(),eg.current=setTimeout(()=>{eg.current=null,ew()},r);return}}console.error("Failed to fetch session:",s),eo.current||Y(s instanceof Error?s:Error("Failed to load session"))}finally{t||z(!1),el.current=!1,ed.current===e&&(ed.current=null)}},[eb,w,ej]),eS=(0,n.useCallback)(async()=>{if(ec.current)return;let e=er.current;if(!e)return;let t=es.current,r="".concat(e,":").concat(t?"orchestrator":"worker");if(!t&&en.current===r)return;ec.current=!0;let s=new AbortController;eh.current=s;try{var n,a,i,l,c;let u=t?"/api/sessions?project=".concat(encodeURIComponent(e),"&fresh=true"):"/api/sessions?project=".concat(encodeURIComponent(e),"&orchestratorOnly=true&fresh=true"),h=await (0,g.uE)(u,{signal:s.signal,timeoutMs:5e3,timeoutMessage:"Project sessions request timed out after ".concat(5e3,"ms")}),f=null!=(i=h.sessions)?i:[],p=null!=(c=null!=(l=h.orchestratorId)?l:null==(a=h.orchestrators)||null==(n=a.find(t=>t.projectId===e))?void 0:n.id)?c:null;if(O(e=>e===p?e:p),!t){en.current=r;return}let v={merge:0,respond:0,review:0,pending:0,working:0,done:0},m=[...ea.current.values()];for(let e of f)if(!(0,o.tT)(e,ea.current.get(e.projectId),m)){let t=(0,d.ng)(e);if("action"===t)continue;v[t]++}T(v)}catch(e){if(ep.current||s.signal.aborted||I(e))return;console.error("Failed to fetch project sessions:",e)}finally{ec.current=!1,eh.current===s&&(eh.current=null)}},[]),eI=(0,n.useCallback)(async()=>{if(eu.current)return;eu.current=!0;let e=new AbortController;ef.current=e;try{var t,r,s;let n=await (0,g.uE)("/api/sessions?fresh=true",{signal:e.signal,timeoutMs:5e3,timeoutMessage:"Sidebar sessions request timed out after ".concat(5e3,"ms")}),a=null!=(t=null==n?void 0:n.sessions)?t:[],o=null!=(s=C(a,null!=(r=ei.current)?r:[]))?s:a;j=o,W(null==n?void 0:n.orchestrators),Q(!1),q(e=>e&&e.length===o.length&&e.every((e,t)=>{let r=o[t];return JSON.stringify(e)===JSON.stringify(r)})?e:o)}catch(t){if(ep.current||e.signal.aborted||I(t))return;console.error("Failed to fetch sidebar sessions:",t),Q(!0),q(e=>null===e?[]:e)}finally{eu.current=!1,ef.current===e&&(ef.current=null)}},[]);return((0,n.useEffect)(()=>{if(!(null==k?void 0:k.sessions))return;if("connected"!==k.status){ei.current=null;return}ei.current=k.sessions;let e=C(j,k.sessions);if(e!==j&&(j=e,q(e)),0===k.sessions.length||!j)return;let t=new Set(j.map(e=>e.id)),r=new Set(k.sessions.map(e=>e.id));if(t.size!==r.size)return void eI();for(let e of r)if(!t.has(e))return void eI()},[eI,null==k?void 0:k.sessions,null==k?void 0:k.status]),(0,n.useEffect)(()=>{et||T(null)},[et]),(0,n.useEffect)(()=>{Promise.all([ey(),ew(),eI()])},[ey,ew,eI]),(0,n.useEffect)(()=>{$&&eS()},[eS,et,$]),(0,n.useEffect)(()=>{let e=setInterval(()=>{ew(),eS(),eI()},2e3);return()=>clearInterval(e)},[ew,eS,eI]),(0,n.useEffect)(()=>{ep.current=!1;let e=()=>{ep.current=!0};return window.addEventListener("pagehide",e),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("pagehide",e),window.removeEventListener("beforeunload",e)}},[]),(0,n.useEffect)(()=>()=>{var e,t,r;eb(),null==(e=ed.current)||e.abort(),null==(t=eh.current)||t.abort(),null==(r=ef.current)||r.abort()},[eb]),U)?(0,s.jsx)(E,{projects:P,projectsLoading:_,sidebarSessions:F,sidebarOrchestrators:J,sidebarLoading:null===F,sidebarError:K,onRetrySidebar:eI,activeProjectId:null!=S?S:void 0,activeSessionId:w,children:(0,s.jsx)("div",{className:"flex h-full min-h-screen items-center justify-center bg-[var(--color-bg-base)]",children:(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,s.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,s.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9"})}),(0,s.jsx)("div",{className:"text-[13px] text-[var(--color-text-tertiary)]",children:"Loading session…"})]})})}):Z?(0,s.jsx)(E,{projects:P,projectsLoading:_,sidebarSessions:F,sidebarOrchestrators:J,sidebarLoading:null===F,sidebarError:K,onRetrySidebar:eI,activeProjectId:null!=S?S:void 0,activeSessionId:w,children:(0,s.jsx)(l.ErrorDisplay,{title:"Session not found",message:"This session is no longer available. It may have been removed, renamed, or already cleaned up.",tone:"not-found",primaryAction:{label:"Back to dashboard",href:S?"/projects/".concat(S):"/"},secondaryAction:{label:"Retry",onClick:()=>void ew()},compact:!0,chrome:"card"})}):G?(0,s.jsx)(E,{projects:P,projectsLoading:_,sidebarSessions:F,sidebarOrchestrators:J,sidebarLoading:null===F,sidebarError:K,onRetrySidebar:eI,activeProjectId:null!=(r=null!=(t=null==R?void 0:R.projectId)?t:S)?r:void 0,activeSessionId:w,children:(0,s.jsx)(l.ErrorDisplay,{title:"Failed to load session",message:function(e){let t=e.message.toLowerCase();return t.includes("timed out")?"The session request is taking too long, so the page stopped waiting instead of spinning forever. You can retry, or return to the project and reopen a different session.":t.includes("network")?"The session request failed before the dashboard got a response. Check the local server connection and try again.":t.includes("404")?"This session is no longer available. It may have been removed while the page was open.":t.includes("500")?"The server returned an internal error while loading this session. Try again to re-fetch the latest state.":"The dashboard could not load this session cleanly. Try again to re-fetch the latest state."}(G),tone:"error",primaryAction:{label:"Try again",onClick:()=>{Y(null),H(!1),z(!0),ej(),Promise.all([ey(),ew(),eI()])}},secondaryAction:{label:"Back to dashboard",href:(null==R?void 0:R.projectId)?"/projects/".concat(R.projectId):"/"},error:G,compact:!0,chrome:"card"})}):R?(0,s.jsx)(i.G,{session:R,isOrchestrator:et,orchestratorZones:null!=M?M:void 0,projectOrchestratorId:L,projects:P}):(0,s.jsx)(E,{projects:P,projectsLoading:_,sidebarSessions:F,sidebarOrchestrators:J,sidebarLoading:null===F,sidebarError:K,onRetrySidebar:eI,activeProjectId:null!=S?S:void 0,activeSessionId:w,children:(0,s.jsx)(l.ErrorDisplay,{title:"Session unavailable",message:"The backend has not returned this session yet. This can happen right after spawning an orchestrator; retry once the terminal registers the session.",tone:"error",primaryAction:{label:"Retry",onClick:()=>void ew()},secondaryAction:{label:"Back to dashboard",href:S?"/projects/".concat(S):"/"},compact:!0,chrome:"card"})})}}},e=>{e.O(0,[8713,8204,2073,4115,1089,9876,8759,131,1461,7358],()=>e(e.s=51)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9495],{1712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(1903)._(r(5864));function s(e,t){var r;let s={};"function"==typeof e&&(s.loader=e);let a={...s,...t};return(0,n.default)({...a,modules:null==(r=a.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5468:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return o}});let r=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let s="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return s?new s:new n}function l(e){return s?s.bind(e):n.bind(e)}function o(){return s?s.snapshot():function(e,...t){return e(...t)}}},5864:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(3817),s=r(6749),a=r(6943);function l(e){return{default:e&&"default"in e?e.default:e}}r(6418);let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},i=function(e){let t={...o,...e},r=(0,s.lazy)(()=>t.loader().then(l)),i=t.loading;function c(e){let l=i?(0,n.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,c=o?s.Suspense:s.Fragment,u=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(c,{...o?{fallback:l}:{},children:u})}return c.displayName="LoadableComponent",c}},6313:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(8394)},6418:(e,t,r)=>{"use strict";function n(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(3817),r(4768),r(6313),r(5152)},6943:(e,t,r)=>{"use strict";function n(e){let{reason:t,children:r}=e;return r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(1763)},7070:(e,t,r)=>{Promise.resolve().then(r.bind(r,8746))},7594:(e,t,r)=>{"use strict";var n=r(9582);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},8394:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(5468).createAsyncLocalStorage)()},8746:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u,dynamic:()=>i});var n=r(3817),s=r(9891),a=r(7594),l=r(6749);let o=(0,s.default)(()=>Promise.all([r.e(8623),r.e(3764),r.e(5204)]).then(r.bind(r,3764)).then(e=>({default:e.DirectTerminal})),{loadableGenerated:{webpack:()=>[3764]},ssr:!1}),i="force-dynamic";function c(){let e=(0,a.useSearchParams)(),t="true"===e.get("fullscreen"),r=e.get("session")||"ao-orchestrator";return(0,n.jsx)("div",{className:"min-h-screen bg-[var(--color-bg-primary)] p-8",children:(0,n.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,n.jsxs)("div",{className:"mb-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold text-[var(--color-text-primary)]",children:"DirectTerminal Test - XDA Clipboard Support"}),(0,n.jsxs)("p",{className:"mt-2 text-sm text-[var(--color-text-muted)]",children:["This terminal has XDA (Extended Device Attributes) handler registered.",(0,n.jsx)("br",{}),"tmux should recognize it as XTerm and enable clipboard support (OSC 52)."]}),(0,n.jsxs)("div",{className:"mt-4 rounded-[2px] border border-[var(--color-border-default)] bg-[var(--color-bg-secondary)] p-4",children:[(0,n.jsxs)("h2",{className:"mb-2 text-sm font-semibold text-[var(--color-text-primary)]",children:["Testing: ",(0,n.jsx)("span",{className:"text-[var(--color-accent-green)]",children:r})]}),(0,n.jsx)("h2",{className:"mb-2 text-sm font-semibold text-[var(--color-text-primary)]",children:"Test Steps:"}),(0,n.jsxs)("ol",{className:"list-inside list-decimal space-y-1 text-sm text-[var(--color-text-muted)]",children:[(0,n.jsxs)("li",{children:["Connected to tmux session: ",r]}),(0,n.jsxs)("li",{children:["Verify XDA badge shows"," ",(0,n.jsx)("span",{className:"text-[var(--color-accent-green)]",children:"✓ XDA"})]}),(0,n.jsx)("li",{children:"Drag-select text in the terminal"}),(0,n.jsx)("li",{children:"Press Cmd+C (macOS) or Ctrl+C (Linux/Windows)"}),(0,n.jsx)("li",{children:"Paste elsewhere to verify clipboard works"}),(0,n.jsxs)("li",{children:[(0,n.jsx)("strong",{children:"Expected:"})," Clipboard works without iTerm2 attachment!"]})]})]}),(0,n.jsxs)("div",{className:"mt-4 rounded-[2px] border border-[var(--color-border-default)] bg-[var(--color-bg-secondary)] p-4",children:[(0,n.jsx)("h2",{className:"mb-2 text-sm font-semibold text-[var(--color-text-primary)]",children:"Technical Details:"}),(0,n.jsxs)("ul",{className:"list-inside list-disc space-y-1 text-sm text-[var(--color-text-muted)]",children:[(0,n.jsx)("li",{children:"Registers CSI > q (XDA) handler in xterm.js parser"}),(0,n.jsx)("li",{children:"Responds with DCS > | XTerm(370) ST sequence"}),(0,n.jsx)("li",{children:'tmux detects "XTerm(" and enables TTYC_MS (clipboard capability)'}),(0,n.jsx)("li",{children:"OSC 52 sequences flow: tmux → WebSocket → xterm.js → navigator.clipboard"})]})]})]}),(0,n.jsx)(o,{sessionId:r,tmuxName:r,startFullscreen:t},"".concat(r,"-").concat(t?"fullscreen":"normal"))]})})}function u(){return(0,n.jsx)(l.Suspense,{fallback:(0,n.jsx)("div",{className:"flex min-h-screen items-center justify-center",children:"Loading..."}),children:(0,n.jsx)(c,{})})}},9891:(e,t,r)=>{"use strict";r.d(t,{default:()=>s.a});var n=r(1712),s=r.n(n)}},e=>{e.O(0,[131,1461,7358],()=>e(e.s=7070)),_N_E=e.O()}]);