@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
+ "use strict";exports.id=1215,exports.ids=[1215],exports.modules={13219:(a,b,c)=>{c.d(b,{Dashboard:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call Dashboard() from the server but Dashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/components/Dashboard.tsx","Dashboard")},31789:(a,b,c)=>{c.d(b,{Dashboard:()=>U});var d=c(33666),e=c(81115),f=c(47489),g=c.n(f),h=c(50436),i=c(52754),j=c(37155),k=c(85489),l=c(61875),m=c(37611),n=c(82732),o=c(37501),p=c(88950);function q({session:a,onRestore:b}){let[c,f]=(0,e.useState)(!1),g=a.pr,h=!!g&&(0,j.fZ)(g),i=!!g&&(0,j.sZ)(g),m=(0,j.wy)(a),q=(0,l.Pn)(a),r=function(a){let b=a.activity,c=a.status,e=a.lifecycle?.prState??a.pr?.state;return"merged"===e||"merged"===c?{label:"merged",pillClass:"done-status-pill--merged",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M20 6 9 17l-5-5"})})}:"closed"===e?{label:"closed",pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}:a.lifecycle?.sessionState==="terminated"||"killed"===c||"terminated"===c?{label:(0,j.Ou)(a),pillClass:"done-status-pill--killed",icon:(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",className:"h-3 w-3",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})}:{label:"exited"===b?"exited":(0,j.Ou)(a),pillClass:"done-status-pill--exited",icon:(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 12h6"})]})}}(a);return(0,d.jsxs)("div",{className:(0,k.cn)("session-card-done",c&&"done-expanded"),onClick:a=>{a.target.closest("a, button, textarea")||f(!c)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-3 pb-1.5",children:[(0,d.jsxs)("span",{className:(0,k.cn)("done-status-pill",r.pillClass),children:[r.icon,r.label]}),(0,d.jsx)("span",{className:"font-[var(--font-mono)] text-[10px] tracking-wide text-[var(--color-text-muted)]",children:a.id}),(0,d.jsx)("div",{className:"flex-1"}),m&&(0,d.jsxs)("button",{onClick:c=>{c.stopPropagation(),b?.(a.id)},className:"done-card__restore",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-3 w-3",children:[(0,d.jsx)("polyline",{points:"1 4 1 10 7 10"}),(0,d.jsx)("path",{d:"M3.51 15a9 9 0 1 0 2.13-9.36L1 10"})]}),"restore"]})]}),(0,d.jsx)("div",{className:"px-3.5 pb-2",children:(0,d.jsx)("p",{className:"session-card-done__title text-[13px] font-semibold leading-snug [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] overflow-hidden",children:q})}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3.5 pb-3",children:[a.branch&&(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",className:"h-2.5 w-2.5 opacity-50",children:[(0,d.jsx)("path",{d:"M6 3v12M18 9a3 3 0 0 1-3 3H9a3 3 0 0 0-3 3"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"3"})]}),a.branch]}),g&&(0,d.jsxs)("a",{href:g.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-bold text-[var(--color-text-primary)] no-underline underline-offset-2 hover:underline",children:["#",g.number]}),g&&!h&&(i?(0,d.jsx)("span",{className:"inline-block h-[14px] w-16 animate-pulse rounded-full bg-[var(--color-bg-subtle)]"}):(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",g.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",g.deletions]})," ",(0,o.i_)(g.additions,g.deletions),(0,d.jsx)("span",{className:"sr-only",children:`+${g.additions} -${g.deletions} ${(0,o.i_)(g.additions,g.deletions)}`})]})),(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),onClick:a=>a.stopPropagation(),className:"done-meta-chip font-[var(--font-mono)] font-semibold text-[var(--color-accent)] no-underline hover:underline",children:"View current context"})]}),c&&(0,d.jsxs)("div",{className:"done-expand-section px-3.5 py-3",children:[a.summary&&g?.title&&a.summary!==g.title&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsx)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h10"})}),"Summary"]}),(0,d.jsx)("p",{className:"text-[12px] leading-relaxed text-[var(--color-text-secondary)]",children:a.summary})]}),a.issueUrl&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),"Issue"]}),(0,d.jsxs)("a",{href:a.issueUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"text-[12px] text-[var(--color-accent)] hover:underline",children:[a.issueLabel||a.issueUrl,a.issueTitle&&`: ${a.issueTitle}`]})]}),g&&g.ciChecks.length>0&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M9 12l2 2 4-4"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"})]}),"CI Checks"]}),(0,d.jsx)(n.zm,{checks:g.ciChecks})]}),g&&(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("div",{className:"done-detail-heading",children:[(0,d.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4"}),(0,d.jsx)("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),"PR"]}),(0,d.jsxs)("p",{className:"text-[12px] text-[var(--color-text-secondary)]",children:[(0,d.jsx)("a",{href:g.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"hover:underline",children:g.title}),i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2 text-[10px] text-[var(--color-text-muted)]",children:[(0,d.jsx)("span",{className:"inline-block h-3 w-12 animate-pulse rounded bg-[var(--color-bg-subtle)]"}),(0,d.jsx)("span",{children:"PR details loading..."})]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("br",{}),(0,d.jsxs)("span",{className:"mt-1 inline-flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"done-meta-chip font-[var(--font-mono)]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-ready)]",children:["+",g.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",g.deletions]})]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["mergeable: ",g.mergeability.mergeable?"yes":"no"]}),(0,d.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"\xb7"}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:["review: ",g.reviewDecision]})]})]})]})]}),!g&&(0,d.jsx)("p",{className:"text-[12px] text-[var(--color-text-tertiary)]",children:"No PR associated with this session."})]})]})}let r=new Set,s=(0,e.memo)(function({session:a,onKill:b,onMerge:c,onRestore:f}){var g;let[h,i]=(0,e.useState)(!1),[n]=(0,e.useState)(()=>r.has(a.id)),o=(0,j.ng)(a),s=a.pr,t=a.prs??[],u=new Set(t.map(a=>a.repo)).size>1,[v,w]=(0,e.useState)(0),x=Math.min(v,Math.max(0,t.length-1)),y=t.length>1?t[x]??s:s,z=t.length>1?y:s,A=!!z&&(0,j.fZ)(z),B=!!z&&(0,j.sZ)(z),C=!A&&z?.mergeability.mergeable&&"open"===z.state,D=(0,j.nH)(a),E=(0,j.wy)(a),F=(0,l.Pn)(a),G=function(a,b,c,d){let e=a.pr;if(!e)return a.lifecycle?.sessionState==="detecting"?{text:"detecting…",tone:void 0}:{text:"no PR yet",tone:void 0};if(c)return{text:"PR data rate limited",tone:void 0};if(d)return{text:"loading…",tone:void 0};if(e.ciStatus===j.U1.FAILING||a.lifecycle?.prReason==="ci_failing"||"ci_failed"===a.status){let a=e.ciChecks.filter(a=>"failed"===a.status).length;return{text:a>0?`${a} check${1===a?"":"s"} failed`:"CI failed",tone:"fail"}}return"changes_requested"===e.reviewDecision?{text:"changes requested",tone:"amber"}:e.unresolvedThreads>0?{text:`${e.unresolvedThreads} comment${1===e.unresolvedThreads?"":"s"}`,tone:"amber"}:b&&"approved"===e.reviewDecision?{text:"approved",tone:"green"}:e.ciStatus===j.U1.PASSING?{text:"CI passed",tone:"green"}:e.ciStatus===j.U1.PENDING?{text:"CI running",tone:void 0}:{text:"review pending",tone:void 0}}(a,!!C,A,B);return(0,j.dG)(a)||"done"===o?(0,d.jsx)(q,{session:a,onRestore:f}):(0,d.jsxs)("div",{className:(0,k.cn)("session-card border",!n&&"kanban-card-enter"),children:[(0,d.jsxs)("div",{className:"session-card__header",children:[(0,d.jsx)(m.W,{session:a}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"card__id",children:a.id}),E&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"session-card__control session-card__restore-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M20 11a8 8 0 0 0-14.9-3.98"}),(0,d.jsx)("path",{d:"M4 5v4h4"}),(0,d.jsx)("path",{d:"M4 13a8 8 0 0 0 14.9 3.98"}),(0,d.jsx)("path",{d:"M20 19v-4h-4"})]}),"restore"]}),!D&&(0,d.jsxs)("a",{href:(0,p.$l)(a.projectId,a.id,"#session-terminal-section"),onClick:a=>a.stopPropagation(),className:"session-card__terminal-link",children:[(0,d.jsxs)("svg",{className:"session-card__terminal-link-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"m4 17 6-6-6-6"}),(0,d.jsx)("path",{d:"M12 19h8"})]}),"terminal"]})]}),(0,d.jsxs)("div",{className:"session-card__body flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)("div",{className:"card__title-wrap",children:(0,d.jsx)("p",{className:"card__title",children:F})}),(0,d.jsxs)("div",{className:"card__meta",children:[a.branch&&(0,d.jsx)("span",{className:"card__branch",children:a.branch}),1===t.length&&(0,d.jsxs)(d.Fragment,{children:[a.branch&&(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}),(0,d.jsxs)("a",{href:t[0].url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:(0,k.cn)("inline-block h-1.5 w-1.5 shrink-0 rounded-full",(g=t[0]).enriched?"merged"===g.state?"bg-[var(--color-status-merge)]":"closed"===g.state?"bg-[var(--color-text-muted)]":"failing"===g.ciStatus||"changes_requested"===g.reviewDecision?"bg-[var(--color-status-error)]":g.isDraft?"bg-[var(--color-text-muted)]":"passing"===g.ciStatus?"bg-[var(--color-status-merge)]":"pending"===g.ciStatus?"bg-[var(--color-status-pending)]":"bg-[var(--color-text-tertiary)] opacity-30":"bg-[var(--color-text-tertiary)] opacity-30")}),"#",t[0].number]})]})]}),t.length>1&&(0,d.jsx)("div",{className:"px-[10px] pb-[5px] flex flex-col gap-[2px]",children:t.map((a,b)=>{let c=a.enriched?"merged"===a.state?"merged":"closed"===a.state?"closed":"failing"===a.ciStatus?"CI failing":"changes_requested"===a.reviewDecision?"changes requested":a.isDraft?"draft":"approved"===a.reviewDecision?"approved":"passing"===a.ciStatus?"needs review":"pending"===a.ciStatus?"CI running":"":"",e=b===x;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:(0,k.cn)("flex items-center gap-1.5 min-w-0 rounded px-1 -mx-1 cursor-pointer transition-colors",e?"bg-[var(--color-bg-subtle)] border-l-2 border-[var(--color-accent)] pl-[2px]":"hover:bg-[var(--color-bg-subtle)] border-l-2 border-transparent pl-[2px]"),onClick:a=>{a.stopPropagation(),w(b)},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.stopPropagation(),w(b))},children:[u&&(0,d.jsx)("span",{className:"shrink-0 font-[var(--font-mono)] text-[9px] text-[var(--color-text-tertiary)] bg-[var(--color-bg-subtle)] px-1 py-0.5 rounded leading-none",children:a.repo.split("-").map(a=>a[0]?.toUpperCase()??"").join("").slice(0,3)}),(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>{a.stopPropagation(),w(b)},className:(0,k.cn)("shrink-0 inline-flex items-center font-[var(--font-mono)] text-[10px] font-bold px-1.5 py-0.5 rounded leading-none no-underline",a.enriched?"merged"===a.state?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"closed"===a.state?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"failing"===a.ciStatus||"changes_requested"===a.reviewDecision?"bg-[color-mix(in_srgb,var(--color-status-error)_15%,transparent)] text-[var(--color-status-error)]":a.isDraft?"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"passing"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-merge)_15%,transparent)] text-[var(--color-status-merge)]":"pending"===a.ciStatus?"bg-[color-mix(in_srgb,var(--color-status-pending)_15%,transparent)] text-[var(--color-status-pending)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-muted)]"),children:["#",a.number]}),a.title?(0,d.jsx)("span",{className:"flex-1 truncate text-[11px] text-[var(--color-text-secondary)]",title:a.title,children:a.title}):(0,d.jsx)("span",{className:"flex-1"}),a.enriched&&(0,d.jsxs)("span",{className:"shrink-0 font-[var(--font-mono)] text-[10px]",children:[(0,d.jsxs)("span",{className:"text-[var(--color-status-merge)]",children:["+",a.additions]})," ",(0,d.jsxs)("span",{className:"text-[var(--color-status-error)]",children:["-",a.deletions]})]}),c&&"needs review"!==c&&(0,d.jsxs)("span",{className:"shrink-0 text-[10px] text-[var(--color-text-tertiary)]",children:["\xb7 ",c]})]},a.url)})}),(0,d.jsxs)("div",{className:"session-card__footer",children:[(0,d.jsxs)("div",{className:"session-card__footer-info",children:[s?(0,d.jsxs)("a",{href:s.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"card__pr",children:["PR #",s.number]}):null,s&&G?(0,d.jsx)("span",{className:"card__meta-sep","aria-hidden":"true",children:"\xb7"}):null,G?(0,d.jsx)("span",{className:"session-card__footer-detail","data-tone":G.tone,children:G.text}):null]}),(0,d.jsxs)("div",{className:"session-card__footer-actions",children:[C&&z?(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),c?.(z.number,z.owner,z.repo)},className:"session-card__control session-card__merge-control",children:[(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"6",cy:"6",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"18",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"2"}),(0,d.jsx)("path",{d:"M8 6h5a3 3 0 0 1 3 3v7"})]}),"Merge PR #",z.number]}):null,D?null:(0,d.jsx)("button",{onClick:c=>{if(c.stopPropagation(),!h)return void i(!0);i(!1),b?.(a.id)},onMouseLeave:()=>i(!1),onBlur:()=>i(!1),"aria-label":h?"Confirm terminate session":"Terminate session",className:(0,k.cn)("session-card__control session-card__terminate btn--danger",h&&"is-confirming"),children:h?(0,d.jsx)("span",{className:"font-mono text-[10px] font-semibold tracking-[0.04em]",children:"kill?"}):(0,d.jsxs)("svg",{className:"session-card__control-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"})]})})]})]})]})]})},function(a,b){return a.session===b.session&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore}),t={merge:{label:"Ready to merge",emptyMessage:"Nothing cleared to land yet."},action:{label:"Needs you",emptyMessage:"No agents need your input."},respond:{label:"Needs you",emptyMessage:"No agents need your input."},review:{label:"Review",emptyMessage:"No code waiting for review."},pending:{label:"In review",emptyMessage:"Nothing blocked."},working:{label:"Working",emptyMessage:"No agents running."},done:{label:"Done",emptyMessage:"No completed sessions."}},u=(0,e.memo)(function({level:a,sessions:b,onKill:c,onMerge:f,onRestore:g,collapsed:h,onToggle:i,compactMobile:j,onPreview:k,resetKey:l}){let m=t[a],n=void 0!==i,[o,p]=(0,e.useState)(!1),q=n&&j&&!o?b.slice(0,5):b,r=b.length-q.length;return n?(0,d.jsxs)("div",{className:`accordion-section${h?" accordion-section--collapsed":" accordion-section--expanded"}`,"data-level":a,children:[(0,d.jsxs)("button",{type:"button",className:"accordion-header",onClick:()=>i(a),"aria-expanded":!h,"aria-controls":`accordion-body-${a}`,children:[(0,d.jsx)("span",{className:"accordion-header__dot","data-level":a}),(0,d.jsx)("span",{className:"accordion-header__label",children:m.label}),(0,d.jsx)("span",{className:"accordion-header__count",children:b.length}),(0,d.jsx)("span",{className:"accordion-header__chevron","aria-hidden":"true",children:"▶"})]}),(0,d.jsx)("div",{id:`accordion-body-${a}`,className:"accordion-body",children:b.length>0?(0,d.jsxs)("div",{className:j?"mobile-session-list":"flex flex-col gap-2 p-3",children:[q.map(b=>j?(0,d.jsx)(v,{session:b,level:a,onPreview:k},b.id):(0,d.jsx)(s,{session:b,onKill:c,onMerge:f,onRestore:g},b.id)),j&&r>0?(0,d.jsxs)("button",{type:"button",className:"mobile-session-list__view-all",onClick:()=>p(!0),children:["View all ",b.length]}):null]}):j?(0,d.jsx)("div",{className:"mobile-session-list",children:(0,d.jsx)("div",{className:"mobile-session-list__empty",children:m.emptyMessage})}):null})]}):(0,d.jsxs)("div",{className:"kanban-column","data-level":a,children:[(0,d.jsx)("div",{className:"kanban-column__header",children:(0,d.jsxs)("div",{className:"kanban-column__title-row",children:[(0,d.jsx)("div",{className:"kanban-column__dot","data-level":a}),(0,d.jsx)("span",{className:"kanban-column__title",children:m.label}),(0,d.jsx)("span",{className:"kanban-column__count",children:b.length})]})}),(0,d.jsx)("div",{className:"kanban-column-body",children:b.length>0?(0,d.jsx)("div",{className:"kanban-column__stack",children:b.map(a=>(0,d.jsx)(s,{session:a,onKill:c,onMerge:f,onRestore:g},a.id))}):null})]})},function(a,b){return a.level===b.level&&a.collapsed===b.collapsed&&a.onToggle===b.onToggle&&a.onKill===b.onKill&&a.onMerge===b.onMerge&&a.onRestore===b.onRestore&&a.compactMobile===b.compactMobile&&a.onPreview===b.onPreview&&a.resetKey===b.resetKey&&a.sessions.length===b.sessions.length&&a.sessions.every((a,c)=>a===b.sessions[c])});function v({session:a,level:b,onPreview:c}){let e=[a.branch,a.pr?`PR #${a.pr.number}`:null,a.issueLabel].filter(Boolean);return(0,d.jsxs)("div",{className:"mobile-session-row",children:[(0,d.jsxs)("button",{type:"button",className:"mobile-session-row__preview",onClick:()=>c?.(a),"aria-label":`Open ${(0,l.Pn)(a)}`,children:[(0,d.jsxs)("div",{className:"mobile-session-row__line",children:[(0,d.jsx)("span",{className:"mobile-session-row__dot","data-level":b,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mobile-session-row__title",children:(0,l.Pn)(a)})]}),(0,d.jsx)("div",{className:"mobile-session-row__meta",children:e.length>0?e.join(" \xb7 "):"No branch or PR metadata"})]}),(0,d.jsxs)("div",{className:"mobile-session-row__side",children:[(0,d.jsx)(w,{session:a,level:b}),(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),className:"mobile-session-row__open","aria-label":`Go to ${(0,l.Pn)(a)}`,children:(0,d.jsxs)("svg",{className:"mobile-session-row__open-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M4 17V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z"}),(0,d.jsx)("path",{d:"m8 10 2 2-2 2M12 14h4"})]})})]})]})}function w({session:a,level:b}){let c=t[b].label.toLowerCase(),e=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return"merge"===b&&e.length>0&&e.every(a=>(0,j.QN)(a))?c="ready":"action"===b?c=function(a){if("needs_input"===a.status)return"needs input";if("stuck"===a.status)return"stuck";if("errored"===a.status)return"errored";if("waiting_input"===a.activity)return"waiting";if("exited"===a.activity)return"crashed";if("blocked"===a.activity)return"blocked";if("ci_failed"===a.status)return"ci failed";if("changes_requested"===a.status)return"changes";let b=a.prs.length>0?a.prs:a.pr?[a.pr]:[];return b.some(a=>"failing"===a.ciStatus)?"ci failed":b.some(a=>"changes_requested"===a.reviewDecision)?"changes":b.some(a=>!a.mergeability.noConflicts)?"conflicts":"action"}(a):"respond"===b?c="waiting_input"===a.activity?"waiting":"needs input":"review"===b?c=e.some(a=>"changes_requested"===a.reviewDecision)?"changes":"review":"pending"===b?c=e.some(a=>a.unresolvedThreads)?"threads":"pending":"working"===b&&(c="idle"===a.activity?"idle":"active"),(0,d.jsx)("span",{className:"mobile-session-row__chip",children:c})}var x=c(18768),y=c(20057),z=c(58976);let A=["Working","Needs you","In review","Ready to merge"];function B({message:a,orchestratorHref:b,onSpawnOrchestrator:c=null,spawnLabel:e="Spawn Orchestrator",spawnDisabled:f=!1}){return(0,d.jsxs)("div",{className:"board-wrapper",children:[(0,d.jsx)("div",{className:"kanban-ghost","aria-hidden":"true",children:A.map(a=>(0,d.jsx)("div",{className:"kanban-ghost__col",children:(0,d.jsx)("div",{className:"kanban-ghost__head",children:a})},a))}),(0,d.jsx)("div",{className:"board-center",children:(0,d.jsxs)("div",{className:"empty-state",role:"status",children:[(0,d.jsx)("div",{className:"empty-state__icon",children:(0,d.jsxs)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5.5",r:"2.5",fill:"color-mix(in srgb, var(--color-accent) 18%, transparent)",stroke:"var(--color-accent)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"5.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"18.5",cy:"17",r:"2.5",fill:"var(--color-bg-subtle)",stroke:"var(--color-border-strong)",strokeWidth:"1.5"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"6.7",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"17.3",y2:"14.8",stroke:"color-mix(in srgb, var(--color-accent) 22%, transparent)",strokeWidth:"1",strokeDasharray:"2.5 2"}),(0,d.jsx)("line",{x1:"7.8",y1:"17",x2:"16.2",y2:"17",stroke:"var(--color-border-subtle)",strokeWidth:"1",strokeDasharray:"2.5 2"})]})}),a?(0,d.jsx)("p",{className:"empty-state__text",children:a}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"empty-state__headline",children:"Ready to orchestrate"}),(0,d.jsx)("p",{className:"empty-state__hint",children:"Open the main orchestrator to start a session and fan out parallel agents across your codebase."}),b?(0,d.jsxs)("a",{href:b,className:"empty-state__cta",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Open Orchestrator"]}):c?(0,d.jsxs)("button",{type:"button",className:"empty-state__cta",onClick:c,disabled:f,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),e]}):null]})]})})]})}var C=c(71276);function D({status:a}){return"connected"===a?null:"disconnected"===a?(0,d.jsx)("button",{type:"button",className:"connection-bar connection-bar--disconnected","aria-live":"assertive","aria-atomic":"true",onClick:()=>window.location.reload(),children:"Offline \xb7 tap to retry"}):(0,d.jsx)("div",{className:"connection-bar connection-bar--reconnecting",role:"status","aria-live":"polite","aria-atomic":"true",children:"Reconnecting…"})}function E(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)("idle"),[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(null),k=(0,e.useCallback)(()=>{if(a?.latest){try{window.localStorage.setItem("ao.updateBanner.dismissedFor",a.latest)}catch{}j(a.latest),f("idle"),h(null)}},[a]),l=(0,e.useCallback)(async()=>{f("starting"),h(null);try{let a=await fetch("/api/update",{method:"POST"}),b=await a.json();if(a.ok)return void f("started");if(409===a.status){f("blocked"),h(b.message);return}f("error"),h(b.message??"Update failed")}catch(a){f("error"),h(a instanceof Error?a.message:String(a))}},[]);if(!a||!a.isOutdated||!a.latest||"manual"===a.channel||i===a.latest&&"idle"===c||"started"===c)return null;let m="nightly"===a.channel?" (nightly)":"";return(0,d.jsxs)("div",{role:"status","aria-live":"polite",className:"flex w-full items-center justify-between gap-3 border-b border-[var(--color-border-default)] bg-[var(--color-accent-amber-dim)] px-4 py-2 text-sm text-[var(--color-text-primary)]",children:[(0,d.jsxs)("div",{className:"flex flex-1 items-center gap-3",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:"inline-block h-2 w-2 flex-shrink-0 rounded-full bg-[var(--color-accent-amber)]"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,d.jsxs)("span",{className:"font-medium",children:["Update available",m,": ",a.current," → ",a.latest]}),"blocked"===c&&g||"error"===c&&g?(0,d.jsx)("span",{className:"text-xs text-[var(--color-status-error)]",children:g}):"starting"===c?(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Starting…"}):(0,d.jsx)("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Click Update to install. The dashboard will restart."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>void l(),disabled:"starting"===c,className:"rounded-sm border border-[var(--color-accent-amber-border)] bg-[var(--color-accent-amber)] px-3 py-1 text-xs font-medium text-[var(--color-text-inverse)] hover:bg-[color-mix(in_srgb,var(--color-accent-amber)_85%,black)] disabled:cursor-wait disabled:opacity-60",children:"starting"===c?"Updating…":"Update"}),(0,d.jsx)("button",{type:"button",onClick:k,"aria-label":"Dismiss",className:"rounded-sm px-2 py-1 text-xs text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)]",children:"Dismiss"})]})]})}let F=[/\bBearer\s+[A-Za-z0-9._\-+/=]+\b/gi,/\bsk-[A-Za-z0-9]{10,}\b/g,/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g];function G({projectId:a}){let{showToast:b}=(0,C.d)(),[c,f]=(0,e.useState)(!1),g=(0,e.useCallback)(async()=>{if(!c){f(!0);try{let c,d=await fetch("/api/observability",{credentials:"same-origin"});if(!d.ok)return void b("Could not fetch observability snapshot","error");let e=d.headers.get("x-correlation-id");try{c=await d.json()}catch{b("Could not parse observability snapshot","error");return}let f=function a(b,c=new WeakSet){if("string"==typeof b)return F.reduce((a,b)=>a.replace(b,"[REDACTED]"),b);if(Array.isArray(b))return b.map(b=>a(b,c));if(b&&"object"==typeof b){if(c.has(b))return"[Circular]";c.add(b);let d={};for(let[e,f]of Object.entries(b))d[e]=a(f,c);return d}return b}(function(a,b){if(!b||!a||"object"!=typeof a)return a;let c={...a},d=c.projects;if(d&&"object"==typeof d&&!Array.isArray(d)){let a=d[b];c.projects=void 0===a?{}:{[b]:a}}return c}(c,a)),g={copiedAt:new Date().toISOString(),pageHref:`${window.location.origin}${window.location.pathname}`,projectId:a??null,correlationId:e,userAgent:navigator.userAgent,observability:f};await navigator.clipboard.writeText(JSON.stringify(g,null,2)),b("Debug bundle copied to clipboard","success")}catch{b("Could not copy debug bundle","error")}finally{f(!1)}}},[c,a,b]);return(0,d.jsx)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--icon",onClick:()=>void g(),disabled:c,title:"Copy debug bundle","aria-label":"Copy debug bundle for issue reports",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}var H=c(73660),I=c(70162),J=c(88510),K=c(5241);function L(a){let b=Date.now(),c=Math.floor((b-new Date(a).getTime())/1e3);if(c<60)return`${c}s ago`;let d=Math.floor(c/60);if(d<60)return`${d}m ago`;let e=Math.floor(d/60);if(e<24)return`${e}h ago`;let f=Math.floor(e/24);return`${f}d ago`}function M(a){return a.replaceAll("_"," ")}function N(a){return null!==a}function O({session:a,mode:b,onCancel:c,onConfirm:f,onRequestKill:g,onMerge:h,isMergeReady:i=!1}){let k=(0,e.useRef)(null),m=(0,e.useRef)(null);(0,e.useRef)(null);let n=a?.pr?.number??null;if(!a)return null;let o=(0,l.Pn)(a),q=(0,j.ng)(a),r=a.summary&&!a.summaryIsFallback?a.summary:null,s="done"!==q&&"merge"!==q&&!(0,j.y8)(a),t=a.pr,u=!!(t&&!(0,j.fZ)(t)&&!(0,j.sZ)(t)),v="done"===q||(0,j.nH)(a),w=[{label:M(q),tone:"accent"},{label:M(a.status),tone:"neutral"},a.activity?{label:M(a.activity),tone:"neutral"}:null,a.branch?{label:a.branch,tone:"mono"}:null,a.pr?{label:`PR #${a.pr.number}`,tone:"neutral"}:null,a.issueLabel?{label:a.issueLabel,tone:"neutral"}:null].filter(N);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"bottom-sheet-backdrop",onClick:c,"aria-hidden":"true"}),(0,d.jsxs)("div",{ref:m,className:"bottom-sheet",role:"dialog","aria-modal":"true","aria-labelledby":"bottom-sheet-title",onTouchStart:function(a){k.current=a.touches[0]?.clientY??null},onTouchEnd:function(a){if(null===k.current)return;let b=(a.changedTouches[0]?.clientY??0)-k.current;k.current=null,b>80&&c()},children:[(0,d.jsx)("div",{className:"bottom-sheet__handle","aria-hidden":"true"}),"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__header",children:[(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:"Terminate session?"}),(0,d.jsx)("p",{className:"bottom-sheet__subtitle",children:"This action cannot be undone."})]}),(0,d.jsxs)("div",{className:"bottom-sheet__session-info",children:[(0,d.jsx)("div",{className:"bottom-sheet__session-name",children:o}),(0,d.jsx)("div",{className:"bottom-sheet__session-meta",children:w.map(a=>(0,d.jsx)("span",{className:`bottom-sheet__tag bottom-sheet__tag--${a.tone}`,children:a.label},`${a.tone}-${a.label}`))}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-card",children:[(0,d.jsx)("div",{className:"bottom-sheet__preview-strip","data-level":q}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-content",children:[(0,d.jsxs)("div",{className:"bottom-sheet__preview-header",children:[(0,d.jsx)("span",{className:"bottom-sheet__preview-id",children:a.id}),(0,d.jsx)("span",{className:"bottom-sheet__preview-time",children:L(a.lastActivityAt)})]}),(0,d.jsx)("h2",{id:"bottom-sheet-title",className:"bottom-sheet__title",children:o}),(0,d.jsxs)("p",{className:"bottom-sheet__subtitle",children:[M(q)," \xb7 started ",L(a.createdAt)]}),(0,d.jsxs)("div",{className:"bottom-sheet__preview-meta",children:[a.branch?(0,d.jsx)("span",{className:"bottom-sheet__preview-branch",children:a.branch}):null,t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-pr",children:["#",t.number]}):null,u&&t?(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff",children:[(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-add",children:["+",t.additions]})," ",(0,d.jsxs)("span",{className:"bottom-sheet__preview-diff-del",children:["-",t.deletions]})]}):null]}),u&&t?(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:"passing"===t.ciStatus?"CI passing":"failing"===t.ciStatus?"CI failed":"CI pending"}),(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:"approved"===t.reviewDecision?"approved":"changes_requested"===t.reviewDecision?"changes requested":"needs review"}),v?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:M(a.status)}):null,v&&a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:M(a.activity)}):null]}):(0,d.jsxs)("div",{className:"bottom-sheet__preview-pills",children:[(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--accent",children:M(a.status)}),a.activity?(0,d.jsx)("span",{className:"bottom-sheet__tag bottom-sheet__tag--neutral",children:M(a.activity)}):null]})]})]}),r?(0,d.jsx)("p",{className:"bottom-sheet__summary",children:r}):null]}),(0,d.jsx)("div",{className:"bottom-sheet__actions",children:"confirm-kill"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--cancel",onClick:c,children:"Cancel"}),(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:f,children:"Terminate"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("a",{href:(0,p.Nc)(a.projectId,a.id),className:"bottom-sheet__btn bottom-sheet__btn--primary",children:"Open session"}),i&&a.pr&&h?(0,d.jsx)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--secondary",onClick:()=>{null!==n&&h(n,a.pr?.owner,a.pr?.repo)},children:"Merge"}):s&&g?(0,d.jsxs)("button",{type:"button",className:"bottom-sheet__btn bottom-sheet__btn--danger",onClick:g,children:[(0,d.jsxs)("svg",{className:"bottom-sheet__btn-icon",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M8 6V4h8v2"}),(0,d.jsx)("path",{d:"M19 6l-1 14H6L5 6"}),(0,d.jsx)("path",{d:"M10 11v6M14 11v6"})]}),"Terminate"]}):null]})})]})]})}let P=["working","action","pending","merge"],Q=["working","respond","review","pending","merge"],R=[];function S({session:a,onRestore:b}){let c=!a.summaryIsFallback&&a.summary||a.issueTitle||a.summary||a.id,e=a.pr?.state==="merged"||"merged"===a.status,f=(0,j.y8)(a),g=(0,j.wy)(a),h=`done-card__badge ${f?"done-card__badge--terminated":"done-card__badge--merged"}`;return(0,d.jsxs)("div",{className:"done-card",children:[(0,d.jsx)("p",{className:"done-card__title",children:c}),(0,d.jsxs)("div",{className:"done-card__meta",children:[(0,d.jsx)("span",{className:h,children:e?"merged":f?"terminated":"done"}),a.pr?(0,d.jsxs)("a",{href:a.pr.url,target:"_blank",rel:"noopener noreferrer",className:"done-card__pr",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("svg",{width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,d.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,d.jsx)("path",{d:"M6 9v3a6 6 0 0 0 6 6h3"})]}),"#",a.pr.number]}):null,(0,d.jsx)("span",{className:"done-card__age",children:function(a){if(!a)return"just now";let b=new Date(a).getTime();if(!Number.isFinite(b))return"just now";let c=Date.now()-b;if(c<=0)return"just now";let d=Math.floor(c/1e3),e=Math.floor(d/60),f=Math.floor(e/60),g=Math.floor(f/24);return d<60?`${d}s ago`:e<60?`${e}m ago`:f<24?`${f}h ago`:`${g}d ago`}(a.lastActivityAt)}),g?(0,d.jsx)("button",{type:"button",className:"done-card__restore",onClick:c=>{c.stopPropagation(),b(a.id)},children:"Restore"}):null]})]})}function T({initialSessions:a,projectId:b,projectName:c,projects:f=[],orchestrators:k,attentionZones:l="simple",dashboardLoadError:m}){let n=(0,z.eT)(),o="detailed"===l?Q:P,q=(0,e.useMemo)(()=>{let b={};for(let c of a)b[c.id]=(0,j.ng)(c,l);return b},[a,l]),{sessions:r,attentionLevels:s,liveSessionsResolved:t,loadError:v}=(0,y.D)({initialSessions:a,muxSessions:n?.status==="connected"?n.sessions:void 0,muxLastError:n?.lastError,initialAttentionLevels:q,attentionZones:l}),w=(0,e.useMemo)(()=>b?r.filter(a=>a.projectId===b):r,[r,b]),A=(0,e.useMemo)(()=>f.map(a=>a.sessionPrefix??a.id),[f]),F=(0,e.useMemo)(()=>r.filter(a=>(0,K.tT)(a,f.find(b=>b.id===a.projectId)?.sessionPrefix??a.projectId,A)).map(a=>({id:a.id,projectId:a.projectId})),[r,f,A]),L=n?.status==="disconnected"?"disconnected":n?.status==="connected"?"connected":"reconnecting",M=v??(m&&t?void 0:m),N=(0,h.useSearchParams)(),T=(0,h.useRouter)(),U=(0,e.useRef)(T);U.current=T;let W=N.get("session")??void 0,[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(k??R),[_,aa]=(0,e.useState)([]),[ab,ac]=(0,e.useState)({}),ad=(0,i.U)(i.D),ae=(0,I.V)(),af=null!==ae,[ag,ah]=(0,e.useState)(!1),[ai,aj]=(0,e.useState)(!1),ak=(0,e.useCallback)(()=>{if(af&&ae)return void ae.onToggleSidebar();ad?aj(a=>!a):ah(a=>!a)},[ad,af,ae]),[al,am]=(0,e.useState)(()=>new Set(["done","working"])),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)("preview"),ar=N.get("debug"),as=!ad&&("1"===ar||"true"===ar),{showToast:at}=(0,C.d)(),[au,av]=(0,e.useState)(!1),aw=(0,e.useRef)(r);aw.current=r;let ax=f.length>1&&void 0===b,ay=b?(0,p.bn)(b):"/?project=all",az=(0,p.nF)(b),aA=(0,e.useMemo)(()=>b?Z.find(a=>a.projectId===b)??null:null,[Z,b]),aB=aA?(0,p.Nc)(aA.projectId,aA.id):null,aC=!ax&&!!b&&f.some(a=>a.id===b&&!a.resolveError)&&!aB,aD=b?f.find(a=>a.id===b)??null:null,aE=!!b&&_.includes(b),aF=b?ab[b]??null:null,aG=(0,e.useMemo)(()=>ax||!W?w:w.filter(a=>a.id===W),[w,ax,W]),aH=(0,e.useMemo)(()=>{let a={merge:[],action:[],respond:[],review:[],pending:[],working:[],done:[]};for(let b of aG)a[(0,j.ng)(b,l)].push(b);return a},[aG,l]),aI=(0,e.useMemo)(()=>{let a=new Map;for(let b of r){let c=a.get(b.projectId);if(c){c.push(b);continue}a.set(b.projectId,[b])}return a},[r]),aJ=(0,e.useMemo)(()=>ax?f.map(a=>{let b=aI.get(a.id)??[],c={merge:0,action:0,respond:0,review:0,pending:0,working:0,done:0};for(let a of b)c[(0,j.ng)(a,l)]++;return{project:a,orchestrator:Z.find(b=>b.projectId===a.id)??null,sessionCount:b.length,openPRCount:b.filter(a=>a.pr?.state==="open").length,counts:c}}):[],[Z,ax,l,f,aI]),aK=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/kill`,{method:"POST"});if(b.ok)at("Session terminated","success");else{let c=await b.text();console.error(`Failed to kill ${a}:`,c),at(`Terminate failed: ${c}`,"error")}}catch(b){console.error(`Network error killing ${a}:`,b),at("Network error while terminating session","error")}},[at]),aL=(0,e.useCallback)(a=>{let b=aw.current.find(b=>b.id===a)??null;b&&aK(b.id)},[aK]),aM=(0,e.useCallback)(a=>{ao(a),aq("preview")},[]),aN=(0,e.useCallback)(()=>{aq("confirm-kill")},[]),aO=(0,e.useCallback)(()=>{ao(null),aq("preview")},[]),aP=(0,e.useCallback)(()=>{an&&aK(an.id),ao(null),aq("preview")},[an,aK]),aQ=(0,e.useCallback)(async(a,b,c)=>{try{let d=new URLSearchParams;b&&d.set("owner",b),c&&d.set("repo",c);let e=d.size>0?`?${d.toString()}`:"",f=await fetch(`/api/prs/${a}/merge${e}`,{method:"POST"});if(f.ok)at(`PR #${a} merged`,"success");else{let b=await f.text();console.error(`Failed to merge PR #${a}:`,b),at(`Merge failed: ${b}`,"error");return}}catch(b){console.error(`Network error merging PR #${a}:`,b),at("Network error while merging PR","error")}},[at]),aR=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}/restore`,{method:"POST"});if(b.ok)at("Session restored","success"),U.current.refresh();else{let c=await b.text();console.error(`Failed to restore ${a}:`,c),at(`Restore failed: ${c}`,"error")}}catch(b){console.error(`Network error restoring ${a}:`,b),at("Network error while restoring session","error")}},[at]),aS=async a=>{aa(b=>b.includes(a.id)?b:[...b,a.id]),ac(({[a.id]:b,...c})=>c);try{let b=await fetch("/api/orchestrators",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a.id})}),c=await b.json().catch(()=>null);if(!b.ok||!c?.orchestrator)throw Error(c?.error??`Failed to spawn orchestrator for ${a.name}`);let d=c.orchestrator;$(b=>{let c=b.filter(b=>b.projectId!==a.id);return c.push(d),c})}catch(c){let b=c instanceof Error?c.message:"Failed to spawn orchestrator";ac(c=>({...c,[a.id]:b})),console.error(`Failed to spawn orchestrator for ${a.id}:`,c)}finally{aa(b=>b.filter(b=>b!==a.id))}},aT=o.some(a=>aH[a].length>0),aU=!ax&&!aT&&!M,aV=M?(0,d.jsxs)("div",{className:"dashboard-alert mb-6 flex flex-col gap-1.5 border border-[color-mix(in_srgb,var(--color-status-error)_28%,transparent)] bg-[color-mix(in_srgb,var(--color-status-error)_10%,transparent)] px-3.5 py-2.5 text-[11px] md:mb-4",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("span",{className:"font-semibold text-[var(--color-status-error)]",children:"Orchestrator failed to load"}),(0,d.jsx)("span",{className:"break-words text-[var(--color-text-secondary)]",children:M}),(0,d.jsxs)("span",{className:"text-[var(--color-text-secondary)]",children:["Confirm ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"agent-orchestrator.yaml"})," exists and is valid, then run ",(0,d.jsx)("span",{className:"font-mono text-[10px]",children:"athene doctor"})," for diagnostics."]})]}):null,aW=(0,e.useMemo)(()=>r.some(a=>a.pr&&(0,j.fZ)(a.pr)),[r]),aX=c??(ax?"All projects":"Dashboard"),aY=!ax&&aX.trim().length>0,aZ=a=>{am(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},a$=(0,d.jsxs)("div",{className:"dashboard-main--desktop",children:[(0,d.jsxs)("header",{className:"dashboard-app-header",children:[ad?(0,d.jsx)("button",{type:"button",className:"dashboard-app-sidebar-toggle",onClick:ak,"aria-label":"Toggle sidebar",children:(0,d.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M4 6h16M4 12h16M4 18h16"})})}):null,aY?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"dashboard-app-header__sep topbar-desktop-only","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"topbar-project-pills-group",children:[(0,d.jsxs)("div",{className:"topbar-project-line",children:[(0,d.jsx)("span",{className:"dashboard-app-header__project",children:aX}),(0,d.jsxs)("nav",{className:"workspace-mode-switch","aria-label":"Workspace mode",children:[(0,d.jsx)(g(),{href:ay,className:"workspace-mode-switch__item workspace-mode-switch__item--active","aria-current":"page",children:"Coding"}),(0,d.jsx)(g(),{href:az,className:"workspace-mode-switch__item",children:"Reviews"})]})]}),!ax&&w.length>0?(0,d.jsxs)("div",{className:"topbar-session-pills",children:[aH.working.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--active",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--working"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aH.working.length," working"]})]}):null,aH.merge.length+aH.action.length+aH.respond.length+aH.review.length>0?(0,d.jsxs)("div",{className:"topbar-status-pill topbar-status-pill--waiting-for-input",children:[(0,d.jsx)("span",{className:"topbar-status-pill__dot topbar-status-pill__dot--attention"}),(0,d.jsxs)("span",{className:"topbar-status-pill__label",children:[aH.merge.length+aH.action.length+aH.respond.length+aH.review.length," ","need attention"]})]}):null]}):null]})]}):null,(0,d.jsx)("div",{className:"dashboard-app-header__spacer"}),(0,d.jsxs)("div",{className:"dashboard-app-header__actions",children:[as?(0,d.jsx)(G,{projectId:b}):null,(0,d.jsx)(H.e,{}),!ax&&aB?(0,d.jsxs)(g(),{href:aB,className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Orchestrator",children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),"Orchestrator"]}):aC&&aD?(0,d.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-app-btn--primary","aria-label":"Spawn Orchestrator",onClick:()=>void aS(aD),disabled:aE,children:[(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]}),aE?"Spawning...":"Spawn Orchestrator"]}):null]})]}),(0,d.jsxs)("main",{className:"dashboard-main flex flex-col flex-1 min-h-0 overflow-hidden",children:[(0,d.jsx)(x.u,{attentionLevels:s,projectName:c}),(0,d.jsxs)("div",{className:"dashboard-main__subhead",children:[(0,d.jsx)("h1",{className:"dashboard-main__title",children:"Board"}),(0,d.jsx)("p",{className:"dashboard-main__subtitle",children:"Live agent sessions flowing from work → review → merge."})]}),(0,d.jsxs)("div",{className:"dashboard-main__body",children:[aV,aW&&!X&&(0,d.jsxs)("div",{className:"dashboard-alert mb-4 flex items-center gap-2.5 border border-[color-mix(in_srgb,var(--color-status-attention)_25%,transparent)] bg-[var(--color-tint-yellow)] px-3.5 py-2.5 text-[11px] text-[var(--color-status-attention)]",children:[(0,d.jsxs)("svg",{className:"h-3.5 w-3.5 shrink-0",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("path",{d:"M12 8v4M12 16h.01"})]}),(0,d.jsx)("span",{className:"flex-1",children:"GitHub API rate limited — PR data (CI status, review state, sizes) may be stale. Will retry automatically on next refresh."}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"ml-1 shrink-0 opacity-60 hover:opacity-100","aria-label":"Dismiss",children:(0,d.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),ax&&(0,d.jsx)(V,{overviews:aJ,onSpawnOrchestrator:aS,spawningProjectIds:_,spawnErrors:ab,attentionZones:l}),!ax&&aT&&(0,d.jsx)("div",{className:"kanban-board-wrap",children:(0,d.jsx)("div",{className:"kanban-board","data-columns":o.length,style:{"--kanban-column-count":o.length},children:o.map(a=>(0,d.jsx)(u,{level:a,sessions:aH[a],onKill:aL,onRestore:aR,compactMobile:ad,collapsed:ad&&al.has(a),onToggle:ad?aZ:void 0,onPreview:ad?aM:void 0},a))})}),aU?(0,d.jsx)(B,{orchestratorHref:aB,onSpawnOrchestrator:aC&&aD?()=>{aS(aD)}:null,spawnLabel:aE?"Spawning...":"Spawn Orchestrator",spawnDisabled:aE}):null,!ax&&aF?(0,d.jsx)("p",{className:"mt-3 text-[11px] text-[var(--color-status-error)]",children:aF}):null,!ax&&aH.done.length>0&&(0,d.jsxs)("div",{className:"done-bar mt-6",children:[(0,d.jsxs)("button",{type:"button",className:"done-bar__toggle",onClick:()=>av(a=>!a),"aria-expanded":au,children:[(0,d.jsx)("svg",{className:`done-bar__chevron${au?" done-bar__chevron--open":""}`,fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{d:"m9 18 6-6-6-6"})}),(0,d.jsx)("span",{className:"done-bar__label",children:"Done / Terminated"}),(0,d.jsx)("span",{className:"done-bar__count",children:aH.done.length})]}),au&&(0,d.jsx)("div",{className:"done-bar__cards",children:aH.done.map(a=>(0,d.jsx)(S,{session:a,onRestore:aR},a.id))})]})]})]})]}),a_=(0,d.jsx)(O,{session:an,mode:ap,onCancel:aO,onConfirm:aP,onRequestKill:aN,onMerge:aQ,isMergeReady:!!an&&"merge"===s[an.id]});return af?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(E,{}),(0,d.jsx)(D,{status:L}),a$,a_]}):(0,d.jsxs)(I.I.Provider,{value:{onToggleSidebar:ak,mobileSidebarOpen:ai},children:[(0,d.jsx)(E,{}),(0,d.jsx)(D,{status:L}),(0,d.jsx)("div",{className:"dashboard-app-shell",children:(0,d.jsxs)("div",{className:`dashboard-shell--desktop${ag?" dashboard-shell--sidebar-collapsed":""}`,children:[(0,d.jsx)("div",{className:`sidebar-wrapper${ai?" sidebar-wrapper--mobile-open":""}`,children:(0,d.jsx)(J.u,{projects:f,sessions:r,orchestrators:F,activeProjectId:b,activeSessionId:W,loading:!t,collapsed:ag,onToggleCollapsed:()=>ah(a=>!a),onMobileClose:()=>aj(!1)})}),ai&&(0,d.jsx)("div",{className:"sidebar-mobile-backdrop",onClick:()=>aj(!1)}),a$]})}),a_]})}function U(a){return(0,d.jsx)(C.t,{children:(0,d.jsx)(T,{...a})})}function V({overviews:a,onSpawnOrchestrator:b,spawningProjectIds:c,spawnErrors:e,attentionZones:f}){return(0,d.jsx)("div",{className:"mb-8 grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:a.map(({project:a,orchestrator:h,sessionCount:i,openPRCount:j,counts:k})=>(()=>{let l=!!a.resolveError,m=(0,p.bn)(a.id);return(0,d.jsxs)("section",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] p-4",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--color-text-primary)]",children:a.name}),(0,d.jsx)("div",{className:"mt-1 text-[11px] text-[var(--color-text-muted)]",children:l?"Config needs repair":(0,d.jsxs)(d.Fragment,{children:[i," active session",1!==i?"s":"",j>0?` \xb7 ${j} open PR${1!==j?"s":""}`:""]})})]}),(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Open project"})]}),(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap gap-2",children:[(0,d.jsx)(W,{label:"Merge",value:k.merge,tone:"ready"}),"detailed"===f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(W,{label:"Respond",value:k.respond,tone:"error"}),(0,d.jsx)(W,{label:"Review",value:k.review,tone:"orange"})]}):(0,d.jsx)(W,{label:"Action",value:k.action,tone:"orange"}),(0,d.jsx)(W,{label:"Pending",value:k.pending,tone:"attention"}),(0,d.jsx)(W,{label:"Working",value:k.working,tone:"working"})]}),(0,d.jsxs)("div",{className:"border-t border-[var(--color-border-subtle)] pt-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)("div",{className:"text-[11px] text-[var(--color-text-muted)]",children:l?"Project config could not be resolved":h?"Per-project orchestrator available":"No running orchestrator"}),l?(0,d.jsx)(g(),{href:m,className:"border border-[var(--color-border-default)] px-3 py-1.5 text-[11px] font-semibold text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)] hover:no-underline",children:"Repair project"}):h?(0,d.jsxs)(g(),{href:(0,p.Nc)(h.projectId,h.id),className:"orchestrator-btn flex items-center gap-2 px-3 py-1.5 text-[11px] font-semibold hover:no-underline",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--color-accent)] opacity-80"}),"orchestrator"]}):(0,d.jsx)("button",{type:"button",onClick:()=>void b(a),disabled:c.includes(a.id),className:"orchestrator-btn px-3 py-1.5 text-[11px] font-semibold disabled:cursor-wait disabled:opacity-70",children:c.includes(a.id)?"Spawning...":"Spawn Orchestrator"})]}),e[a.id]?(0,d.jsx)("p",{className:"mt-2 text-[11px] text-[var(--color-status-error)]",children:e[a.id]}):null]})]},a.id)})())})}function W({label:a,value:b,tone:c}){return(0,d.jsxs)("div",{className:"min-w-[78px] border border-[var(--color-border-subtle)] px-2.5 py-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:a}),(0,d.jsx)("div",{className:"project-metric__value mt-1 text-[18px] font-semibold tabular-nums","data-tone":c,children:b})]})}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=1271,exports.ids=[1271],exports.modules={21271:(a,b,c)=>{c.d(b,{bV:()=>y,Ik:()=>s,g$:()=>x,oc:()=>v,WQ:()=>p,KI:()=>k,cg:()=>o});var d=c(43780),e=c(36269);class f{constructor(a=3e5){this.cache=new Map,this.ttlMs=a,this.cleanupInterval=setInterval(()=>this.evictExpired(),a),this.cleanupInterval.unref&&this.cleanupInterval.unref()}get(a){let b=this.cache.get(a);return b?Date.now()>b.expiresAt?(this.cache.delete(a),null):b.value:null}set(a,b,c){this.cache.set(a,{value:b,expiresAt:Date.now()+(c??this.ttlMs)})}evictExpired(){let a=Date.now();for(let[b,c]of this.cache.entries())a>c.expiresAt&&this.cache.delete(b)}clear(){this.cache.clear(),this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=void 0)}size(){return this.cache.size}}var g=c(68544);let h=new f(3e5),i=new f(12e4);function j(a){try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}}function k(a,b){let c=b[a.projectId];if(c)return c;let d=Object.entries(b).find(([,b])=>(0,g.G)(a.id,b.sessionPrefix));if(d)return d[1];let e=Object.keys(b)[0];return e?b[e]:void 0}function l(a){return a.replace(/_/g," ")}function m(a,b){return"idle"===a&&"merged_waiting_decision"===b?"merged, waiting decision":"none"===a?"not created":"alive"===a?"alive":"missing"===a?"missing":l(a)}function n(a){return a.attentionLevel=(0,e.ng)(a),a}function o(a){let b=a.agentInfo?.summary,c=b??a.metadata.summary??null;return n({id:a.id,projectId:a.projectId,status:a.status,activity:a.activity,activitySignal:{state:a.activitySignal.state,activity:a.activitySignal.activity,timestamp:a.activitySignal.timestamp?.toISOString()??null,source:a.activitySignal.source,detail:a.activitySignal.detail},lifecycle:function(a){let b=a.lifecycle;return{sessionState:b.session.state,sessionReason:b.session.reason,prState:b.pr.state,prReason:b.pr.reason,runtimeState:b.runtime.state,runtimeReason:b.runtime.reason,session:{state:b.session.state,reason:b.session.reason,label:m(b.session.state,b.session.reason),reasonLabel:l(b.session.reason),startedAt:b.session.startedAt,completedAt:b.session.completedAt,terminatedAt:b.session.terminatedAt,lastTransitionAt:b.session.lastTransitionAt},pr:{state:b.pr.state,reason:b.pr.reason,label:m(b.pr.state,b.pr.reason),reasonLabel:l(b.pr.reason),number:b.pr.number,url:b.pr.url,lastObservedAt:b.pr.lastObservedAt},runtime:{state:b.runtime.state,reason:b.runtime.reason,label:m(b.runtime.state,b.runtime.reason),reasonLabel:l(b.runtime.reason),lastObservedAt:b.runtime.lastObservedAt},legacyStatus:a.status,evidence:a.metadata.lifecycleEvidence??null,detectingAttempts:Number.parseInt(a.metadata.detectingAttempts??"0",10)||0,detectingEscalatedAt:a.metadata.detectingEscalatedAt??null,summary:function(a){let{lifecycle:b}=a;return"detecting"===b.session.state?`Detecting runtime truth (${l(b.session.reason)})`:"merged"===b.pr.state?a.metadata.mergedPendingCleanupSince?"PR merged; worker session will be cleaned up automatically":"PR merged":"closed"===b.pr.state?"PR closed without merge":"ci_failing"===b.pr.reason?"PR is open and CI is failing":"changes_requested"===b.pr.reason?"PR is open with requested changes":"review_pending"===b.pr.reason?"PR is open and waiting on review":`Session ${l(b.session.state)} (${l(b.session.reason)})`}(a),guidance:null}}(a),branch:a.branch,issueId:a.issueId,issueUrl:a.issueId&&j(a.issueId)?a.issueId:null,issueLabel:null,issueTitle:null,userPrompt:a.metadata.userPrompt??null,displayName:a.metadata.displayName??null,displayNameUserSet:"true"===a.metadata.displayNameUserSet,summary:c,summaryIsFallback:!!b&&(a.agentInfo?.summaryIsFallback??!1),createdAt:a.createdAt.toISOString(),lastActivityAt:a.lastActivityAt.toISOString(),pr:a.pr?{...q(a.pr),state:function(a){switch(a){case"merged":return"merged";case"closed":return"closed";default:return"open"}}(a.lifecycle.pr.state)}:null,prs:(a.prs??[]).map(a=>q(a)),metadata:a.metadata,agentReportAudit:[]})}function p(a,b){let c=Object.entries(b).map(([a,b])=>b.sessionPrefix??a),e=new Map;for(let f of a){if(!(0,d.tTz)(f,b[f.projectId]?.sessionPrefix??f.projectId,c))continue;let a=e.get(f.projectId);if(!a){e.set(f.projectId,f);continue}let g=(0,d.zi)(a),h=(0,d.zi)(f);if(g!==h){h||e.set(f.projectId,f);continue}let i=a.lastActivityAt?.getTime()??a.createdAt?.getTime()??0,j=f.lastActivityAt?.getTime()??f.createdAt?.getTime()??0;if(j>i){e.set(f.projectId,f);continue}j===i&&f.id.localeCompare(a.id)>0&&e.set(f.projectId,f)}return[...e.values()].map(a=>({id:a.id,projectId:a.projectId,projectName:b[a.projectId]?.name??a.projectId})).sort((a,b)=>a.projectName.localeCompare(b.projectName)||a.id.localeCompare(b.id))}function q(a){return{number:a.number,url:a.url,title:a.title,owner:a.owner,repo:a.repo,branch:a.branch,baseBranch:a.baseBranch,isDraft:a.isDraft,state:"open",additions:0,deletions:0,ciStatus:"none",ciChecks:[],reviewDecision:"none",mergeability:{mergeable:!1,ciPassing:!1,approved:!1,noConflicts:!0,blockers:[]},unresolvedThreads:0,unresolvedComments:[],enriched:!1}}function r(a){let b=a.prEnrichment;if(!b)return null;try{let c=JSON.parse(b),d={unresolvedThreads:0,unresolvedComments:[]},e=a.prReviewComments;if(e)try{d=JSON.parse(e)}catch{}return{state:c.state??"open",title:c.title??"",additions:c.additions??0,deletions:c.deletions??0,isDraft:c.isDraft,ciStatus:c.ciStatus??"none",ciChecks:(c.ciChecks??[]).map(a=>({name:a.name,status:a.status,url:a.url})),reviewDecision:c.reviewDecision??"none",mergeability:{mergeable:c.mergeable??!1,ciPassing:"passing"===c.ciStatus||"none"===c.ciStatus,approved:"approved"===c.reviewDecision,noConflicts:!c.hasConflicts,blockers:c.blockers??[]},unresolvedThreads:d.unresolvedThreads??0,unresolvedComments:d.unresolvedComments??[]}}catch{return null}}function s(a){if(!a.pr)return!1;let b=r(a.metadata);if(!b)return!1;a.pr.state=b.state,b.title&&(a.pr.title=b.title),a.pr.additions=b.additions,a.pr.deletions=b.deletions,void 0!==b.isDraft&&(a.pr.isDraft=b.isDraft),a.pr.ciStatus=b.ciStatus,a.pr.ciChecks=b.ciChecks,a.pr.reviewDecision=b.reviewDecision,a.pr.mergeability=b.mergeability,a.pr.unresolvedThreads=b.unresolvedThreads,a.pr.unresolvedComments=b.unresolvedComments,a.pr.enriched=!0;let c=a.prs?.[0];if(c&&c.url===a.pr.url&&Object.assign(c,a.pr),a.prs&&a.prs.length>1)for(let b=1;b<a.prs.length;b++){let c=`prEnrichment_${b}`,d=`prReviewComments_${b}`,e=r({...a.metadata,prEnrichment:a.metadata[c]??"",prReviewComments:a.metadata[d]??""});if(!e)continue;let f=a.prs[b];f&&(f.state=e.state,e.title&&(f.title=e.title),f.additions=e.additions,f.deletions=e.deletions,void 0!==e.isDraft&&(f.isDraft=e.isDraft),f.ciStatus=e.ciStatus,f.ciChecks=e.ciChecks,f.reviewDecision=e.reviewDecision,f.mergeability=e.mergeability,f.unresolvedThreads=e.unresolvedThreads,f.unresolvedComments=e.unresolvedComments,f.enriched=!0)}return n(a),!0}async function t(a,b,c){if(!a.summary)try{let d=await c.getSessionInfo(b);d?.summary&&(a.summary=d.summary,a.summaryIsFallback=d.summaryIsFallback??!1)}catch{}}async function u(a,b,c){if(!a.issueUrl||!a.issueLabel)return;let d=h.get(a.issueUrl);if(d){a.issueTitle=d;return}if(!i.get(a.issueUrl))try{let d=a.issueLabel.replace(/^#/,""),e=await b.getIssue(d,c);e.title&&(a.issueTitle=e.title,h.set(a.issueUrl,e.title))}catch{i.set(a.issueUrl,!0)}}async function v(a,b,c,d){let{summaryPromises:e}=w(a,b,c,d);await Promise.allSettled(e)}function w(a,b,c,d){let e=a.map(a=>k(a,c.projects));return e.forEach((a,c)=>{if(!b[c].issueUrl&&!b[c].issueId||!a?.tracker?.plugin)return;let e=d.get("tracker",a.tracker.plugin);e&&function(a,b,c){let d=a.issueId??a.issueUrl;if(d){if(j(d))a.issueUrl=d;else if(/\s/.test(d))a.issueUrl=null;else if(b.issueUrl)try{let e=b.issueUrl(d,c);e&&j(e)?a.issueUrl=e:console.warn("[enrichSessionIssue] tracker.issueUrl() returned a non-absolute URL",{tracker:b.name,issueReference:d,candidateUrl:e})}catch(a){console.warn("[enrichSessionIssue] tracker.issueUrl() failed",{tracker:b.name,issueReference:d,error:String(a)})}if(a.issueUrl)if(b.issueLabel)try{a.issueLabel=b.issueLabel(a.issueUrl,c)}catch{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}else{let b=a.issueUrl.split("/");a.issueLabel=b[b.length-1]||a.issueUrl}}}(b[c],e,a)}),{projects:e,summaryPromises:a.map((a,c)=>{if(b[c].summary)return Promise.resolve();let e=a.metadata.agent;if(!e)return Promise.resolve();let f=d.get("agent",e);return f?t(b[c],a,f):Promise.resolve()})}}async function x(a,b,c,d){let{projects:e,summaryPromises:f}=w(a,b,c,d),g=e.map((a,c)=>{if(!b[c].issueUrl||!b[c].issueLabel||!a?.tracker?.plugin)return Promise.resolve();let e=d.get("tracker",a.tracker.plugin);return e?u(b[c],e,a):Promise.resolve()});await Promise.allSettled([...f,...g])}function y(a){return{totalSessions:a.length,workingSessions:a.filter(a=>null!==a.activity&&"exited"!==a.activity).length,openPRs:a.filter(a=>a.pr?.state==="open").length,needsReview:a.filter(a=>a.pr&&!a.pr.isDraft&&"pending"===a.pr.reviewDecision).length}}},36269:(a,b,c)=>{c.d(b,{ng:()=>g});var d=c(15407);function e(a){return a.mergeability.blockers.includes("API rate limited or unavailable")}function f(a){return!1===a.enriched}function g(a,b="detailed"){let c=function(a){if(function(a){if(a.lifecycle)return"done"===a.lifecycle.sessionState||(a.lifecycle?"terminated"===a.lifecycle.sessionState:"terminated"===a.status||"killed"===a.status)||"merged"===a.lifecycle.prState;return"merged"===a.status||"killed"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr?.state==="merged"}(a))return"done";if(a.lifecycle?.prReason==="merge_ready"||a.lifecycle?.prReason==="approved"||"mergeable"===a.status||"approved"===a.status||a.pr&&!f(a.pr)&&a.pr.mergeability.mergeable)return"merge";if(a.lifecycle?.sessionState==="detecting"||a.lifecycle?.sessionState==="needs_input"||a.lifecycle?.sessionState==="stuck"||a.status===d.SB.ERRORED||a.status===d.SB.NEEDS_INPUT||a.status===d.SB.STUCK||a.activity===d.u3.WAITING_INPUT||a.activity===d.u3.BLOCKED||a.activity===d.u3.EXITED)return"respond";if(a.lifecycle?.prReason==="ci_failing"||a.lifecycle?.prReason==="changes_requested"||"ci_failed"===a.status||"changes_requested"===a.status)return"review";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(b.ciStatus===d.U1.FAILING||"changes_requested"===b.reviewDecision||!b.mergeability.noConflicts)return"review"}if(a.lifecycle?.prReason==="review_pending"||a.lifecycle?.prReason==="closed_unmerged"||"review_pending"===a.status)return"pending";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(!b.isDraft&&b.unresolvedThreads>0||!b.isDraft&&("pending"===b.reviewDecision||"none"===b.reviewDecision))return"pending"}return"working"}(a);return"simple"===b&&("respond"===c||"review"===c)?"action":c}},68544:(a,b,c)=>{c.d(b,{G:()=>d});function d(a,b){return a===b||a.startsWith(`${b}-`)}}};
@@ -0,0 +1 @@
1
+ exports.id=2106,exports.ids=[2106],exports.modules={8398:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getRootParam:function(){return n},unstable_rootParams:function(){return m}});let d=c(85236),e=c(26636),f=c(29294),g=c(63033),h=c(2433),i=c(35900),j=c(19121),k=c(64660),l=new WeakMap;async function m(){(0,k.warnOnce)("`unstable_rootParams()` is deprecated and will be removed in an upcoming major release. Import specific root params from `next/root-params` instead.");let a=f.workAsyncStorage.getStore();if(!a)throw Object.defineProperty(new d.InvariantError("Missing workStore in unstable_rootParams"),"__NEXT_ERROR_CODE",{value:"E615",enumerable:!1,configurable:!0});let b=g.workUnitAsyncStorage.getStore();if(!b)throw Object.defineProperty(Error(`Route ${a.route} used \`unstable_rootParams()\` in Pages Router. This API is only available within App Router.`),"__NEXT_ERROR_CODE",{value:"E641",enumerable:!1,configurable:!0});switch(b.type){case"cache":case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`unstable_rootParams()\` inside \`"use cache"\` or \`unstable_cache\`. Support for this API inside cache scopes is planned for a future version of Next.js.`),"__NEXT_ERROR_CODE",{value:"E642",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return function(a,b,c){switch(c.type){case"prerender-client":{let a="`unstable_rootParams`";throw Object.defineProperty(new d.InvariantError(`${a} must not be used within a client component. Next.js should be preventing ${a} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0})}case"prerender":{let d=c.fallbackRouteParams;if(d){for(let e in a)if(d.has(e)){let d=l.get(a);if(d)return d;let e=(0,h.makeHangingPromise)(c.renderSignal,b.route,"`unstable_rootParams`");return l.set(a,e),e}}break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d){for(let f in a)if(d.has(f))return function(a,b,c,d){let f=l.get(a);if(f)return f;let g={...a},h=Promise.resolve(g);return l.set(a,h),Object.keys(a).forEach(f=>{i.wellKnownProperties.has(f)||(b.has(f)?Object.defineProperty(g,f,{get(){let a=(0,i.describeStringPropertyAccess)("unstable_rootParams",f);"prerender-ppr"===d.type?(0,e.postponeWithTracking)(c.route,a,d.dynamicTracking):(0,e.throwToInterruptStaticGeneration)(a,c,d)},enumerable:!0}):h[f]=a[f])}),h}(a,d,b,c)}}}return Promise.resolve(a)}(b.rootParams,a,b);case"private-cache":case"prerender-runtime":case"request":return Promise.resolve(b.rootParams);default:return b}}function n(a){let b=`\`import('next/root-params').${a}()\``,c=f.workAsyncStorage.getStore();if(!c)throw Object.defineProperty(new d.InvariantError(`Missing workStore in ${b}`),"__NEXT_ERROR_CODE",{value:"E764",enumerable:!1,configurable:!0});let e=g.workUnitAsyncStorage.getStore();if(!e)throw Object.defineProperty(Error(`Route ${c.route} used ${b} outside of a Server Component. This is not allowed.`),"__NEXT_ERROR_CODE",{value:"E774",enumerable:!1,configurable:!0});let i=j.actionAsyncStorage.getStore();if(i){if(i.isAppRoute)throw Object.defineProperty(Error(`Route ${c.route} used ${b} inside a Route Handler. Support for this API in Route Handlers is planned for a future version of Next.js.`),"__NEXT_ERROR_CODE",{value:"E765",enumerable:!1,configurable:!0});if(i.isAction&&"action"===e.phase)throw Object.defineProperty(Error(`${b} was used inside a Server Action. This is not supported. Functions from 'next/root-params' can only be called in the context of a route.`),"__NEXT_ERROR_CODE",{value:"E766",enumerable:!1,configurable:!0})}switch(e.type){case"unstable-cache":case"cache":throw Object.defineProperty(Error(`Route ${c.route} used ${b} inside \`"use cache"\` or \`unstable_cache\`. Support for this API inside cache scopes is planned for a future version of Next.js.`),"__NEXT_ERROR_CODE",{value:"E760",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":var k=a,l=c,m=e,n=b;if("prerender-client"===m.type)throw Object.defineProperty(new d.InvariantError(`${n} must not be used within a client component. Next.js should be preventing ${n} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});let p=m.rootParams;switch(m.type){case"prerender":if(m.fallbackRouteParams&&m.fallbackRouteParams.has(k))return(0,h.makeHangingPromise)(m.renderSignal,l.route,n);break;case"prerender-ppr":if(m.fallbackRouteParams&&m.fallbackRouteParams.has(k))return o(k,l,m,n)}return Promise.resolve(p[k])}return Promise.resolve(e.rootParams[a])}async function o(a,b,c,d){let f=(0,i.describeStringPropertyAccess)(d,a);switch(c.type){case"prerender-ppr":return(0,e.postponeWithTracking)(b.route,f,c.dynamicTracking);case"prerender-legacy":return(0,e.throwToInterruptStaticGeneration)(f,b,c)}}},15590:(a,b,c)=>{var d;(()=>{var e={226:function(e,f){!function(g,h){"use strict";var i="function",j="undefined",k="object",l="string",m="major",n="model",o="name",p="type",q="vendor",r="version",s="architecture",t="console",u="mobile",v="tablet",w="smarttv",x="wearable",y="embedded",z="Amazon",A="Apple",B="ASUS",C="BlackBerry",D="Browser",E="Chrome",F="Firefox",G="Google",H="Huawei",I="Microsoft",J="Motorola",K="Opera",L="Samsung",M="Sharp",N="Sony",O="Xiaomi",P="Zebra",Q="Facebook",R="Chromium OS",S="Mac OS",T=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},U=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},V=function(a,b){return typeof a===l&&-1!==W(b).indexOf(W(a))},W=function(a){return a.toLowerCase()},X=function(a,b){if(typeof a===l)return a=a.replace(/^\s\s*/,""),typeof b===j?a:a.substring(0,350)},Y=function(a,b){for(var c,d,e,f,g,j,l=0;l<b.length&&!g;){var m=b[l],n=b[l+1];for(c=d=0;c<m.length&&!g&&m[c];)if(g=m[c++].exec(a))for(e=0;e<n.length;e++)j=g[++d],typeof(f=n[e])===k&&f.length>0?2===f.length?typeof f[1]==i?this[f[0]]=f[1].call(this,j):this[f[0]]=f[1]:3===f.length?typeof f[1]!==i||f[1].exec&&f[1].test?this[f[0]]=j?j.replace(f[1],f[2]):void 0:this[f[0]]=j?f[1].call(this,j,f[2]):void 0:4===f.length&&(this[f[0]]=j?f[3].call(this,j.replace(f[1],f[2])):h):this[f]=j||h;l+=2}},Z=function(a,b){for(var c in b)if(typeof b[c]===k&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(V(b[c][d],a))return"?"===c?h:c}else if(V(b[c],a))return"?"===c?h:c;return a},$={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},_={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[r,[o,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[r,[o,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[o,r],[/opios[\/ ]+([\w\.]+)/i],[r,[o,K+" Mini"]],[/\bopr\/([\w\.]+)/i],[r,[o,K]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[o,r],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[r,[o,"UC"+D]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[r,[o,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[r,[o,"WeChat"]],[/konqueror\/([\w\.]+)/i],[r,[o,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[r,[o,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[r,[o,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[o,/(.+)/,"$1 Secure "+D],r],[/\bfocus\/([\w\.]+)/i],[r,[o,F+" Focus"]],[/\bopt\/([\w\.]+)/i],[r,[o,K+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[r,[o,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[r,[o,"Dolphin"]],[/coast\/([\w\.]+)/i],[r,[o,K+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[r,[o,"MIUI "+D]],[/fxios\/([-\w\.]+)/i],[r,[o,F]],[/\bqihu|(qi?ho?o?|360)browser/i],[[o,"360 "+D]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[o,/(.+)/,"$1 "+D],r],[/(comodo_dragon)\/([\w\.]+)/i],[[o,/_/g," "],r],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[o,r],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[o],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[o,Q],r],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[o,r],[/\bgsa\/([\w\.]+) .*safari\//i],[r,[o,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[r,[o,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[r,[o,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[o,E+" WebView"],r],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[r,[o,"Android "+D]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[o,r],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[r,[o,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[r,o],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[o,[r,Z,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[o,r],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[o,"Netscape"],r],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[r,[o,F+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[o,r],[/(cobalt)\/([\w\.]+)/i],[o,[r,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[s,"amd64"]],[/(ia32(?=;))/i],[[s,W]],[/((?:i[346]|x)86)[;\)]/i],[[s,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[s,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[s,"armhf"]],[/windows (ce|mobile); ppc;/i],[[s,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[s,/ower/,"",W]],[/(sun4\w)[;\)]/i],[[s,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[s,W]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[n,[q,L],[p,v]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[n,[q,L],[p,u]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[n,[q,A],[p,u]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[n,[q,A],[p,v]],[/(macintosh);/i],[n,[q,A]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[n,[q,M],[p,u]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[n,[q,H],[p,v]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[n,[q,H],[p,u]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[n,/_/g," "],[q,O],[p,u]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[n,/_/g," "],[q,O],[p,v]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[n,[q,"OPPO"],[p,u]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[n,[q,"Vivo"],[p,u]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[n,[q,"Realme"],[p,u]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[n,[q,J],[p,u]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[n,[q,J],[p,v]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[n,[q,"LG"],[p,v]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[n,[q,"LG"],[p,u]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[n,[q,"Lenovo"],[p,v]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[n,/_/g," "],[q,"Nokia"],[p,u]],[/(pixel c)\b/i],[n,[q,G],[p,v]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[n,[q,G],[p,u]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[n,[q,N],[p,u]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[n,"Xperia Tablet"],[q,N],[p,v]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[n,[q,"OnePlus"],[p,u]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[n,[q,z],[p,v]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[n,/(.+)/g,"Fire Phone $1"],[q,z],[p,u]],[/(playbook);[-\w\),; ]+(rim)/i],[n,q,[p,v]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[n,[q,C],[p,u]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[n,[q,B],[p,v]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[n,[q,B],[p,u]],[/(nexus 9)/i],[n,[q,"HTC"],[p,v]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[q,[n,/_/g," "],[p,u]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[n,[q,"Acer"],[p,v]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[n,[q,"Meizu"],[p,u]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[q,n,[p,u]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[q,n,[p,v]],[/(surface duo)/i],[n,[q,I],[p,v]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[n,[q,"Fairphone"],[p,u]],[/(u304aa)/i],[n,[q,"AT&T"],[p,u]],[/\bsie-(\w*)/i],[n,[q,"Siemens"],[p,u]],[/\b(rct\w+) b/i],[n,[q,"RCA"],[p,v]],[/\b(venue[\d ]{2,7}) b/i],[n,[q,"Dell"],[p,v]],[/\b(q(?:mv|ta)\w+) b/i],[n,[q,"Verizon"],[p,v]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[n,[q,"Barnes & Noble"],[p,v]],[/\b(tm\d{3}\w+) b/i],[n,[q,"NuVision"],[p,v]],[/\b(k88) b/i],[n,[q,"ZTE"],[p,v]],[/\b(nx\d{3}j) b/i],[n,[q,"ZTE"],[p,u]],[/\b(gen\d{3}) b.+49h/i],[n,[q,"Swiss"],[p,u]],[/\b(zur\d{3}) b/i],[n,[q,"Swiss"],[p,v]],[/\b((zeki)?tb.*\b) b/i],[n,[q,"Zeki"],[p,v]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[q,"Dragon Touch"],n,[p,v]],[/\b(ns-?\w{0,9}) b/i],[n,[q,"Insignia"],[p,v]],[/\b((nxa|next)-?\w{0,9}) b/i],[n,[q,"NextBook"],[p,v]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[q,"Voice"],n,[p,u]],[/\b(lvtel\-)?(v1[12]) b/i],[[q,"LvTel"],n,[p,u]],[/\b(ph-1) /i],[n,[q,"Essential"],[p,u]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[n,[q,"Envizen"],[p,v]],[/\b(trio[-\w\. ]+) b/i],[n,[q,"MachSpeed"],[p,v]],[/\btu_(1491) b/i],[n,[q,"Rotor"],[p,v]],[/(shield[\w ]+) b/i],[n,[q,"Nvidia"],[p,v]],[/(sprint) (\w+)/i],[q,n,[p,u]],[/(kin\.[onetw]{3})/i],[[n,/\./g," "],[q,I],[p,u]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[n,[q,P],[p,v]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[n,[q,P],[p,u]],[/smart-tv.+(samsung)/i],[q,[p,w]],[/hbbtv.+maple;(\d+)/i],[[n,/^/,"SmartTV"],[q,L],[p,w]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[q,"LG"],[p,w]],[/(apple) ?tv/i],[q,[n,A+" TV"],[p,w]],[/crkey/i],[[n,E+"cast"],[q,G],[p,w]],[/droid.+aft(\w)( bui|\))/i],[n,[q,z],[p,w]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[n,[q,M],[p,w]],[/(bravia[\w ]+)( bui|\))/i],[n,[q,N],[p,w]],[/(mitv-\w{5}) bui/i],[n,[q,O],[p,w]],[/Hbbtv.*(technisat) (.*);/i],[q,n,[p,w]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[q,X],[n,X],[p,w]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,w]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[q,n,[p,t]],[/droid.+; (shield) bui/i],[n,[q,"Nvidia"],[p,t]],[/(playstation [345portablevi]+)/i],[n,[q,N],[p,t]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[n,[q,I],[p,t]],[/((pebble))app/i],[q,n,[p,x]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[n,[q,A],[p,x]],[/droid.+; (glass) \d/i],[n,[q,G],[p,x]],[/droid.+; (wt63?0{2,3})\)/i],[n,[q,P],[p,x]],[/(quest( 2| pro)?)/i],[n,[q,Q],[p,x]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[q,[p,y]],[/(aeobc)\b/i],[n,[q,z],[p,y]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[n,[p,u]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[n,[p,v]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,v]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,u]],[/(android[-\w\. ]{0,9});.+buil/i],[n,[q,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[r,[o,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[r,[o,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[o,r],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[r,o]],os:[[/microsoft (windows) (vista|xp)/i],[o,r],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[o,[r,Z,$]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[o,"Windows"],[r,Z,$]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[r,/_/g,"."],[o,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[o,S],[r,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[r,o],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[o,r],[/\(bb(10);/i],[r,[o,C]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[r,[o,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[r,[o,F+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[r,[o,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[r,[o,"watchOS"]],[/crkey\/([\d\.]+)/i],[r,[o,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[o,R],r],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[o,r],[/(sunos) ?([\w\.\d]*)/i],[[o,"Solaris"],r],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[o,r]]},aa=function(a,b){if(typeof a===k&&(b=a,a=h),!(this instanceof aa))return new aa(a,b).getResult();var c=typeof g!==j&&g.navigator?g.navigator:h,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:h,f=b?T(_,b):_,t=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[o]=h,b[r]=h,Y.call(b,d,f.browser),b[m]=typeof(a=b[r])===l?a.replace(/[^\d\.]/g,"").split(".")[0]:h,t&&c&&c.brave&&typeof c.brave.isBrave==i&&(b[o]="Brave"),b},this.getCPU=function(){var a={};return a[s]=h,Y.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[q]=h,a[n]=h,a[p]=h,Y.call(a,d,f.device),t&&!a[p]&&e&&e.mobile&&(a[p]=u),t&&"Macintosh"==a[n]&&c&&typeof c.standalone!==j&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[n]="iPad",a[p]=v),a},this.getEngine=function(){var a={};return a[o]=h,a[r]=h,Y.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[o]=h,a[r]=h,Y.call(a,d,f.os),t&&!a[o]&&e&&"Unknown"!=e.platform&&(a[o]=e.platform.replace(/chrome os/i,R).replace(/macos/i,S)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===l&&a.length>350?X(a,350):a,this},this.setUA(d),this};aa.VERSION="1.0.35",aa.BROWSER=U([o,r,m]),aa.CPU=U([s]),aa.DEVICE=U([n,q,p,t,u,w,v,x,y]),aa.ENGINE=aa.OS=U([o,r]),typeof f!==j?(e.exports&&(f=e.exports=aa),f.UAParser=aa):c.amdO?void 0===(d=(function(){return aa}).call(b,c,b,a))||(a.exports=d):typeof g!==j&&(g.UAParser=aa);var ab=typeof g!==j&&(g.jQuery||g.Zepto);if(ab&&!ab.ua){var ac=new aa;ab.ua=ac.getResult(),ab.ua.get=function(){return ac.getUA()},ab.ua.set=function(a){ac.setUA(a);var b=ac.getResult();for(var c in b)ab.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(226)})()},23514:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return e}});let d=c(29294);function e(a){let b=d.workAsyncStorage.getStore();if(!b)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:c}=b;return c.after(a)}},35900:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{describeHasCheckingStringProperty:function(){return e},describeStringPropertyAccess:function(){return d},wellKnownProperties:function(){return f}});let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?"`"+a+"."+b+"`":"`"+a+"["+JSON.stringify(b)+"]`"}function e(a,b){let c=JSON.stringify(b);return"`Reflect.has("+a+", "+c+")`, `"+c+" in "+a+"`, or similar"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},37678:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isRequestAPICallableInsideAfter:function(){return i},throwForSearchParamsAccessInUseCache:function(){return h},throwWithStaticGenerationBailoutError:function(){return f},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return g}});let d=c(65584),e=c(3295);function f(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E576",enumerable:!1,configurable:!0})}function g(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function h(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used "searchParams" inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await "searchParams" outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E779",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function i(){let a=e.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},45856:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="undefined"==typeof URLPattern?void 0:URLPattern},49547:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(31445),e=c(81019),f=c(63121),g=c(33038),h=c(31445),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);let c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},54824:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ImageResponse:function(){return d.ImageResponse},NextRequest:function(){return e.NextRequest},NextResponse:function(){return f.NextResponse},URLPattern:function(){return h.URLPattern},after:function(){return i.after},connection:function(){return j.connection},unstable_rootParams:function(){return k.unstable_rootParams},userAgent:function(){return g.userAgent},userAgentFromString:function(){return g.userAgentFromString}});let d=c(62087),e=c(39071),f=c(49547),g=c(82607),h=c(45856),i=c(83588),j=c(81567),k=c(8398)},58187:(a,b,c)=>{"use strict";var d=c(54824);c.o(d,"NextResponse")&&c.d(b,{NextResponse:function(){return d.NextResponse}})},62087:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},81567:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return j}});let d=c(29294),e=c(63033),f=c(26636),g=c(65584),h=c(2433),i=c(37678);function j(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&"after"===b.phase&&!(0,i.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${a.route} used "connection" inside "after(...)". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but "after(...)" executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E186",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E562",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used "connection" inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E752",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,j),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used "connection" inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E753",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,j),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used "connection" inside a function cached with "unstable_cache(...)". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E1",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(b.renderSignal,a.route,"`connection()`");case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":return(0,f.trackDynamicDataInDynamicRender)(b),Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},82607:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isBot:function(){return e},userAgent:function(){return g},userAgentFromString:function(){return f}});let d=function(a){return a&&a.__esModule?a:{default:a}}(c(15590));function e(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(a)}function f(a){return{...(0,d.default)(a),isBot:void 0!==a&&e(a)}}function g({headers:a}){return f(a.get("user-agent")||void 0)}},83588:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(23514),b)},90827:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(63667),e=c(27266),f=c(63121);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},97354:(a,b,c)=>{"use strict";a.exports=c(44870)}};
@@ -0,0 +1,3 @@
1
+ exports.id=2347,exports.ids=[2347],exports.modules={2191:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f}),c(81249),c(13081);var d=c(6181);let e={size:{width:32,height:32},contentType:"image/png"};async function f(a){let{__metadata_id__:b,...c}=await a.params,f=(0,d.fillMetadataSegment)(".",c,"icon"),{generateImageMetadata:g}=e;function h(a,b){let c={alt:a.alt,type:a.contentType||"image/png",url:f+(b?"/"+b:"")+"?fde4afff4688df3a"},{size:d}=a;return d&&(c.sizes=d.width+"x"+d.height),c}return g?(await g({params:c})).map((a,b)=>{let c=(a.id||b)+"";return h(a,c)}):[h(e,"")]}},2263:(a,b,c)=>{Promise.resolve().then(c.bind(c,88496)),Promise.resolve().then(c.bind(c,49905))},8556:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(68844);function e(){return(0,d.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-[var(--color-bg-base)]",children:(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)("svg",{className:"h-5 w-5 animate-spin text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9"})}),(0,d.jsx)("p",{className:"text-[13px] text-[var(--color-text-tertiary)]",children:"Loading…"})]})})}},9724:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,57035,23)),Promise.resolve().then(c.t.bind(c,57543,23)),Promise.resolve().then(c.t.bind(c,970,23)),Promise.resolve().then(c.t.bind(c,84702,23)),Promise.resolve().then(c.t.bind(c,18706,23)),Promise.resolve().then(c.t.bind(c,11194,23)),Promise.resolve().then(c.t.bind(c,33151,23)),Promise.resolve().then(c.t.bind(c,75210,23))},13081:(a,b,c)=>{"use strict";c.d(b,{Kk:()=>f,uy:()=>e});var d=c(68844);function e(a){return a.replace(/[^\w\s-]/g,"").slice(0,50)||"AO"}function f(a,b){let c=(b.charAt(0)||"A").toUpperCase(),e=function(a){let b=0;for(let c=0;c<a.length;c++)b=a.charCodeAt(c)+((b<<5)-b);return(b%360+360)%360}(b),f=Math.round(.19*a),g=Math.round(.625*a);return(0,d.jsx)("div",{style:{width:`${a}px`,height:`${a}px`,borderRadius:`${f}px`,background:`hsl(${e}, 60%, 45%)`,display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:`${g}px`,fontWeight:700,fontFamily:"sans-serif"},children:c})}},16819:(a,b,c)=>{"use strict";c.d(b,{ErrorDisplay:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call ErrorDisplay() from the server but ErrorDisplay is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/components/ErrorDisplay.tsx","ErrorDisplay")},23041:(a,b,c)=>{"use strict";c.d(b,{ErrorDisplay:()=>j});var d=c(33666),e=c(47489),f=c.n(e);let g={error:{accent:"var(--color-status-error)",bg:"var(--color-tint-red)",border:"color-mix(in srgb, var(--color-status-error) 24%, transparent)",label:"error"},warning:{accent:"var(--color-status-attention)",bg:"var(--color-tint-yellow)",border:"color-mix(in srgb, var(--color-status-attention) 24%, transparent)",label:"warning"},"not-found":{accent:"var(--color-accent)",bg:"var(--color-tint-blue)",border:"color-mix(in srgb, var(--color-accent) 24%, transparent)",label:"missing"}};function h({accent:a}){return(0,d.jsx)("div",{className:"flex h-14 w-14 items-center justify-center rounded-2xl border",style:{background:`linear-gradient(180deg, color-mix(in srgb, ${a} 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%)`,borderColor:`color-mix(in srgb, ${a} 18%, var(--color-border-default))`,boxShadow:"var(--detail-card-shadow)"},children:(0,d.jsxs)("svg",{className:"h-7 w-7",fill:"none",stroke:"currentColor",strokeWidth:"1.6",style:{color:a},viewBox:"0 0 24 24",children:[(0,d.jsx)("rect",{x:"2.5",y:"4.5",width:"19",height:"15",rx:"3"}),(0,d.jsx)("path",{d:"M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"})]})})}function i({action:a,primary:b=!1}){let c=b?"inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-semibold transition-colors hover:no-underline":"inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-medium transition-colors hover:no-underline",e=b?{background:"var(--color-accent)",color:"var(--color-text-inverse)",borderColor:"color-mix(in srgb, var(--color-accent) 72%, transparent)"}:{background:"var(--color-bg-surface)",color:"var(--color-text-secondary)",borderColor:"var(--color-border-default)"};return a.href?(0,d.jsx)(f(),{href:a.href,className:c,style:e,children:a.label}):(0,d.jsx)("button",{type:"button",onClick:a.onClick,className:c,style:e,children:a.label})}function j({title:a,message:b,tone:c="error",detailsTitle:e="Technical details",error:f,primaryAction:j,secondaryAction:k,compact:l=!1,chrome:m="page",children:n}){let o=g[c],p=!!(f?.digest||f?.message||f?.stack);return(0,d.jsx)("div",{className:`flex w-full items-center justify-center px-6 py-10 ${l?"min-h-[calc(100vh-4rem)]":"min-h-screen"}`,style:{background:"page"===m?"radial-gradient(circle at top, var(--color-body-gradient-blue), transparent 35%), var(--color-bg-base)":"transparent"},children:(0,d.jsx)("div",{className:"w-full max-w-[36rem] rounded-[28px] border p-6 sm:p-8",style:{background:"linear-gradient(180deg, color-mix(in srgb, var(--color-bg-elevated) 88%, transparent) 0%, var(--color-bg-surface) 100%)",borderColor:"var(--color-border-default)",boxShadow:"var(--detail-card-shadow)"},children:(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start",children:[(0,d.jsx)(h,{accent:o.accent}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"mb-3 inline-flex items-center rounded-full border px-2.5 py-1 font-[var(--font-mono)] text-[10px] font-medium uppercase tracking-[0.22em]",style:{color:o.accent,background:o.bg,borderColor:o.border},children:o.label}),(0,d.jsx)("h1",{className:"text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]",children:a}),(0,d.jsx)("p",{className:"mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]",children:b})]})]}),(j||k)&&(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[j?(0,d.jsx)(i,{action:j,primary:!0}):null,k?(0,d.jsx)(i,{action:k}):null]}),n,p?(0,d.jsxs)("details",{className:"rounded-2xl border",style:{background:"color-mix(in srgb, var(--color-bg-elevated) 84%, transparent)",borderColor:"var(--color-border-subtle)"},children:[(0,d.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--color-text-secondary)]",children:e}),(0,d.jsxs)("div",{className:"border-t px-4 py-4",style:{borderColor:"var(--color-border-subtle)"},children:[f?.digest?(0,d.jsxs)("p",{className:"mb-3 font-[var(--font-mono)] text-[11px] text-[var(--color-text-tertiary)]",children:["digest: ",f.digest]}):null,f?.message?(0,d.jsx)("p",{className:"mb-3 text-[12px] leading-5 text-[var(--color-text-secondary)]",children:f.message}):null,f?.stack?(0,d.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap font-[var(--font-mono)] text-[11px] leading-5 text-[var(--color-text-tertiary)]",children:f.stack}):null]})]}):null]})})})}},24553:()=>{},25248:(a,b,c)=>{Promise.resolve().then(c.bind(c,27926))},26400:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(33666);c(81115);var e=c(23041);function f({error:a,reset:b}){return(0,d.jsx)("html",{lang:"en",className:"dark",children:(0,d.jsx)("body",{className:"bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased",children:(0,d.jsx)(e.ErrorDisplay,{title:"Something broke at the app shell",message:"The dashboard could not recover from this error at the layout level. Try again first, then reload the page if it still fails.",tone:"error",primaryAction:{label:"Try again",onClick:b},secondaryAction:{label:"Reload page",onClick:()=>window.location.reload()},error:a})})})}},27926:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/slievr/proj/Athene/packages/web/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/app/global-error.tsx","default")},36694:(a,b,c)=>{Promise.resolve().then(c.bind(c,89252))},37728:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f}),c(81249),c(13081);var d=c(6181);let e={size:{width:180,height:180},contentType:"image/png"};async function f(a){let{__metadata_id__:b,...c}=await a.params,f=(0,d.fillMetadataSegment)(".",c,"apple-icon"),{generateImageMetadata:g}=e;function h(a,b){let c={alt:a.alt,type:a.contentType||"image/png",url:f+(b?"/"+b:"")+"?95aeb60ec7acf330"},{size:d}=a;return d&&(c.sizes=d.width+"x"+d.height),c}return g?(await g({params:c})).map((a,b)=>{let c=(a.id||b)+"";return h(a,c)}):[h(e,"")]}},44182:()=>{},49905:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{ServiceWorkerRegistrar:()=>d}),c(81115)},52529:(a,b,c)=>{Promise.resolve().then(c.bind(c,23041))},53201:(a,b,c)=>{Promise.resolve().then(c.bind(c,16819))},54624:(a,b,c)=>{Promise.resolve().then(c.bind(c,26400))},58976:(a,b,c)=>{"use strict";c.d(b,{eT:()=>i,i2:()=>k});var d=c(33666),e=c(81115),f=c.n(e);let g=f().createContext(void 0);function h(a){return`${a.id}:${a.receivedAt}`}function i(){return f().useContext(g)}function j(a,b){return b?`${b}:${a}`:a}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useRef)(new Map),f=(0,e.useRef)(new Map),[i,k]=(0,e.useState)("connecting"),[l,m]=(0,e.useState)([]),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(50),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)(0),w=(0,e.useRef)(null),x=(0,e.useRef)({}),y=(0,e.useRef)(!1),z=(0,e.useCallback)(()=>{if(!b.current){k("connecting");try{let a=function(a){let b=window.location,c="https:"===b.protocol?"wss:":"ws:",d=a.proxyWsPath??process.env.NEXT_PUBLIC_TERMINAL_WS_PATH;if(d){let a=d.replace(/\/ws\/?$/,"");return`${c}//${b.host}${a}/mux`}if(""===b.port||"443"===b.port||"80"===b.port)return`${c}//${b.hostname}/ao-terminal-mux`;let e=a.directTerminalPort??process.env.NEXT_PUBLIC_DIRECT_TERMINAL_PORT??"14801";return`${c}//${b.hostname}:${e}/mux`}(x.current);console.log("[MuxProvider] Connecting to",a);let d=new WebSocket(a);b.current=d,d.addEventListener("open",()=>{if(y.current)return void d.close();for(let a of(console.log("[MuxProvider] Connected"),k("connected"),v.current=0,f.current.values())){let b={ch:"terminal",id:a.id,type:"open",...a.projectId&&{projectId:a.projectId},...a.tmuxName&&{tmuxName:a.tmuxName}};d.send(JSON.stringify(b))}d.send(JSON.stringify({ch:"subscribe",topics:["sessions","notifications"]}))}),d.addEventListener("message",a=>{try{let b=JSON.parse(a.data);if("terminal"===b.ch){let a=j(b.id,"projectId"in b?b.projectId:void 0);if("data"===b.type){let d=c.current.get(a);if(d)for(let a of d)a(b.data)}else if("opened"===b.type)f.current.has(a)||f.current.set(a,{id:b.id,..."projectId"in b&&b.projectId?{projectId:b.projectId}:{}});else if("exited"===b.type){f.current.delete(a);let d=c.current.get(a);if(d){let a=`\r
2
+ \x1b[31m[Terminal exited with code ${b.code}]\x1b[0m\r
3
+ `;for(let b of d)b(a)}}else"error"===b.type&&console.error(`[MuxProvider] Terminal error for ${b.id}:`,b.message)}else"sessions"===b.ch?"snapshot"===b.type?(m(b.sessions),s(null)):"error"===b.type&&s(b.error):"notifications"===b.ch&&("snapshot"===b.type?(q(b.limit),o(b.notifications.slice(-b.limit)),u(null)):"append"===b.type?(q(b.limit),o(a=>(function(a,b,c){let d=new Map;for(let b of a)d.set(h(b),b);for(let a of b)d.set(h(a),a);return[...d.values()].slice(-c)})(a,b.notifications,b.limit)),u(null)):"error"===b.type&&u(b.error))}catch(a){console.error("[MuxProvider] Error processing message:",a)}}),d.addEventListener("error",a=>{console.error("[MuxProvider] WebSocket error:",a)}),d.addEventListener("close",()=>{if(console.log("[MuxProvider] Disconnected"),b.current===d&&(b.current=null),y.current)return;let a=Math.min(1e3*Math.pow(2,v.current),3e4);v.current+=1,k("reconnecting"),w.current=setTimeout(()=>{console.log(`[MuxProvider] Reconnecting (attempt ${v.current})...`),z()},a)})}catch(a){console.error("[MuxProvider] Failed to create WebSocket:",a),k("disconnected")}}},[]),A=(0,e.useCallback)((a,d,e)=>{let g=j(a,e),h=c.current.get(g);if(h||(h=new Set,c.current.set(g,h)),h.add(d),!f.current.has(g)&&b.current?.readyState===WebSocket.OPEN){let c={ch:"terminal",id:a,type:"open",...e&&{projectId:e}};b.current.send(JSON.stringify(c))}return()=>{let a=c.current.get(g);a&&(a.delete(d),0===a.size&&c.current.delete(g))}},[]),B=(0,e.useCallback)((a,c,d)=>{if(b.current?.readyState===WebSocket.OPEN){let e={ch:"terminal",id:a,type:"data",data:c,...d&&{projectId:d}};b.current.send(JSON.stringify(e))}},[]),C=(0,e.useCallback)((a,c,d)=>{if(f.current.set(j(a,c),{id:a,projectId:c,tmuxName:d}),b.current?.readyState===WebSocket.OPEN){let e={ch:"terminal",id:a,type:"open",...c&&{projectId:c},...d&&{tmuxName:d}};b.current.send(JSON.stringify(e))}},[]),D=(0,e.useCallback)((a,c)=>{if(f.current.delete(j(a,c)),b.current?.readyState===WebSocket.OPEN){let d={ch:"terminal",id:a,type:"close",...c&&{projectId:c}};b.current.send(JSON.stringify(d))}},[]),E=(0,e.useCallback)((a,c,d,e)=>{if(b.current?.readyState===WebSocket.OPEN){let f={ch:"terminal",id:a,type:"resize",cols:c,rows:d,...e&&{projectId:e}};b.current.send(JSON.stringify(f))}},[]),F=(0,e.useMemo)(()=>({subscribeTerminal:A,writeTerminal:B,openTerminal:C,closeTerminal:D,resizeTerminal:E,status:i,sessions:l,notifications:n,notificationLimit:p,lastError:r,notificationError:t}),[A,B,C,D,E,i,l,n,p,r,t]);return(0,d.jsx)(g.Provider,{value:F,children:a})}},63028:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(68844),e=c(16819);function f(){return(0,d.jsx)(e.ErrorDisplay,{title:"Page not found",message:"This route does not exist in the dashboard. Return to the main view to pick an active project or session.",tone:"not-found",primaryAction:{label:"Back to dashboard",href:"/"}})}},65311:(a,b,c)=>{Promise.resolve().then(c.bind(c,94666)),Promise.resolve().then(c.bind(c,81871))},67868:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,8125,23)),Promise.resolve().then(c.t.bind(c,6125,23)),Promise.resolve().then(c.t.bind(c,74148,23)),Promise.resolve().then(c.t.bind(c,10236,23)),Promise.resolve().then(c.t.bind(c,97760,23)),Promise.resolve().then(c.t.bind(c,9528,23)),Promise.resolve().then(c.t.bind(c,20225,23)),Promise.resolve().then(c.bind(c,23240))},69648:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>n,generateMetadata:()=>m,viewport:()=>l});var d=c(68844),e=c(81249),f=c(81871),g=c(94666),h=c(39936),i=c.n(h),j=c(68333),k=c.n(j);c(24553),c(44182),c(84322),c(87590);let l={width:"device-width",initialScale:1,viewportFit:"cover",themeColor:[{media:"(prefers-color-scheme: light)",color:"#f5f3f0"},{media:"(prefers-color-scheme: dark)",color:"#0a0b0d"}]};async function m(){let a=(0,e.P_)();return{title:{template:`%s | ${a}`,default:`ao | ${a}`},description:"Dashboard for managing parallel AI coding agents",appleWebApp:{capable:!0,statusBarStyle:"black-translucent",title:`ao | ${a}`}}}function n({children:a}){return(0,d.jsx)("html",{lang:"en",className:`dark ${i().variable} ${k().variable}`,suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{className:"h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased",children:[(0,d.jsx)(g.Providers,{children:a}),(0,d.jsx)(f.ServiceWorkerRegistrar,{})]})})}},81249:(a,b,c)=>{"use strict";c.d(b,{Bq:()=>m,P_:()=>l,cf:()=>n});var d=c(29685),e=c(73024),f=c(76760),g=c(43780);function h(){let a=(0,g.NoB)();try{return(0,g.Z9L)(a)}catch(a){if(a instanceof g.kw3||a instanceof Error&&"code"in a&&"ENOENT"===a.code)return(0,g.Z9L)();throw a}}function i(a){try{return(0,e.realpathSync)(a)}catch{return(0,f.resolve)(a)}}function j(a,b){let c=i(a);for(let[a,d]of Object.entries(b.projects))if("string"==typeof d.path&&i(d.path)===c)return a}function k(a=h()){try{let b=function(a){try{let b=function(a){let b=(0,f.resolve)(a);for(;;){for(let a of["agent-orchestrator.yaml","agent-orchestrator.yml"]){let c=(0,f.resolve)(b,a);if((0,e.existsSync)(c))return c}let a=(0,f.dirname)(b);if(a===b)return;b=a}}(process.cwd());if(!b)return;let c=(0,g.Z9L)(b),d=i((0,g.NoB)());if(i(c.configPath)!==d){for(let b of Object.values(c.projects)){if("string"!=typeof b.path)continue;let c=j(b.path,a);if(c)return c}return j((0,f.dirname)(c.configPath),a)}}catch{}}(a);if(b)return b;let c=i(process.cwd());return j(c,a)}catch{return}}let l=(0,d.cache)(()=>{try{let a=h(),b=k(a);if(b){let c=a.projects[b];return c?.name??b}let c=Object.keys(a.projects)[0];if(c)return(a.projects[c].name??c)||c||"ao"}catch{}return"ao"}),m=(0,d.cache)(()=>{try{let a=h(),b=k(a);if(b)return b;let c=Object.keys(a.projects)[0];if(c)return c}catch{}return"ao"}),n=(0,d.cache)(()=>{try{let a=h();return[...Object.entries(a.projects).map(([a,b])=>({id:a,name:b.name??a,sessionPrefix:b.sessionPrefix??a})),...Object.entries(a.degradedProjects).map(([a,b])=>({id:a,name:a,sessionPrefix:a,resolveError:b.resolveError}))]}catch{return[]}})},81871:(a,b,c)=>{"use strict";c.d(b,{ServiceWorkerRegistrar:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call ServiceWorkerRegistrar() from the server but ServiceWorkerRegistrar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/components/ServiceWorkerRegistrar.tsx","ServiceWorkerRegistrar")},82834:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/slievr/proj/Athene/packages/web/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/app/error.tsx","default")},84322:()=>{},87590:()=>{},88496:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>g});var d=c(33666),e=c(93463),f=c(58976);function g({children:a}){return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"dark",enableSystem:!1,children:(0,d.jsx)(f.i2,{children:a})})}},89252:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(33666),e=c(50436);c(81115);var f=c(23041);function g({error:a,reset:b}){let c=(0,e.useRouter)();return(0,d.jsx)(f.ErrorDisplay,{title:"Something went wrong",message:"The dashboard hit an unexpected error. Try reloading the route data or head back to the main dashboard.",tone:"warning",primaryAction:{label:"Try again",onClick:()=>{b(),c.refresh()}},secondaryAction:{label:"Back to dashboard",href:"/"},error:a,compact:!0,chrome:"card"})}},94666:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(10864).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/slievr/proj/Athene/packages/web/src/app/providers.tsx","Providers")},96942:(a,b,c)=>{Promise.resolve().then(c.bind(c,82834))}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2899,exports.ids=[2899],exports.modules={20057:(a,b,c)=>{c.d(b,{D:()=>k});var d=c(81115),e=c(37155),f=c(20902);let g=new Set(["merge","action","respond","review","pending","working","done"]),h=new Set(["active","ready","idle","waiting_input","blocked","exited"]),i=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 j(a,b){switch(b.type){case"setLoadError":return a.loadError===b.error?a:{...a,loadError:b.error};case"reset":return{...a,sessions:b.sessions,...b.liveResolved?{liveSessionsResolved:!0,loadError:null}:{},...void 0!==b.attentionLevels?{attentionLevels:b.attentionLevels}:{}};case"snapshot":{let c=new Map(b.patches.map(a=>[a.id,a])),d=!1,e=a.sessions.map(a=>{let b=c.get(a.id);return b&&(a.status!==b.status||a.activity!==b.activity||a.lastActivityAt!==b.lastActivityAt)?(d=!0,{...a,status:i.has(b.status)?b.status:a.status,activity:null!==b.activity&&h.has(b.activity)?b.activity:null,lastActivityAt:b.lastActivityAt}):a}),f={};for(let a of b.patches){if(!g.has(a.attentionLevel)){console.warn("[useSessionEvents] Unknown attentionLevel from server:",a.attentionLevel);continue}f[a.id]=a.attentionLevel}let j=d,k=Object.keys(f).length!==Object.keys(a.attentionLevels).length||b.patches.some(b=>a.attentionLevels[b.id]!==b.attentionLevel);if(!j&&!k){if(a.liveSessionsResolved)return a;return{...a,liveSessionsResolved:!0}}return{...a,sessions:j?e:a.sessions,attentionLevels:k?f:a.attentionLevels,liveSessionsResolved:!0}}}}function k(a){let{initialSessions:b,project:c,muxSessions:g,initialAttentionLevels:h,muxLastError:i,disabled:k=!1,attentionZones:l}=a,[m,n]=(0,d.useReducer)(j,{sessions:b,attentionLevels:h??{},liveSessionsResolved:!1,loadError:null});(0,d.useRef)(m.sessions),(0,d.useRef)(h).current=h;let o=(0,d.useRef)(null),p=(0,d.useRef)(null),q=(0,d.useRef)(0),r=(0,d.useRef)(0),s=(0,d.useRef)(null),t=(0,d.useRef)(!1),u=(0,d.useCallback)(()=>{o.current||Date.now()-r.current<500||null===s.current&&(o.current=setTimeout(()=>{if(o.current=null,null!==s.current)return;let a=p.current,b=new AbortController;s.current=b,r.current=Date.now();let d=c?`/api/sessions?project=${encodeURIComponent(c)}`:"/api/sessions";(0,f.uE)(d,{signal:b.signal,cache:"no-store",timeoutMs:6e3,timeoutMessage:"Dashboard refresh timed out after 6000ms"}).then(a=>{if(b.signal.aborted||!a?.sessions){b.signal.aborted||(q.current=Date.now());return}q.current=Date.now();let c=Object.fromEntries(a.sessions.map(a=>[a.id,(0,e.ng)(a,l)]));n({type:"reset",sessions:a.sessions,attentionLevels:c,liveResolved:!0})}).catch(a=>{t.current||b.signal.aborted||function(a){if(a instanceof DOMException)return"AbortError"===a.name;if(a instanceof Error){let b=a.message.toLowerCase();return b.includes("aborted")||b.includes("aborterror")}return!1}(a)||(console.warn("[useSessionEvents] refresh failed:",a),q.current=Date.now())}).finally(()=>{if(s.current===b&&(s.current=null),b.signal.aborted){null!==p.current&&u();return}if(null!==p.current&&p.current!==a)return void u();p.current=null})},120))},[c,l]);return m}},20902:(a,b,c)=>{c.d(b,{uE:()=>j});let d=new Map;function e(){return new DOMException("The operation was aborted.","AbortError")}function f(a){if(a?.aborted)throw e()}async function g(a,b){if(f(b),!a.body)return"function"==typeof a.text?await a.text():"";let c=a.body.getReader(),d=new TextDecoder,g=[];try{for(;;){f(b);let a=()=>{},h=void 0===b?null:new Promise((d,f)=>{let g=()=>{c.cancel().catch(()=>{}),f(e())};if(b.aborted)return void g();b.addEventListener("abort",g,{once:!0}),a=()=>b.removeEventListener("abort",g)});try{let a=await Promise.race([c.read(),...h?[h]:[]]);if(a.done)break;g.push(d.decode(a.value,{stream:!0}))}finally{a()}}}finally{c.releaseLock()}return g.push(d.decode()),g.join("")}async function h(a,b){return(f(b),a.body||"function"!=typeof a.json)?JSON.parse(await g(a,b)):await a.json()}async function i(a,b){try{let c=await h(a,b),d=c?.error??c?.message;if("string"==typeof d&&d.trim().length>0)return d.trim()}catch(a){if(b?.aborted||a instanceof DOMException&&"AbortError"===a.name)throw a}let c="string"==typeof a.statusText?a.statusText.trim():"";return c.length>0?`${a.status} ${c}`:`HTTP ${a.status}`}async function j(a,b={}){let{timeoutMs:c=8e3,timeoutMessage:f,signal:g,...k}=b,l=new AbortController,m=null,n=()=>{},o=!1;try{let b=function(a){let b=a.filter(a=>!!a);if(0===b.length)return;if(1===b.length)return b[0];let c=new AbortController,d=()=>c.abort();for(let a of b){if(a.aborted){c.abort();break}a.addEventListener("abort",d,{once:!0})}return c.signal}([g,l.signal]),j={...k};b&&(j.signal=b);let p=new Promise((a,b)=>{m=setTimeout(()=>{o=!0,l.abort(),b(Error(f??`Request timed out after ${c}ms`))},c)});p.catch(()=>{});let q=void 0===b?null:new Promise((a,c)=>{let d=()=>{o||c(e())};if(b.aborted)return void d();b.addEventListener("abort",d,{once:!0}),n=()=>b.removeEventListener("abort",d)});q?.catch(()=>{});let r=await Promise.race([(function(a,b){var c;let f=`${"string"==typeof a?a:a instanceof URL?a.toString():a.url}|${(b?.method??(a instanceof Request?a.method:"GET")).toUpperCase()}|${function(a,b){let c=new Headers(a instanceof Request?a.headers:void 0);return b?.headers&&new Headers(b.headers).forEach((a,b)=>{c.set(b,a)}),[...c.entries()].map(([a,b])=>`${a.toLowerCase()}:${b}`).sort().join("\n")}(a,b)}|${null==(c=b?.body)?"":"string"==typeof c?c:c instanceof URLSearchParams?c.toString():c instanceof Blob?`blob:${c.type}:${c.size}`:c instanceof ArrayBuffer?`array-buffer:${c.byteLength}`:ArrayBuffer.isView(c)?`${c.constructor.name}:${c.byteOffset}:${c.byteLength}`:c instanceof FormData?[...c.entries()].map(([a,b])=>"undefined"!=typeof File&&b instanceof File?`${a}=file:${b.name}:${b.type}:${b.size}`:`${a}=${b}`).join("&"):c.constructor.name}`,g=d.get(f);if(!g){let c=new AbortController,{signal:e,...h}=b??{},i=fetch(a,{...h,signal:c.signal}),j={controller:c,consumers:0,maxConsumers:0,promise:i,settled:!1};i.finally(()=>{j.settled=!0,d.delete(f)}).catch(()=>{}),g=j,d.set(f,g)}g.consumers+=1,g.maxConsumers=Math.max(g.maxConsumers,g.consumers);let h=b?.signal??void 0,i=()=>{},j=!1,k=()=>{!j&&(j=!0,i(),g.consumers-=1,0!==g.consumers||g.settled||g.controller.abort())},l=g.promise.then(a=>g.maxConsumers>1?function(a){if("function"!=typeof a.clone)throw TypeError("Cannot clone deduplicated fetch response");return a.clone()}(a):a),m=void 0===h?null:new Promise((a,b)=>{let c=()=>{k(),b(e())};if(h.aborted)return void c();h.addEventListener("abort",c,{once:!0}),i=()=>h.removeEventListener("abort",c)});return Promise.race([l,...m?[m]:[]]).finally(k)})(a,j).catch(a=>{if(o)throw Error(f??`Request timed out after ${c}ms`,{cause:a});throw a}),p,...q?[q]:[]]),s=a=>Promise.race([a.catch(a=>{if(o)throw Error(f??`Request timed out after ${c}ms`,{cause:a});throw a}),p,...q?[q]:[]]);if(!r.ok)throw Error(await s(i(r,b)));return await s(h(r,b))}finally{m&&clearTimeout(m),n()}}},52557:(a,b,c)=>{c.d(b,{KG:()=>g,PB:()=>f});var d=c(15407),e=c(68544);function f(a,b,c){return b&&"all"!==b?a.filter(a=>(function(a,b,c){if(a.projectId===b)return!0;let d=c[b];return!!(d?.sessionPrefix&&(0,e.G)(a.id,d.sessionPrefix))||c[a.projectId]?.sessionPrefix===b})(a,b,c)):a}function g(a,b,c){let e=Object.entries(c).map(([a,b])=>b.sessionPrefix??a);return f(a.filter(a=>!(0,d.tT)(a,c[a.projectId]?.sessionPrefix??a.projectId,e)),b,c)}},64283:(a,b,c)=>{c.d(b,{Kc:()=>m,Kl:()=>n,xI:()=>l});var d=c(29685),e=c(49472),f=c(21271),g=c(81249),h=c(52557),i=c(90456);function j(a){let b=a instanceof Error?a.message:"string"==typeof a?a:"";if(b.trim()){let a=b.split(/\r?\n/).map(a=>a.trim()).find(a=>a.length>0);if(a)return a}return"The orchestrator could not load dashboard data. Check your configuration file."}let k="simple",l=(0,d.cache)(function(a){if("all"===a)return"All Projects";let b=(0,g.cf)();if(a){let c=b.find(b=>b.id===a);if(c)return c.name}return(0,g.P_)()});function m(a){if("all"===a)return"all";let b=(0,g.cf)();return a&&b.some(b=>b.id===a)?a:(0,g.Bq)()}let n=(0,d.cache)(async function(a){let b,c,d,n=m(a),o={sessions:[],orchestrators:[],projectName:l(n),projects:(0,g.cf)(),selectedProjectId:"all"===n?void 0:n,attentionZones:k};try{let a=await (0,e.Z1)();b=a.config,c=a.registry,o.attentionZones=b.dashboard?.attentionZones??k;try{d=await a.sessionManager.listCached()}catch(a){return o.dashboardLoadError=j(a),o}}catch(a){return o.dashboardLoadError=j(a),o}let p=(0,h.PB)(d,n,b.projects);o.orchestrators=(0,f.WQ)(p,b.projects);let q=(0,h.KG)(d,n,b.projects);o.sessions=q.map(f.cg);try{await (0,i.o)((0,f.oc)(q,o.sessions,b,c),3e3)}catch(a){console.warn("[dashboard-page-data] metadata fast enrichment failed:",a)}for(let a=0;a<q.length;a++)q[a].pr&&(0,f.Ik)(o.sessions[a]);return o})},90456:(a,b,c)=>{c.d(b,{o:()=>d});async function d(a,b){let c=null,d=new Promise(a=>{c=setTimeout(()=>a(!1),b)});try{return await Promise.race([a.then(()=>!0).catch(()=>!0),d])}finally{c&&clearTimeout(c)}}}};