@a5c-ai/babysitter-observer-dashboard 5.0.1-staging.7a8768ec

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 (513) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +16 -0
  3. package/.next/build-manifest.json +23 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/fallback-build-manifest.json +13 -0
  6. package/.next/images-manifest.json +68 -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 +114 -0
  11. package/.next/required-server-files.json +334 -0
  12. package/.next/routes-manifest.json +139 -0
  13. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  14. package/.next/server/app/_global-error/page/build-manifest.json +19 -0
  15. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  16. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  17. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  18. package/.next/server/app/_global-error/page.js +9 -0
  19. package/.next/server/app/_global-error/page.js.map +5 -0
  20. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  21. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  22. package/.next/server/app/_global-error.html +1 -0
  23. package/.next/server/app/_global-error.meta +15 -0
  24. package/.next/server/app/_global-error.rsc +14 -0
  25. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  26. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  27. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  28. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  29. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  30. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  31. package/.next/server/app/_not-found/page/build-manifest.json +19 -0
  32. package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  33. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  34. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  35. package/.next/server/app/_not-found/page.js +13 -0
  36. package/.next/server/app/_not-found/page.js.map +5 -0
  37. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  38. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  39. package/.next/server/app/_not-found.html +1 -0
  40. package/.next/server/app/_not-found.meta +16 -0
  41. package/.next/server/app/_not-found.rsc +19 -0
  42. package/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
  43. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  44. package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
  45. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -0
  46. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  47. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  48. package/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
  49. package/.next/server/app/api/config/route/build-manifest.json +9 -0
  50. package/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
  51. package/.next/server/app/api/config/route.js +8 -0
  52. package/.next/server/app/api/config/route.js.map +5 -0
  53. package/.next/server/app/api/config/route.js.nft.json +1 -0
  54. package/.next/server/app/api/config/route_client-reference-manifest.js +3 -0
  55. package/.next/server/app/api/digest/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/digest/route/build-manifest.json +9 -0
  57. package/.next/server/app/api/digest/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/digest/route.js +9 -0
  59. package/.next/server/app/api/digest/route.js.map +5 -0
  60. package/.next/server/app/api/digest/route.js.nft.json +1 -0
  61. package/.next/server/app/api/digest/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/runs/[runId]/events/route/app-paths-manifest.json +3 -0
  63. package/.next/server/app/api/runs/[runId]/events/route/build-manifest.json +9 -0
  64. package/.next/server/app/api/runs/[runId]/events/route/server-reference-manifest.json +4 -0
  65. package/.next/server/app/api/runs/[runId]/events/route.js +8 -0
  66. package/.next/server/app/api/runs/[runId]/events/route.js.map +5 -0
  67. package/.next/server/app/api/runs/[runId]/events/route.js.nft.json +1 -0
  68. package/.next/server/app/api/runs/[runId]/events/route_client-reference-manifest.js +3 -0
  69. package/.next/server/app/api/runs/[runId]/route/app-paths-manifest.json +3 -0
  70. package/.next/server/app/api/runs/[runId]/route/build-manifest.json +9 -0
  71. package/.next/server/app/api/runs/[runId]/route/server-reference-manifest.json +4 -0
  72. package/.next/server/app/api/runs/[runId]/route.js +9 -0
  73. package/.next/server/app/api/runs/[runId]/route.js.map +5 -0
  74. package/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -0
  75. package/.next/server/app/api/runs/[runId]/route_client-reference-manifest.js +3 -0
  76. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/app-paths-manifest.json +3 -0
  77. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/build-manifest.json +9 -0
  78. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route/server-reference-manifest.json +4 -0
  79. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js +8 -0
  80. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.map +5 -0
  81. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route.js.nft.json +1 -0
  82. package/.next/server/app/api/runs/[runId]/tasks/[effectId]/route_client-reference-manifest.js +3 -0
  83. package/.next/server/app/api/runs/route/app-paths-manifest.json +3 -0
  84. package/.next/server/app/api/runs/route/build-manifest.json +9 -0
  85. package/.next/server/app/api/runs/route/server-reference-manifest.json +4 -0
  86. package/.next/server/app/api/runs/route.js +9 -0
  87. package/.next/server/app/api/runs/route.js.map +5 -0
  88. package/.next/server/app/api/runs/route.js.nft.json +1 -0
  89. package/.next/server/app/api/runs/route_client-reference-manifest.js +3 -0
  90. package/.next/server/app/api/stream/route/app-paths-manifest.json +3 -0
  91. package/.next/server/app/api/stream/route/build-manifest.json +9 -0
  92. package/.next/server/app/api/stream/route/server-reference-manifest.json +4 -0
  93. package/.next/server/app/api/stream/route.js +8 -0
  94. package/.next/server/app/api/stream/route.js.map +5 -0
  95. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  96. package/.next/server/app/api/stream/route_client-reference-manifest.js +3 -0
  97. package/.next/server/app/api/test/route/app-paths-manifest.json +3 -0
  98. package/.next/server/app/api/test/route/build-manifest.json +9 -0
  99. package/.next/server/app/api/test/route/server-reference-manifest.json +4 -0
  100. package/.next/server/app/api/test/route.js +6 -0
  101. package/.next/server/app/api/test/route.js.map +5 -0
  102. package/.next/server/app/api/test/route.js.nft.json +1 -0
  103. package/.next/server/app/api/test/route_client-reference-manifest.js +3 -0
  104. package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
  105. package/.next/server/app/api/version/route/build-manifest.json +9 -0
  106. package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
  107. package/.next/server/app/api/version/route.js +7 -0
  108. package/.next/server/app/api/version/route.js.map +5 -0
  109. package/.next/server/app/api/version/route.js.nft.json +1 -0
  110. package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
  111. package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  112. package/.next/server/app/icon.svg/route/build-manifest.json +9 -0
  113. package/.next/server/app/icon.svg/route.js +7 -0
  114. package/.next/server/app/icon.svg/route.js.map +5 -0
  115. package/.next/server/app/icon.svg/route.js.nft.json +1 -0
  116. package/.next/server/app/icon.svg.body +20 -0
  117. package/.next/server/app/icon.svg.meta +1 -0
  118. package/.next/server/app/index.html +1 -0
  119. package/.next/server/app/index.meta +14 -0
  120. package/.next/server/app/index.rsc +21 -0
  121. package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  122. package/.next/server/app/index.segments/_full.segment.rsc +21 -0
  123. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  124. package/.next/server/app/index.segments/_index.segment.rsc +8 -0
  125. package/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  126. package/.next/server/app/page/app-paths-manifest.json +3 -0
  127. package/.next/server/app/page/build-manifest.json +19 -0
  128. package/.next/server/app/page/next-font-manifest.json +6 -0
  129. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  130. package/.next/server/app/page/server-reference-manifest.json +17 -0
  131. package/.next/server/app/page.js +15 -0
  132. package/.next/server/app/page.js.map +5 -0
  133. package/.next/server/app/page.js.nft.json +1 -0
  134. package/.next/server/app/page_client-reference-manifest.js +3 -0
  135. package/.next/server/app/runs/[runId]/page/app-paths-manifest.json +3 -0
  136. package/.next/server/app/runs/[runId]/page/build-manifest.json +19 -0
  137. package/.next/server/app/runs/[runId]/page/next-font-manifest.json +6 -0
  138. package/.next/server/app/runs/[runId]/page/react-loadable-manifest.json +22 -0
  139. package/.next/server/app/runs/[runId]/page/server-reference-manifest.json +17 -0
  140. package/.next/server/app/runs/[runId]/page.js +15 -0
  141. package/.next/server/app/runs/[runId]/page.js.map +5 -0
  142. package/.next/server/app/runs/[runId]/page.js.nft.json +1 -0
  143. package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +3 -0
  144. package/.next/server/app-paths-manifest.json +16 -0
  145. package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js +3 -0
  146. package/.next/server/chunks/01oi_server_app_api_runs_[runId]_tasks_[effectId]_route_actions_0r72yai.js.map +1 -0
  147. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js +3 -0
  148. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_events_route_actions_0~msldk.js.map +1 -0
  149. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js +3 -0
  150. package/.next/server/chunks/0h.v__next-internal_server_app_api_runs_[runId]_route_actions_09iz0n6.js.map +1 -0
  151. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js +3 -0
  152. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_config_route_actions_0~eypoa.js.map +1 -0
  153. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js +3 -0
  154. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_digest_route_actions_04jj5zs.js.map +1 -0
  155. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js +3 -0
  156. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_runs_route_actions_0~-t-o4.js.map +1 -0
  157. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js +3 -0
  158. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_stream_route_actions_0fkmv2_.js.map +1 -0
  159. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js +3 -0
  160. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_test_route_actions_00ugava.js.map +1 -0
  161. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js +3 -0
  162. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_api_version_route_actions_0~v3ojm.js.map +1 -0
  163. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js +3 -0
  164. package/.next/server/chunks/0juq_observer-dashboard__next-internal_server_app_icon_svg_route_actions_0yypxkm.js.map +1 -0
  165. package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js +3 -0
  166. package/.next/server/chunks/[root-of-the-server]__0.6bt.6._.js.map +1 -0
  167. package/.next/server/chunks/[root-of-the-server]__08kwev1._.js +3 -0
  168. package/.next/server/chunks/[root-of-the-server]__08kwev1._.js.map +1 -0
  169. package/.next/server/chunks/[root-of-the-server]__096el.d._.js +3 -0
  170. package/.next/server/chunks/[root-of-the-server]__096el.d._.js.map +1 -0
  171. package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js +3 -0
  172. package/.next/server/chunks/[root-of-the-server]__0_bmt4z._.js.map +1 -0
  173. package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js +3 -0
  174. package/.next/server/chunks/[root-of-the-server]__0_ln2d2._.js.map +1 -0
  175. package/.next/server/chunks/[root-of-the-server]__0al3v65._.js +3 -0
  176. package/.next/server/chunks/[root-of-the-server]__0al3v65._.js.map +1 -0
  177. package/.next/server/chunks/[root-of-the-server]__0gf516b._.js +3 -0
  178. package/.next/server/chunks/[root-of-the-server]__0gf516b._.js.map +1 -0
  179. package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js +3 -0
  180. package/.next/server/chunks/[root-of-the-server]__0kdfw4x._.js.map +1 -0
  181. package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js +3 -0
  182. package/.next/server/chunks/[root-of-the-server]__0pxt00h._.js.map +1 -0
  183. package/.next/server/chunks/[root-of-the-server]__0rubnza._.js +3 -0
  184. package/.next/server/chunks/[root-of-the-server]__0rubnza._.js.map +1 -0
  185. package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js +3 -0
  186. package/.next/server/chunks/[root-of-the-server]__0tn9iud._.js.map +1 -0
  187. package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js +3 -0
  188. package/.next/server/chunks/[root-of-the-server]__0ws5o6i._.js.map +1 -0
  189. package/.next/server/chunks/[turbopack]_runtime.js +903 -0
  190. package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
  191. package/.next/server/chunks/node_modules_next_04~_e52._.js +13 -0
  192. package/.next/server/chunks/node_modules_next_04~_e52._.js.map +1 -0
  193. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js +9 -0
  194. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0nyyph-.js.map +1 -0
  195. package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js +3 -0
  196. package/.next/server/chunks/packages_observer-dashboard_src_lib_02.vvb.._.js.map +1 -0
  197. package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js +3 -0
  198. package/.next/server/chunks/packages_observer-dashboard_src_lib_0rqgpk0._.js.map +1 -0
  199. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js +3 -0
  200. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__global-error_page_actions_0ekoxmy.js.map +1 -0
  201. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js +3 -0
  202. package/.next/server/chunks/ssr/0juq_observer-dashboard__next-internal_server_app__not-found_page_actions_09b3ti3.js.map +1 -0
  203. package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js +4 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__006f7~t._.js.map +1 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js +3 -0
  206. package/.next/server/chunks/ssr/[root-of-the-server]__02jgvbi._.js.map +1 -0
  207. package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js +3 -0
  208. package/.next/server/chunks/ssr/[root-of-the-server]__04j8t~1._.js.map +1 -0
  209. package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js +33 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__09c~s.0._.js.map +1 -0
  211. package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js +3 -0
  212. package/.next/server/chunks/ssr/[root-of-the-server]__0cpy61n._.js.map +1 -0
  213. package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js +3 -0
  214. package/.next/server/chunks/ssr/[root-of-the-server]__0cwa32j._.js.map +1 -0
  215. package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js +19 -0
  216. package/.next/server/chunks/ssr/[root-of-the-server]__0fk_g0j._.js.map +1 -0
  217. package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js +3 -0
  218. package/.next/server/chunks/ssr/[root-of-the-server]__0pddpic._.js.map +1 -0
  219. package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js +3 -0
  220. package/.next/server/chunks/ssr/[root-of-the-server]__0pvtneq._.js.map +1 -0
  221. package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js +3 -0
  222. package/.next/server/chunks/ssr/[root-of-the-server]__0xc-2vm._.js.map +1 -0
  223. package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
  224. package/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js.map +1 -0
  225. package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  226. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
  227. package/.next/server/chunks/ssr/_00yo1im._.js +3 -0
  228. package/.next/server/chunks/ssr/_00yo1im._.js.map +1 -0
  229. package/.next/server/chunks/ssr/_03sbc.o._.js +3 -0
  230. package/.next/server/chunks/ssr/_03sbc.o._.js.map +1 -0
  231. package/.next/server/chunks/ssr/_04z5ea0._.js +3 -0
  232. package/.next/server/chunks/ssr/_04z5ea0._.js.map +1 -0
  233. package/.next/server/chunks/ssr/_0gmb3g_._.js +3 -0
  234. package/.next/server/chunks/ssr/_0gmb3g_._.js.map +1 -0
  235. package/.next/server/chunks/ssr/_0okz9j8._.js +6 -0
  236. package/.next/server/chunks/ssr/_0okz9j8._.js.map +1 -0
  237. package/.next/server/chunks/ssr/_0wrbwro._.js +6 -0
  238. package/.next/server/chunks/ssr/_0wrbwro._.js.map +1 -0
  239. package/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
  240. package/.next/server/chunks/ssr/node_modules_09w7yel._.js.map +1 -0
  241. package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js +3 -0
  242. package/.next/server/chunks/ssr/node_modules_next_dist_0avqw4q._.js.map +1 -0
  243. package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +6 -0
  244. package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js.map +1 -0
  245. package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js +3 -0
  246. package/.next/server/chunks/ssr/node_modules_next_dist_0i_._k3._.js.map +1 -0
  247. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js +3 -0
  248. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0ee1czk._.js.map +1 -0
  249. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
  250. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js.map +1 -0
  251. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
  252. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js.map +1 -0
  253. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js +4 -0
  254. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0amzg6z.js.map +1 -0
  255. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js +4 -0
  256. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dw1x0d.js.map +1 -0
  257. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js +4 -0
  258. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js.map +1 -0
  259. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js +4 -0
  260. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10iomok.js.map +1 -0
  261. package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js +3 -0
  262. package/.next/server/chunks/ssr/packages_observer-dashboard_0~a2tmu._.js.map +1 -0
  263. package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js +3 -0
  264. package/.next/server/chunks/ssr/packages_observer-dashboard_src_0f.ozc-._.js.map +1 -0
  265. package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js +7 -0
  266. package/.next/server/chunks/ssr/packages_observer-dashboard_src_components_providers_tsx_03_vrrn._.js.map +1 -0
  267. package/.next/server/functions-config-manifest.json +4 -0
  268. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  269. package/.next/server/middleware-build-manifest.js +23 -0
  270. package/.next/server/middleware-manifest.json +6 -0
  271. package/.next/server/next-font-manifest.js +1 -0
  272. package/.next/server/next-font-manifest.json +6 -0
  273. package/.next/server/pages/404.html +1 -0
  274. package/.next/server/pages/500.html +1 -0
  275. package/.next/server/pages-manifest.json +4 -0
  276. package/.next/server/prefetch-hints.json +1 -0
  277. package/.next/server/server-reference-manifest.js +1 -0
  278. package/.next/server/server-reference-manifest.json +24 -0
  279. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_buildManifest.js +11 -0
  280. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_clientMiddlewareManifest.js +1 -0
  281. package/.next/static/MvfPly4ZXHqaveDVOG1qq/_ssgManifest.js +1 -0
  282. package/.next/static/chunks/00c87uqn~kk2z.js +1 -0
  283. package/.next/static/chunks/01xlw8hd842-c.js +1 -0
  284. package/.next/static/chunks/02p9dpa.0oxiz.js +1 -0
  285. package/.next/static/chunks/034i63v_muq~d.js +1 -0
  286. package/.next/static/chunks/03mo-6~4pxdio.js +1 -0
  287. package/.next/static/chunks/03~yq9q893hmn.js +1 -0
  288. package/.next/static/chunks/04dm5qn77.fc2.js +1 -0
  289. package/.next/static/chunks/07uz2g0_38qia.js +4 -0
  290. package/.next/static/chunks/08nqnwvixoxnk.js +2 -0
  291. package/.next/static/chunks/0d3shmwh5_nmn.js +1 -0
  292. package/.next/static/chunks/0e_wyjw3nx.a..js +1 -0
  293. package/.next/static/chunks/0mstyq17cbf8-.js +1 -0
  294. package/.next/static/chunks/0ntuxw9.how-q.js +1 -0
  295. package/.next/static/chunks/0t3uzajv1qzmo.js +1 -0
  296. package/.next/static/chunks/0u~_nwr5-v.xp.js +1 -0
  297. package/.next/static/chunks/0wxcxh6eyzams.js +1 -0
  298. package/.next/static/chunks/0x6y7yt4kiddp.css +1 -0
  299. package/.next/static/chunks/0z6-vonyxr0dn.js +4 -0
  300. package/.next/static/chunks/0ze4gu236oq96.js +31 -0
  301. package/.next/static/chunks/0zwozael9msy1.js +1 -0
  302. package/.next/static/chunks/10qd__0r7a~.l.js +1 -0
  303. package/.next/static/chunks/11jh_u1ynmatg.js +1 -0
  304. package/.next/static/chunks/13xer3cb9shu-.js +5 -0
  305. package/.next/static/chunks/142zlnch_xmgd.js +1 -0
  306. package/.next/static/chunks/144kcri75qczu.js +1 -0
  307. package/.next/static/chunks/turbopack-0-ww6fe7b37qt.js +1 -0
  308. package/.next/static/media/icon.08ljfy7xai2x_.svg +20 -0
  309. package/LICENSE +21 -0
  310. package/README.md +490 -0
  311. package/next.config.mjs +25 -0
  312. package/package.json +104 -0
  313. package/postcss.config.mjs +8 -0
  314. package/src/app/actions/__tests__/approve-breakpoint.test.ts +246 -0
  315. package/src/app/actions/approve-breakpoint.ts +145 -0
  316. package/src/app/api/config/route.ts +137 -0
  317. package/src/app/api/digest/route.ts +45 -0
  318. package/src/app/api/runs/[runId]/events/route.ts +56 -0
  319. package/src/app/api/runs/[runId]/route.ts +84 -0
  320. package/src/app/api/runs/[runId]/tasks/[effectId]/route.ts +44 -0
  321. package/src/app/api/runs/route.ts +48 -0
  322. package/src/app/api/stream/route.ts +136 -0
  323. package/src/app/api/test/route.ts +1 -0
  324. package/src/app/api/version/route.ts +57 -0
  325. package/src/app/globals.css +555 -0
  326. package/src/app/icon.svg +20 -0
  327. package/src/app/layout.tsx +39 -0
  328. package/src/app/not-found.tsx +16 -0
  329. package/src/app/page.tsx +120 -0
  330. package/src/app/runs/[runId]/page.tsx +279 -0
  331. package/src/cli.ts +271 -0
  332. package/src/components/breakpoint/__tests__/breakpoint-approval.test.tsx +212 -0
  333. package/src/components/breakpoint/__tests__/breakpoint-panel.test.tsx +130 -0
  334. package/src/components/breakpoint/__tests__/file-preview.test.tsx +313 -0
  335. package/src/components/breakpoint/breakpoint-approval.tsx +138 -0
  336. package/src/components/breakpoint/breakpoint-panel.tsx +95 -0
  337. package/src/components/breakpoint/file-preview.tsx +215 -0
  338. package/src/components/dashboard/.gitkeep +0 -0
  339. package/src/components/dashboard/__tests__/breakpoint-banner.test.tsx +177 -0
  340. package/src/components/dashboard/__tests__/catch-up-banner.test.tsx +141 -0
  341. package/src/components/dashboard/__tests__/executive-summary-banner.test.tsx +164 -0
  342. package/src/components/dashboard/__tests__/kpi-grid.test.tsx +101 -0
  343. package/src/components/dashboard/__tests__/pagination-controls.test.tsx +125 -0
  344. package/src/components/dashboard/__tests__/project-accordion.test.tsx +97 -0
  345. package/src/components/dashboard/__tests__/project-list-view.test.tsx +174 -0
  346. package/src/components/dashboard/__tests__/project-search-input.test.tsx +110 -0
  347. package/src/components/dashboard/__tests__/project-section-header.test.tsx +91 -0
  348. package/src/components/dashboard/__tests__/project-section.test.tsx +151 -0
  349. package/src/components/dashboard/__tests__/run-card.test.tsx +164 -0
  350. package/src/components/dashboard/__tests__/run-filter-bar.test.tsx +109 -0
  351. package/src/components/dashboard/__tests__/run-list.test.tsx +123 -0
  352. package/src/components/dashboard/__tests__/search-filter.test.tsx +150 -0
  353. package/src/components/dashboard/__tests__/virtualized-run-list.test.tsx +179 -0
  354. package/src/components/dashboard/breakpoint-banner.tsx +301 -0
  355. package/src/components/dashboard/catch-up-banner.tsx +88 -0
  356. package/src/components/dashboard/executive-summary-banner.tsx +174 -0
  357. package/src/components/dashboard/global-search.tsx +323 -0
  358. package/src/components/dashboard/kpi-grid.tsx +140 -0
  359. package/src/components/dashboard/pagination-controls.tsx +100 -0
  360. package/src/components/dashboard/project-accordion.tsx +72 -0
  361. package/src/components/dashboard/project-health-card.tsx +536 -0
  362. package/src/components/dashboard/project-list-view.tsx +246 -0
  363. package/src/components/dashboard/project-search-input.tsx +41 -0
  364. package/src/components/dashboard/project-section-header.tsx +73 -0
  365. package/src/components/dashboard/project-section.tsx +89 -0
  366. package/src/components/dashboard/run-card.tsx +218 -0
  367. package/src/components/dashboard/run-filter-bar.tsx +100 -0
  368. package/src/components/dashboard/run-list.tsx +77 -0
  369. package/src/components/dashboard/search-filter.tsx +69 -0
  370. package/src/components/dashboard/virtualized-run-list.tsx +130 -0
  371. package/src/components/details/.gitkeep +0 -0
  372. package/src/components/details/__tests__/agent-panel.test.tsx +236 -0
  373. package/src/components/details/__tests__/json-tree.test.tsx +347 -0
  374. package/src/components/details/__tests__/log-viewer.test.tsx +168 -0
  375. package/src/components/details/__tests__/task-detail.test.tsx +212 -0
  376. package/src/components/details/__tests__/timing-panel.test.tsx +271 -0
  377. package/src/components/details/agent-panel.tsx +234 -0
  378. package/src/components/details/json-tree/categorize.ts +131 -0
  379. package/src/components/details/json-tree/index.tsx +120 -0
  380. package/src/components/details/json-tree/json-node.tsx +223 -0
  381. package/src/components/details/json-tree/smart-summary.tsx +596 -0
  382. package/src/components/details/json-tree/tree-controls.tsx +47 -0
  383. package/src/components/details/json-tree.tsx +9 -0
  384. package/src/components/details/log-viewer.tsx +140 -0
  385. package/src/components/details/task-detail.tsx +114 -0
  386. package/src/components/details/timing-panel.tsx +247 -0
  387. package/src/components/events/.gitkeep +0 -0
  388. package/src/components/events/__tests__/event-item.test.tsx +211 -0
  389. package/src/components/events/__tests__/event-stream.test.tsx +225 -0
  390. package/src/components/events/event-item.tsx +121 -0
  391. package/src/components/events/event-stream.tsx +260 -0
  392. package/src/components/notifications/.gitkeep +0 -0
  393. package/src/components/notifications/__tests__/notification-panel.test.tsx +287 -0
  394. package/src/components/notifications/__tests__/notification-provider.test.tsx +585 -0
  395. package/src/components/notifications/__tests__/toast-stack.test.tsx +217 -0
  396. package/src/components/notifications/notification-panel.tsx +124 -0
  397. package/src/components/notifications/notification-provider.tsx +175 -0
  398. package/src/components/notifications/toast-stack.tsx +75 -0
  399. package/src/components/pipeline/.gitkeep +0 -0
  400. package/src/components/pipeline/__tests__/parallel-group.test.tsx +88 -0
  401. package/src/components/pipeline/__tests__/pipeline-view.test.tsx +345 -0
  402. package/src/components/pipeline/__tests__/step-card.test.tsx +330 -0
  403. package/src/components/pipeline/parallel-group.tsx +39 -0
  404. package/src/components/pipeline/pipeline-view.tsx +197 -0
  405. package/src/components/pipeline/step-card.tsx +166 -0
  406. package/src/components/providers/event-stream-provider.tsx +29 -0
  407. package/src/components/providers.tsx +24 -0
  408. package/src/components/shared/.gitkeep +0 -0
  409. package/src/components/shared/__tests__/empty-state.test.tsx +49 -0
  410. package/src/components/shared/__tests__/friendly-id.test.tsx +47 -0
  411. package/src/components/shared/__tests__/kbd.test.tsx +45 -0
  412. package/src/components/shared/__tests__/kind-badge.test.tsx +71 -0
  413. package/src/components/shared/__tests__/metrics-row.test.tsx +74 -0
  414. package/src/components/shared/__tests__/outcome-banner.test.tsx +71 -0
  415. package/src/components/shared/__tests__/progress-bar.test.tsx +89 -0
  416. package/src/components/shared/__tests__/session-pill.test.tsx +62 -0
  417. package/src/components/shared/__tests__/settings-modal.test.tsx +201 -0
  418. package/src/components/shared/__tests__/shortcuts-help.test.tsx +103 -0
  419. package/src/components/shared/__tests__/status-badge.test.tsx +98 -0
  420. package/src/components/shared/__tests__/theme-provider.test.tsx +100 -0
  421. package/src/components/shared/__tests__/truncated-id.test.tsx +53 -0
  422. package/src/components/shared/app-footer.tsx +80 -0
  423. package/src/components/shared/app-header.tsx +160 -0
  424. package/src/components/shared/empty-state.tsx +18 -0
  425. package/src/components/shared/error-boundary.tsx +81 -0
  426. package/src/components/shared/friendly-id.tsx +48 -0
  427. package/src/components/shared/kbd.tsx +15 -0
  428. package/src/components/shared/kind-badge.tsx +51 -0
  429. package/src/components/shared/metrics-row.tsx +106 -0
  430. package/src/components/shared/outcome-banner.tsx +56 -0
  431. package/src/components/shared/progress-bar.tsx +42 -0
  432. package/src/components/shared/session-pill.tsx +69 -0
  433. package/src/components/shared/settings-modal.tsx +509 -0
  434. package/src/components/shared/shortcuts-help.tsx +113 -0
  435. package/src/components/shared/status-badge.tsx +110 -0
  436. package/src/components/shared/theme-provider.tsx +46 -0
  437. package/src/components/shared/truncated-id.tsx +51 -0
  438. package/src/components/ui/.gitkeep +0 -0
  439. package/src/components/ui/__tests__/accordion.test.tsx +96 -0
  440. package/src/components/ui/__tests__/badge.test.tsx +69 -0
  441. package/src/components/ui/__tests__/button.test.tsx +113 -0
  442. package/src/components/ui/__tests__/tabs.test.tsx +75 -0
  443. package/src/components/ui/__tests__/tooltip.test.tsx +90 -0
  444. package/src/components/ui/accordion.tsx +61 -0
  445. package/src/components/ui/badge.tsx +25 -0
  446. package/src/components/ui/button.tsx +40 -0
  447. package/src/components/ui/card.tsx +21 -0
  448. package/src/components/ui/scroll-area.tsx +35 -0
  449. package/src/components/ui/separator.tsx +24 -0
  450. package/src/components/ui/tabs.tsx +64 -0
  451. package/src/components/ui/tooltip.tsx +37 -0
  452. package/src/hooks/.gitkeep +0 -0
  453. package/src/hooks/__tests__/use-animated-number.test.ts +184 -0
  454. package/src/hooks/__tests__/use-batched-updates.test.ts +315 -0
  455. package/src/hooks/__tests__/use-event-stream.test.ts +243 -0
  456. package/src/hooks/__tests__/use-keyboard.test.ts +217 -0
  457. package/src/hooks/__tests__/use-notifications.test.ts +230 -0
  458. package/src/hooks/__tests__/use-polling.test.ts +274 -0
  459. package/src/hooks/__tests__/use-project-runs.test.ts +163 -0
  460. package/src/hooks/__tests__/use-projects.test.ts +248 -0
  461. package/src/hooks/__tests__/use-run-dashboard.test.ts +168 -0
  462. package/src/hooks/__tests__/use-run-detail.test.ts +273 -0
  463. package/src/hooks/__tests__/use-smart-polling.test.ts +305 -0
  464. package/src/hooks/use-animated-number.ts +87 -0
  465. package/src/hooks/use-batched-updates.ts +150 -0
  466. package/src/hooks/use-event-stream.ts +150 -0
  467. package/src/hooks/use-keyboard.ts +45 -0
  468. package/src/hooks/use-notifications.ts +82 -0
  469. package/src/hooks/use-persisted-state.ts +60 -0
  470. package/src/hooks/use-polling.ts +60 -0
  471. package/src/hooks/use-project-runs.ts +51 -0
  472. package/src/hooks/use-projects.ts +26 -0
  473. package/src/hooks/use-run-dashboard.ts +207 -0
  474. package/src/hooks/use-run-detail.ts +77 -0
  475. package/src/hooks/use-smart-polling.ts +144 -0
  476. package/src/lib/.gitkeep +0 -0
  477. package/src/lib/__tests__/cn.test.ts +69 -0
  478. package/src/lib/__tests__/config-loader.test.ts +210 -0
  479. package/src/lib/__tests__/config.test.ts +561 -0
  480. package/src/lib/__tests__/error-handler.test.ts +143 -0
  481. package/src/lib/__tests__/fetcher.test.ts +517 -0
  482. package/src/lib/__tests__/global-registry.test.ts +214 -0
  483. package/src/lib/__tests__/parser.test.ts +1532 -0
  484. package/src/lib/__tests__/path-resolver.test.ts +112 -0
  485. package/src/lib/__tests__/run-cache.test.ts +591 -0
  486. package/src/lib/__tests__/server-init.test.ts +512 -0
  487. package/src/lib/__tests__/source-discovery.test.ts +246 -0
  488. package/src/lib/__tests__/utils.test.ts +160 -0
  489. package/src/lib/__tests__/watcher.test.ts +227 -0
  490. package/src/lib/cn.ts +6 -0
  491. package/src/lib/config-loader.ts +195 -0
  492. package/src/lib/config.ts +20 -0
  493. package/src/lib/error-handler.ts +76 -0
  494. package/src/lib/fetcher.ts +394 -0
  495. package/src/lib/global-registry.ts +117 -0
  496. package/src/lib/parser.ts +794 -0
  497. package/src/lib/path-resolver.ts +16 -0
  498. package/src/lib/run-cache.ts +404 -0
  499. package/src/lib/server-init.ts +226 -0
  500. package/src/lib/services/__tests__/run-query-service.test.ts +819 -0
  501. package/src/lib/services/run-query-service.ts +286 -0
  502. package/src/lib/source-discovery.ts +216 -0
  503. package/src/lib/utils.ts +103 -0
  504. package/src/lib/watcher.ts +265 -0
  505. package/src/test/fixtures.ts +269 -0
  506. package/src/test/mocks/handlers.ts +110 -0
  507. package/src/test/mocks/server.ts +17 -0
  508. package/src/test/setup.ts +200 -0
  509. package/src/test/test-utils.tsx +36 -0
  510. package/src/types/.gitkeep +0 -0
  511. package/src/types/breakpoint.ts +17 -0
  512. package/src/types/index.ts +214 -0
  513. package/tsconfig.json +50 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sections": [
5
+ {"offset": {"line": 17, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-types.d.ts\" />\n\ntype EsmNamespaceObject = Record<string, any>\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent<M>(\n id: ModuleId,\n sourceModule: M\n): M\n\n// @ts-ignore Defined in `hmr-runtime.ts` (dev mode only)\ndeclare let devModuleCache: Record<ModuleId, any> | undefined\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap<Module, ReexportedObjects>()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext<Module>,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext<Module>\n\ntype ModuleContextMap = Record<ModuleId, ModuleContextEntry>\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise<Exports | EsmNamespaceObject>\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent<M extends Module> = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType<any>\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache<Module>,\n id: ModuleId\n): Module {\n let module = moduleCache[id]\n if (!module) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache[id] = module\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext<Module>,\n bindings: EsmBindings,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings)\n}\ncontextPrototype.s = esmExport\n\ntype ReexportedObjects = Record<PropertyKey, unknown>[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n for (const obj of reexportedObjects!) {\n const value = Reflect.get(obj, prop)\n if (value !== undefined) return value\n }\n return undefined\n },\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext<Module>,\n object: Record<string, any>,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext<Module>,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext<Module>,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record<string | symbol, any>, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exclude<Module['namespaceObject'], undefined> {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext<Module>,\n moduleId: ModuleId\n): Promise<Exports> {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise<Exports>\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise<Exports>)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\nfunction isPromise<T = any>(maybePromise: any): maybePromise is Promise<T> {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt<T extends {}>(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise<T>((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\n// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.\n// The CompressedModuleFactories format is\n// - 1 or more module ids\n// - a module factory function\n// So walking this is a little complex but the flat structure is also fast to\n// traverse, we can use `typeof` operators to distinguish the two cases.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1 // end is pointing at the last factory advance to the next id or the end of the array.\n }\n}\n\n// everything below is adapted from webpack\n// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise<Exports>\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise<T = Exports> = Promise<T> & AsyncModuleExt\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext<Module>,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set<AsyncQueue> = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise<Exports>()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record<string, any> = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array<any>) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor<M> = {\n new (module: Module, exports: Exports): TurbopackBaseContext<M>\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","createModuleWithDirection","createModuleObject","error","undefined","namespaceObject","parents","children","BindingTag_Value","esm","bindings","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","get","set","seal","esmExport","c","s","ensureDynamicExports","reexportedObjects","Proxy","target","prop","Reflect","ownKeys","keys","key","includes","push","dynamicExport","object","j","exportValue","v","exportNamespace","namespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","esmImport","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","isPromise","maybePromise","then","isAsyncModuleExt","turbopackQueues","createPromise","reject","promise","Promise","res","rej","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","end","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","has","applyModuleFactoryName","turbopackExports","turbopackError","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","dep","assign","err","asyncModule","body","hasAwait","depQueues","Set","rawPromise","attributes","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","add","asyncResult","a","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","configurable","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","requireStub","_moduleId","z","g","globalThis","factory"],"mappings":"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","ignoreList":[0]}},
6
+ {"offset": {"line": 593, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// <reference path=\"../shared/runtime/runtime-utils.ts\" />\n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":["externalImport","id","raw","err","Error","__esModule","default","interopEsm","createNS","contextPrototype","y","externalRequire","thunk","esm","resolve","options","require","x"],"mappings":"AAAA,2DAA2D;AAE3D,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAeA,eAAeC,EAAuB;IACnD,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAM,MAAM,CAACD;IACrB,EAAE,OAAOE,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAID,OAAOA,IAAIG,UAAU,IAAIH,IAAII,OAAO,IAAI,aAAaJ,IAAII,OAAO,EAAE;QACpE,OAAOC,WAAWL,IAAII,OAAO,EAAEE,SAASN,MAAM;IAChD;IAEA,OAAOA;AACT;AACAO,iBAAiBC,CAAC,GAAGV;AAErB,SAASW,gBACPV,EAAY,EACZW,KAAgB,EAChBC,MAAe,KAAK;IAEpB,IAAIX;IACJ,IAAI;QACFA,MAAMU;IACR,EAAE,OAAOT,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAI,CAACU,OAAOX,IAAIG,UAAU,EAAE;QAC1B,OAAOH;IACT;IAEA,OAAOK,WAAWL,KAAKM,SAASN,MAAM;AACxC;AAEAS,gBAAgBG,OAAO,GAAG,CACxBb,IACAc;IAIA,OAAOC,QAAQF,OAAO,CAACb,IAAIc;AAC7B;AACAN,iBAAiBQ,CAAC,GAAGN","ignoreList":[0]}},
7
+ {"offset": {"line": 634, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n"],"names":["path","require","relativePathToRuntimeRoot","relative","RUNTIME_PUBLIC_PATH","relativePathToDistRoot","join","RELATIVE_ROOT_PATH","RUNTIME_ROOT","resolve","__filename","ABSOLUTE_ROOT","resolveAbsolutePath","modulePath","Context","prototype","P"],"mappings":"AAAA,oDAAoD,GAMpD,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,4BAA4BF,KAAKG,QAAQ,CAACC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAMC,yBAAyBL,KAAKM,IAAI,CACtCJ,2BACAK;AAEF,MAAMC,eAAeR,KAAKS,OAAO,CAACC,YAAYR;AAC9C,mGAAmG;AACnG,MAAMS,gBAAgBX,KAAKS,OAAO,CAACC,YAAYL;AAE/C;;;;;;;CAOC,GACD,SAASO,oBAAoBC,UAAmB;IAC9C,IAAIA,YAAY;QACd,OAAOb,KAAKM,IAAI,CAACK,eAAeE;IAClC;IACA,OAAOF;AACT;AACAG,QAAQC,SAAS,CAACC,CAAC,GAAGJ","ignoreList":[0]}},
8
+ {"offset": {"line": 655, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-wasm-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../shared/runtime/runtime-utils.ts\" />\n\nfunction readWebAssemblyAsResponse(path: string) {\n const { createReadStream } = require('fs') as typeof import('fs')\n const { Readable } = require('stream') as typeof import('stream')\n\n const stream = createReadStream(path)\n\n // @ts-ignore unfortunately there's a slight type mismatch with the stream.\n return new Response(Readable.toWeb(stream), {\n headers: {\n 'content-type': 'application/wasm',\n },\n })\n}\n\nasync function compileWebAssemblyFromPath(\n path: string\n): Promise<WebAssembly.Module> {\n const response = readWebAssemblyAsResponse(path)\n\n return await WebAssembly.compileStreaming(response)\n}\n\nasync function instantiateWebAssemblyFromPath(\n path: string,\n importsObj: WebAssembly.Imports\n): Promise<Exports> {\n const response = readWebAssemblyAsResponse(path)\n\n const { instance } = await WebAssembly.instantiateStreaming(\n response,\n importsObj\n )\n\n return instance.exports\n}\n"],"names":["readWebAssemblyAsResponse","path","createReadStream","require","Readable","stream","Response","toWeb","headers","compileWebAssemblyFromPath","response","WebAssembly","compileStreaming","instantiateWebAssemblyFromPath","importsObj","instance","instantiateStreaming","exports"],"mappings":"AAAA,oDAAoD,GAEpD,2DAA2D;AAE3D,SAASA,0BAA0BC,IAAY;IAC7C,MAAM,EAAEC,gBAAgB,EAAE,GAAGC,QAAQ;IACrC,MAAM,EAAEC,QAAQ,EAAE,GAAGD,QAAQ;IAE7B,MAAME,SAASH,iBAAiBD;IAEhC,2EAA2E;IAC3E,OAAO,IAAIK,SAASF,SAASG,KAAK,CAACF,SAAS;QAC1CG,SAAS;YACP,gBAAgB;QAClB;IACF;AACF;AAEA,eAAeC,2BACbR,IAAY;IAEZ,MAAMS,WAAWV,0BAA0BC;IAE3C,OAAO,MAAMU,YAAYC,gBAAgB,CAACF;AAC5C;AAEA,eAAeG,+BACbZ,IAAY,EACZa,UAA+B;IAE/B,MAAMJ,WAAWV,0BAA0BC;IAE3C,MAAM,EAAEc,QAAQ,EAAE,GAAG,MAAMJ,YAAYK,oBAAoB,CACzDN,UACAI;IAGF,OAAOC,SAASE,OAAO;AACzB","ignoreList":[0]}},
9
+ {"offset": {"line": 676, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/runtime-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../../shared/runtime/runtime-utils.ts\" />\n/// <reference path=\"../../shared-node/base-externals-utils.ts\" />\n/// <reference path=\"../../shared-node/node-externals-utils.ts\" />\n/// <reference path=\"../../shared-node/node-wasm-utils.ts\" />\n/// <reference path=\"./nodejs-globals.d.ts\" />\n\n/**\n * Base Node.js runtime shared between production and development.\n * Contains chunk loading, module caching, and other non-HMR functionality.\n */\n\nprocess.env.TURBOPACK = '1'\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nconst moduleCache: ModuleCache<Module> = Object.create(null)\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext<Module>,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\n\n/**\n * Exports a URL value. No suffix is added in Node.js runtime.\n */\nfunction exportUrl(\n this: TurbopackBaseContext<Module>,\n urlValue: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, urlValue, id)\n}\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set<ChunkPath>()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise<void> = Promise.resolve(undefined)\nconst chunkCache = new Map<ChunkPath, Promise<void>>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n loadedChunks.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (cause) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n throw error\n }\n}\n\nfunction loadChunkAsync<TModule extends Module>(\n this: TurbopackBaseContext<TModule>,\n chunkData: ChunkData\n): Promise<void> {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (cause) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(error)\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl<TModule extends Module>(\n this: TurbopackBaseContext<TModule>,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\nfunction loadWebAssembly(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module,\n imports: WebAssembly.Imports\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return instantiateWebAssemblyFromPath(resolved, imports)\n}\ncontextPrototype.w = loadWebAssembly\n\nfunction loadWebAssemblyModule(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return compileWebAssemblyFromPath(resolved)\n}\ncontextPrototype.u = loadWebAssemblyModule\n\n/**\n * Creates a Node.js worker thread by instantiating the given WorkerConstructor\n * with the appropriate path and options, including forwarded globals.\n *\n * @param WorkerConstructor The Worker constructor from worker_threads\n * @param workerPath Path to the worker entry chunk\n * @param workerOptions options to pass to the Worker constructor (optional)\n */\nfunction createWorker(\n WorkerConstructor: { new (path: string, options?: object): unknown },\n workerPath: string,\n workerOptions?: { workerData?: unknown; [key: string]: unknown }\n): unknown {\n // Build the forwarded globals object\n const forwardedGlobals: Record<string, unknown> = {}\n for (const name of WORKER_FORWARDED_GLOBALS) {\n forwardedGlobals[name] = (globalThis as Record<string, unknown>)[name]\n }\n\n // Merge workerData with forwarded globals\n const existingWorkerData = workerOptions?.workerData || {}\n const options = {\n ...workerOptions,\n workerData: {\n ...(typeof existingWorkerData === 'object' ? existingWorkerData : {}),\n __turbopack_globals__: forwardedGlobals,\n },\n }\n\n return new WorkerConstructor(workerPath, options)\n}\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n"],"names":["process","env","TURBOPACK","url","require","moduleFactories","Map","moduleCache","Object","create","resolvePathFromModule","moduleId","exported","r","exportedPath","default","strippedAssetPrefix","slice","ASSET_PREFIX","length","resolved","path","resolve","RUNTIME_ROOT","pathToFileURL","href","exportUrl","urlValue","id","exportValue","call","loadRuntimeChunk","sourcePath","chunkData","loadRuntimeChunkPath","loadedChunks","Set","unsupportedLoadChunk","Promise","undefined","loadedChunk","chunkCache","clearChunkCache","clear","chunkPath","isJs","has","chunkModules","installCompressedModuleFactories","add","cause","errorMessage","error","Error","name","loadChunkAsync","entry","get","m","reject","set","contextPrototype","l","loadChunkAsyncByUrl","chunkUrl","path1","fileURLToPath","URL","L","loadWebAssembly","_edgeModule","imports","instantiateWebAssemblyFromPath","w","loadWebAssemblyModule","compileWebAssemblyFromPath","u","createWorker","WorkerConstructor","workerPath","workerOptions","forwardedGlobals","WORKER_FORWARDED_GLOBALS","globalThis","existingWorkerData","workerData","options","__turbopack_globals__","regexJsUrl","chunkUrlOrPath","test"],"mappings":"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","ignoreList":[0]}},
10
+ {"offset": {"line": 823, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/build-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-base.ts\" />\n\n/**\n * Production Node.js runtime.\n * Uses ModuleWithDirection and simple module instantiation without HMR support.\n */\n\n// moduleCache and moduleFactories are declared in runtime-base.ts\n\n// this is read in runtime-utils.ts so it creates a module with direction for hmr\ncreateModuleWithDirectionFlag = true\n\ninterface TurbopackNodeBuildContext\n extends TurbopackBaseContext<ModuleWithDirection> {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n C: typeof clearChunkCache\n}\n\nconst nodeContextPrototype = Context.prototype as TurbopackNodeBuildContext\n\nnodeContextPrototype.q = exportUrl\nnodeContextPrototype.M = moduleFactories\n// Cast moduleCache to ModuleWithDirection for production mode\nnodeContextPrototype.c = moduleCache as ModuleCache<ModuleWithDirection>\nnodeContextPrototype.R = resolvePathFromModule\nnodeContextPrototype.b = createWorker\nnodeContextPrototype.C = clearChunkCache\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): ModuleWithDirection {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData))\n }\n\n const module: ModuleWithDirection = createModuleWithDirection(id)\n const exports = module.exports\n moduleCache[id] = module\n\n const context =\n new (Context as any as ContextConstructor<ModuleWithDirection>)(\n module,\n exports\n )\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n ;(module as any).loaded = true\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: ModuleWithDirection\n): ModuleWithDirection {\n const module = moduleCache[id]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n const module = moduleCache[moduleId]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":["createModuleWithDirectionFlag","nodeContextPrototype","Context","prototype","q","exportUrl","M","moduleFactories","c","moduleCache","R","resolvePathFromModule","b","createWorker","C","clearChunkCache","instantiateModule","id","sourceType","sourceData","moduleFactory","get","Error","factoryNotAvailableMessage","module1","createModuleWithDirection","exports","context","error","loaded","namespaceObject","interopEsm","getOrInstantiateModuleFromParent","sourceModule","SourceType","Parent","instantiateRuntimeModule","chunkPath","moduleId","Runtime","getOrInstantiateRuntimeModule","module","sourcePath","m","chunkData","loadRuntimeChunk"],"mappings":"AAAA,oDAAoD,GAEpD,0CAA0C;AAE1C;;;CAGC,GAED,kEAAkE;AAElE,iFAAiF;AACjFA,gCAAgC;AAUhC,MAAMC,uBAAuBC,QAAQC,SAAS;AAE9CF,qBAAqBG,CAAC,GAAGC;AACzBJ,qBAAqBK,CAAC,GAAGC;AACzB,8DAA8D;AAC9DN,qBAAqBO,CAAC,GAAGC;AACzBR,qBAAqBS,CAAC,GAAGC;AACzBV,qBAAqBW,CAAC,GAAGC;AACzBZ,qBAAqBa,CAAC,GAAGC;AAEzB,SAASC,kBACPC,EAAY,EACZC,UAAsB,EACtBC,UAAsB;IAEtB,MAAMC,gBAAgBb,gBAAgBc,GAAG,CAACJ;IAC1C,IAAI,OAAOG,kBAAkB,YAAY;QACvC,sEAAsE;QACtE,0EAA0E;QAC1E,mDAAmD;QACnD,MAAM,IAAIE,MAAMC,2BAA2BN,IAAIC,YAAYC;IAC7D;IAEA,MAAMK,UAA8BC,0BAA0BR;IAC9D,MAAMS,UAAUF,QAAOE,OAAO;IAC9BjB,WAAW,CAACQ,GAAG,GAAGO;IAElB,MAAMG,UACJ,IAAKzB,QACHsB,SACAE;IAEJ,4EAA4E;IAC5E,IAAI;QACFN,cAAcO,SAASH,SAAQE;IACjC,EAAE,OAAOE,OAAO;QACdJ,QAAOI,KAAK,GAAGA;QACf,MAAMA;IACR;;IAEEJ,QAAeK,MAAM,GAAG;IAC1B,IAAIL,QAAOM,eAAe,IAAIN,QAAOE,OAAO,KAAKF,QAAOM,eAAe,EAAE;QACvE,yDAAyD;QACzDC,WAAWP,QAAOE,OAAO,EAAEF,QAAOM,eAAe;IACnD;IAEA,OAAON;AACT;AAEA;;CAEC,GACD,aAAa;AACb,SAASQ,iCACPf,EAAY,EACZgB,YAAiC;IAEjC,MAAMT,UAASf,WAAW,CAACQ,GAAG;IAE9B,IAAIO,SAAQ;QACV,IAAIA,QAAOI,KAAK,EAAE;YAChB,MAAMJ,QAAOI,KAAK;QACpB;QAEA,OAAOJ;IACT;IAEA,OAAOR,kBAAkBC,IAAIiB,WAAWC,MAAM,EAAEF,aAAahB,EAAE;AACjE;AAEA;;CAEC,GACD,SAASmB,yBACPC,SAAoB,EACpBC,QAAkB;IAElB,OAAOtB,kBAAkBsB,UAAUJ,WAAWK,OAAO,EAAEF;AACzD;AAEA;;CAEC,GACD,oFAAoF;AACpF,SAASG,8BACPH,SAAoB,EACpBC,QAAkB;IAElB,MAAMd,UAASf,WAAW,CAAC6B,SAAS;IAEpC,IAAId,SAAQ;QACV,IAAIA,QAAOI,KAAK,EAAE;YAChB,MAAMJ,QAAOI,KAAK;QACpB;QACA,OAAOJ;IACT;IAEA,OAAOY,yBAAyBC,WAAWC;AAC7C;AAEAG,OAAOf,OAAO,GAAG,CAACgB,aAA0B,CAAC;QAC3CC,GAAG,CAAC1B,KAAiBuB,8BAA8BE,YAAYzB;QAC/DT,GAAG,CAACoC,YAAyBC,iBAAiBH,YAAYE;IAC5D,CAAC","ignoreList":[0]}}]
11
+ }
@@ -0,0 +1,3 @@
1
+ module.exports=[64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},15255,a=>{"use strict";var b=a.i(7997),c=a.i(95936);a.s(["default",0,function(){return(0,b.jsxs)("div",{className:"flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center",children:[(0,b.jsx)("h2",{className:"text-2xl font-semibold",children:"Page Not Found"}),(0,b.jsx)("p",{className:"text-foreground-muted",children:"The page you are looking for does not exist."}),(0,b.jsx)(c.default,{href:"/",className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Back to Dashboard"})]})}])},72190,a=>{a.n(a.i(15255))}];
2
+
3
+ //# sourceMappingURL=_00yo1im._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../../../node_modules/next/dist/client/app-dir/link.js/__nextjs-internal-proxy.cjs","../../../../../../node_modules/next/src/client/app-dir/link.tsx","../../../../../../node_modules/next/src/client/app-dir/link.react-server.tsx","../../../../../../packages/observer-dashboard/src/app/not-found.tsx"],"sourcesContent":["\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[project]/node_modules/next/dist/client/app-dir/link.js\"));\n","'use client'\n\nimport React, { createContext, useContext, useOptimistic, useRef } from 'react'\nimport type { UrlObject } from 'url'\nimport { formatUrl } from '../../shared/lib/router/utils/format-url'\nimport { AppRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport { useMergedRef } from '../use-merged-ref'\nimport { isAbsoluteUrl } from '../../shared/lib/utils'\nimport { addBasePath } from '../add-base-path'\nimport { warnOnce } from '../../shared/lib/utils/warn-once'\nimport { ScrollBehavior } from '../components/router-reducer/router-reducer-types'\nimport type { PENDING_LINK_STATUS } from '../components/links'\nimport {\n IDLE_LINK_STATUS,\n mountLinkInstance,\n onNavigationIntent,\n unmountLinkForCurrentNavigation,\n unmountPrefetchableInstance,\n type LinkInstance,\n} from '../components/links'\nimport { isLocalURL } from '../../shared/lib/router/utils/is-local-url'\nimport {\n FetchStrategy,\n type PrefetchTaskFetchStrategy,\n} from '../components/segment-cache/types'\nimport { errorOnce } from '../../shared/lib/utils/error-once'\n\ntype Url = string | UrlObject\ntype RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K\n}[keyof T]\ntype OptionalKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? K : never\n}[keyof T]\n\ntype OnNavigateEventHandler = (event: { preventDefault: () => void }) => void\n\ntype InternalLinkProps = {\n /**\n * **Required**. The path or URL to navigate to. It can also be an object (similar to `URL`).\n *\n * @example\n * ```tsx\n * // Navigate to /dashboard:\n * <Link href=\"/dashboard\">Dashboard</Link>\n *\n * // Navigate to /about?name=test:\n * <Link href={{ pathname: '/about', query: { name: 'test' } }}>\n * About\n * </Link>\n * ```\n *\n * @remarks\n * - For external URLs, use a fully qualified URL such as `https://...`.\n * - In the App Router, dynamic routes must not include bracketed segments in `href`.\n */\n href: Url\n\n /**\n * @deprecated v10.0.0: `href` props pointing to a dynamic route are\n * automatically resolved and no longer require the `as` prop.\n */\n as?: Url\n\n /**\n * Replace the current `history` state instead of adding a new URL into the stack.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/about\" replace>\n * About (replaces the history state)\n * </Link>\n * ```\n */\n replace?: boolean\n\n /**\n * Whether to override the default scroll behavior. If `true`, Next.js attempts to maintain\n * the scroll position if the newly navigated page is still visible. If not, it scrolls to the top.\n *\n * If `false`, Next.js will not modify the scroll behavior at all.\n *\n * @defaultValue `true`\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" scroll={false}>\n * No auto scroll\n * </Link>\n * ```\n */\n scroll?: boolean\n\n /**\n * Update the path of the current page without rerunning data fetching methods\n * like `getStaticProps`, `getServerSideProps`, or `getInitialProps`.\n *\n * @remarks\n * `shallow` only applies to the Pages Router. For the App Router, see the\n * [following documentation](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#using-the-native-history-api).\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/blog\" shallow>\n * Shallow navigation\n * </Link>\n * ```\n */\n shallow?: boolean\n\n /**\n * Forces `Link` to pass its `href` to the child component. Useful if the child is a custom\n * component that wraps an `<a>` tag, or if you're using certain styling libraries.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" passHref legacyBehavior>\n * <MyStyledAnchor>Dashboard</MyStyledAnchor>\n * </Link>\n * ```\n */\n passHref?: boolean\n\n /**\n * Prefetch the page in the background.\n * Any `<Link />` that is in the viewport (initially or through scroll) will be prefetched.\n * Prefetch can be disabled by passing `prefetch={false}`.\n *\n * @remarks\n * Prefetching is only enabled in production.\n *\n * - In the **App Router**:\n * - `\"auto\"`, `null`, `undefined` (default): Prefetch behavior depends on static vs dynamic routes:\n * - Static routes: fully prefetched\n * - Dynamic routes: partial prefetch to the nearest segment with a `loading.js`\n * - `true`: Always prefetch the full route and data.\n * - `false`: Disable prefetching on both viewport and hover.\n * - In the **Pages Router**:\n * - `true` (default): Prefetches the route and data in the background on viewport or hover.\n * - `false`: Prefetch only on hover, not on viewport.\n *\n * @defaultValue `true` (Pages Router) or `null` (App Router)\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" prefetch={false}>\n * Dashboard\n * </Link>\n * ```\n */\n prefetch?: boolean | 'auto' | null\n\n /**\n * (unstable) Switch to a full prefetch on hover. Effectively the same as\n * updating the prefetch prop to `true` in a mouse event.\n */\n unstable_dynamicOnHover?: boolean\n\n /**\n * The active locale is automatically prepended in the Pages Router. `locale` allows for providing\n * a different locale, or can be set to `false` to opt out of automatic locale behavior.\n *\n * @remarks\n * Note: locale only applies in the Pages Router and is ignored in the App Router.\n *\n * @example\n * ```tsx\n * // Use the 'fr' locale:\n * <Link href=\"/about\" locale=\"fr\">\n * About (French)\n * </Link>\n *\n * // Disable locale prefix:\n * <Link href=\"/about\" locale={false}>\n * About (no locale prefix)\n * </Link>\n * ```\n */\n locale?: string | false\n\n /**\n * Enable legacy link behavior.\n *\n * @deprecated This will be removed in a future version\n * @defaultValue `false`\n * @see https://github.com/vercel/next.js/commit/489e65ed98544e69b0afd7e0cfc3f9f6c2b803b7\n */\n legacyBehavior?: boolean\n\n /**\n * Optional event handler for when the mouse pointer is moved onto the `<Link>`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is touched.\n */\n onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is clicked.\n */\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is navigated.\n */\n onNavigate?: OnNavigateEventHandler\n\n /**\n * Transition types to apply when navigating. These types are passed to\n * [`React.addTransitionType`](https://react.dev/reference/react/addTransitionType)\n * inside the navigation transition, enabling\n * [`<ViewTransition>`](https://react.dev/reference/react/ViewTransition) components\n * to apply different animations based on the type of navigation.\n *\n * @example\n * ```tsx\n * <Link href=\"/about\" transitionTypes={['slide-in']}>About</Link>\n * ```\n */\n transitionTypes?: string[]\n}\n\n// TODO-APP: Include the full set of Anchor props\n// adding this to the publicly exported type currently breaks existing apps\n\n// `RouteInferType` is a stub here to avoid breaking `typedRoutes` when the type\n// isn't generated yet. It will be replaced when type generation runs.\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type LinkProps<RouteInferType = any> = InternalLinkProps\ntype LinkPropsRequired = RequiredKeys<LinkProps>\ntype LinkPropsOptional = OptionalKeys<Omit<InternalLinkProps, 'locale'>>\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n href: string,\n linkInstanceRef: React.RefObject<LinkInstance | null>,\n replace?: boolean,\n scroll?: boolean,\n onNavigate?: OnNavigateEventHandler,\n transitionTypes?: string[]\n): void {\n if (typeof window !== 'undefined') {\n const { nodeName } = e.currentTarget\n\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A'\n if (\n (isAnchorNodeName && isModifiedEvent(e)) ||\n e.currentTarget.hasAttribute('download')\n ) {\n // ignore click for browser’s default behavior\n return\n }\n\n if (!isLocalURL(href)) {\n if (replace) {\n // browser default behavior does not replace the history state\n // so we need to do it manually\n e.preventDefault()\n location.replace(href)\n }\n\n // ignore click for browser’s default behavior\n return\n }\n\n e.preventDefault()\n\n if (onNavigate) {\n let isDefaultPrevented = false\n\n onNavigate({\n preventDefault: () => {\n isDefaultPrevented = true\n },\n })\n\n if (isDefaultPrevented) {\n return\n }\n }\n\n const { dispatchNavigateAction } =\n require('../components/app-router-instance') as typeof import('../components/app-router-instance')\n\n React.startTransition(() => {\n dispatchNavigateAction(\n href,\n replace ? 'replace' : 'push',\n scroll === false ? ScrollBehavior.NoScroll : ScrollBehavior.Default,\n linkInstanceRef.current,\n transitionTypes\n )\n })\n }\n}\n\nfunction formatStringOrUrl(urlObjOrString: UrlObject | string): string {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString\n }\n\n return formatUrl(urlObjOrString)\n}\n\n/**\n * A React component that extends the HTML `<a>` element to provide\n * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation. This is the primary way to navigate between routes in Next.js.\n *\n * @remarks\n * - Prefetching is only enabled in production.\n *\n * @see https://nextjs.org/docs/app/api-reference/components/link\n */\nexport default function LinkComponent(\n props: LinkProps & {\n children: React.ReactNode\n ref: React.Ref<HTMLAnchorElement>\n }\n) {\n const [linkStatus, setOptimisticLinkStatus] = useOptimistic(IDLE_LINK_STATUS)\n\n let children: React.ReactNode\n\n const linkInstanceRef = useRef<LinkInstance | null>(null)\n\n const {\n href: hrefProp,\n as: asProp,\n children: childrenProp,\n prefetch: prefetchProp = null,\n passHref,\n replace,\n shallow,\n scroll,\n onClick,\n onMouseEnter: onMouseEnterProp,\n onTouchStart: onTouchStartProp,\n legacyBehavior = false,\n onNavigate,\n transitionTypes,\n ref: forwardedRef,\n unstable_dynamicOnHover,\n ...restProps\n } = props\n\n children = childrenProp\n\n if (\n legacyBehavior &&\n (typeof children === 'string' || typeof children === 'number')\n ) {\n children = <a>{children}</a>\n }\n\n const router = React.useContext(AppRouterContext)\n\n const prefetchEnabled = prefetchProp !== false\n\n const fetchStrategy =\n prefetchProp !== false\n ? getFetchStrategyFromPrefetchProp(prefetchProp)\n : // TODO: it makes no sense to assign a fetchStrategy when prefetching is disabled.\n FetchStrategy.PPR\n\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`<Link>\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record<LinkPropsRequired, true> = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record<LinkPropsOptional, true> = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n unstable_dynamicOnHover: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true,\n onNavigate: true,\n transitionTypes: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (\n key === 'onClick' ||\n key === 'onMouseEnter' ||\n key === 'onTouchStart' ||\n key === 'onNavigate'\n ) {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'legacyBehavior' ||\n key === 'unstable_dynamicOnHover'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else if (key === 'prefetch') {\n if (\n props[key] != null &&\n valType !== 'boolean' &&\n props[key] !== 'auto'\n ) {\n throw createPropError({\n key,\n expected: '`boolean | \"auto\"`',\n actual: valType,\n })\n }\n } else if (key === 'transitionTypes') {\n if (props[key] != null && !Array.isArray(props[key])) {\n throw createPropError({\n key,\n expected: '`string[]`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n const _: never = key\n }\n })\n }\n\n const resolvedHref = asProp || hrefProp\n const formattedHref = formatStringOrUrl(resolvedHref)\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.locale) {\n warnOnce(\n 'The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization'\n )\n }\n if (!asProp) {\n let href: string | undefined\n if (typeof resolvedHref === 'string') {\n href = resolvedHref\n } else if (\n typeof resolvedHref === 'object' &&\n typeof resolvedHref.pathname === 'string'\n ) {\n href = resolvedHref.pathname\n }\n\n if (href) {\n const hasDynamicSegment = href\n .split('/')\n .some((segment) => segment.startsWith('[') && segment.endsWith(']'))\n\n if (hasDynamicSegment) {\n throw new Error(\n `Dynamic href \\`${href}\\` found in <Link> while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`\n )\n }\n }\n }\n }\n\n // This will return the first child, if multiple are provided it will throw an error\n let child: any\n if (legacyBehavior) {\n if ((children as any)?.$$typeof === Symbol.for('react.lazy')) {\n throw new Error(\n `\\`<Link legacyBehavior>\\` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's \\`<a>\\` tag.`\n )\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(\n `\"onClick\" was passed to <Link> with \\`href\\` of \\`${formattedHref}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`\n )\n }\n if (onMouseEnterProp) {\n console.warn(\n `\"onMouseEnter\" was passed to <Link> with \\`href\\` of \\`${formattedHref}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`\n )\n }\n try {\n child = React.Children.only(children)\n } catch (err) {\n if (!children) {\n throw new Error(\n `No children were passed to <Link> with \\`href\\` of \\`${formattedHref}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`\n )\n }\n throw new Error(\n `Multiple children were passed to <Link> with \\`href\\` of \\`${formattedHref}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` +\n (typeof window !== 'undefined'\n ? \" \\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n } else {\n child = React.Children.only(children)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if ((children as any)?.type === 'a') {\n throw new Error(\n 'Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'\n )\n }\n }\n }\n\n const childRef: any = legacyBehavior\n ? child && typeof child === 'object' && child.ref\n : forwardedRef\n\n // Use a callback ref to attach an IntersectionObserver to the anchor tag on\n // mount. In the future we will also use this to keep track of all the\n // currently mounted <Link> instances, e.g. so we can re-prefetch them after\n // a revalidation or refresh.\n const observeLinkVisibilityOnMount = React.useCallback(\n (element: HTMLAnchorElement | SVGAElement) => {\n if (router !== null) {\n linkInstanceRef.current = mountLinkInstance(\n element,\n formattedHref,\n router,\n fetchStrategy,\n prefetchEnabled,\n setOptimisticLinkStatus\n )\n }\n\n return () => {\n if (linkInstanceRef.current) {\n unmountLinkForCurrentNavigation(linkInstanceRef.current)\n linkInstanceRef.current = null\n }\n unmountPrefetchableInstance(element)\n }\n },\n [\n prefetchEnabled,\n formattedHref,\n router,\n fetchStrategy,\n setOptimisticLinkStatus,\n ]\n )\n\n const mergedRef = useMergedRef(observeLinkVisibilityOnMount, childRef)\n\n const childProps: {\n onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>\n onMouseEnter: React.MouseEventHandler<HTMLAnchorElement>\n onClick: React.MouseEventHandler<HTMLAnchorElement>\n href?: string\n ref?: any\n } = {\n ref: mergedRef,\n onClick(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(\n `Component rendered inside next/link has to pass click event to \"onClick\" prop.`\n )\n }\n }\n\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick(e)\n }\n\n if (!router) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n linkClicked(\n e,\n formattedHref,\n linkInstanceRef,\n replace,\n scroll,\n onNavigate,\n transitionTypes\n )\n },\n onMouseEnter(e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onMouseEnter === 'function'\n ) {\n child.props.onMouseEnter(e)\n }\n\n if (!router) {\n return\n }\n if (!prefetchEnabled || process.env.NODE_ENV === 'development') {\n return\n }\n\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement,\n upgradeToDynamicPrefetch\n )\n },\n onTouchStart: process.env.__NEXT_LINK_NO_TOUCH_START\n ? undefined\n : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onTouchStart === 'function'\n ) {\n child.props.onTouchStart(e)\n }\n\n if (!router) {\n return\n }\n if (!prefetchEnabled) {\n return\n }\n\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement,\n upgradeToDynamicPrefetch\n )\n },\n }\n\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if (isAbsoluteUrl(formattedHref)) {\n childProps.href = formattedHref\n } else if (\n !legacyBehavior ||\n passHref ||\n (child.type === 'a' && !('href' in child.props))\n ) {\n childProps.href = addBasePath(formattedHref)\n }\n\n let link: React.ReactNode\n\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n errorOnce(\n '`legacyBehavior` is deprecated and will be removed in a future ' +\n 'release. A codemod is available to upgrade your components:\\n\\n' +\n 'npx @next/codemod@latest new-link .\\n\\n' +\n 'Learn more: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#remove-a-tags-from-link-components'\n )\n }\n link = React.cloneElement(child, childProps)\n } else {\n link = (\n <a {...restProps} {...childProps}>\n {children}\n </a>\n )\n }\n\n return (\n <LinkStatusContext.Provider value={linkStatus}>\n {link}\n </LinkStatusContext.Provider>\n )\n}\n\nconst LinkStatusContext = createContext<\n typeof PENDING_LINK_STATUS | typeof IDLE_LINK_STATUS\n>(IDLE_LINK_STATUS)\n\nexport const useLinkStatus = () => {\n return useContext(LinkStatusContext)\n}\n\nfunction getFetchStrategyFromPrefetchProp(\n prefetchProp: Exclude<LinkProps['prefetch'], undefined | false>\n): PrefetchTaskFetchStrategy {\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n if (prefetchProp === true) {\n return FetchStrategy.Full\n }\n\n // `null` or `\"auto\"`: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport.\n // This will also include invalid prop values that don't match the types specified here.\n // (although those should've been filtered out by prop validation in dev)\n prefetchProp satisfies null | 'auto'\n return FetchStrategy.PPR\n } else {\n return prefetchProp === null || prefetchProp === 'auto'\n ? // We default to PPR, and we'll discover whether or not the route supports it with the initial prefetch.\n FetchStrategy.PPR\n : // In the old implementation without runtime prefetches, `prefetch={true}` forces all dynamic data to be prefetched.\n // To preserve backwards-compatibility, anything other than `false`, `null`, or `\"auto\"` results in a full prefetch.\n // (although invalid values should've been filtered out by prop validation in dev)\n FetchStrategy.Full\n }\n}\n","import type { ComponentProps } from 'react'\nimport ClientLinkComponent, { type LinkProps, useLinkStatus } from './link'\n\nexport default function LinkComponent(\n props: ComponentProps<typeof ClientLinkComponent>\n) {\n const isLegacyBehavior = props.legacyBehavior\n const childIsHostComponent =\n typeof props.children === 'string' ||\n typeof props.children === 'number' ||\n typeof (props.children as any)?.type === 'string'\n const childIsClientComponent =\n (props.children as any)?.type?.$$typeof ===\n Symbol.for('react.client.reference')\n\n if (isLegacyBehavior && !childIsHostComponent && !childIsClientComponent) {\n if ((props.children as any)?.type?.$$typeof === Symbol.for('react.lazy')) {\n console.error(\n `Using a Lazy Component as a direct child of \\`<Link legacyBehavior>\\` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's \\`<a>\\` tag.`\n )\n } else {\n console.error(\n `Using a Server Component as a direct child of \\`<Link legacyBehavior>\\` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's \\`<a>\\` tag.`\n )\n }\n }\n\n return <ClientLinkComponent {...props} />\n}\n\nexport { type LinkProps, useLinkStatus }\n","import Link from \"next/link\";\r\n\r\nexport default function NotFound() {\r\n return (\r\n <div className=\"flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center\">\r\n <h2 className=\"text-2xl font-semibold\">Page Not Found</h2>\r\n <p className=\"text-foreground-muted\">The page you are looking for does not exist.</p>\r\n <Link\r\n href=\"/\"\r\n className=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors\"\r\n >\r\n Back to Dashboard\r\n </Link>\r\n </div>\r\n );\r\n}\r\n"],"names":["_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interop_require_wildcard","obj","__esModule","default","cache","has","get","newObj","__proto__","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","exports","_","createClientModuleProxy","__turbopack_context__","n","LinkComponent","useLinkStatus","isModifiedEvent","event","eventTarget","currentTarget","target","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","linkClicked","e","href","linkInstanceRef","replace","scroll","onNavigate","transitionTypes","window","nodeName","isAnchorNodeName","toUpperCase","hasAttribute","isLocalURL","preventDefault","location","isDefaultPrevented","dispatchNavigateAction","require","React","startTransition","ScrollBehavior","NoScroll","Default","current","formatStringOrUrl","urlObjOrString","formatUrl","props","linkStatus","setOptimisticLinkStatus","useOptimistic","IDLE_LINK_STATUS","children","useRef","hrefProp","as","asProp","childrenProp","prefetch","prefetchProp","passHref","shallow","onClick","onMouseEnter","onMouseEnterProp","onTouchStart","onTouchStartProp","legacyBehavior","ref","forwardedRef","unstable_dynamicOnHover","restProps","a","router","useContext","AppRouterContext","prefetchEnabled","fetchStrategy","getFetchStrategyFromPrefetchProp","FetchStrategy","PPR","process","env","NODE_ENV","createPropError","args","Error","expected","actual","requiredPropsGuard","requiredProps","keys","forEach","optionalPropsGuard","optionalProps","valType","Array","isArray","resolvedHref","formattedHref","locale","warnOnce","pathname","hasDynamicSegment","split","some","segment","startsWith","endsWith","child","$$typeof","Symbol","for","console","warn","Children","only","err","type","childRef","observeLinkVisibilityOnMount","useCallback","element","mountLinkInstance","unmountLinkForCurrentNavigation","unmountPrefetchableInstance","mergedRef","useMergedRef","childProps","defaultPrevented","upgradeToDynamicPrefetch","onNavigationIntent","__NEXT_LINK_NO_TOUCH_START","undefined","isAbsoluteUrl","addBasePath","link","errorOnce","cloneElement","LinkStatusContext","Provider","value","createContext","__NEXT_CACHE_COMPONENTS","Full","isLegacyBehavior","childIsHostComponent","childIsClientComponent","error","ClientLinkComponent","NotFound","className"],"mappings":"6CAEA,SAASA,EAAyBC,CAAW,EACzC,GAAuB,YAAnB,OAAOC,QAAwB,OAAO,KAE1C,IAAIC,EAAoB,IAAID,QACxBE,EAAmB,IAAIF,QAE3B,MAAO,CAACF,EAA2B,SAASC,CAAW,EACnD,OAAOA,EAAcG,EAAmBD,EAC5C,CAAC,CAAEF,EACP,CA0BAuB,EAAQC,CAAC,CAzBT,EAyBYpB,OAzBHA,AAA0BC,CAAG,CAAEL,CAAW,EAC/C,GAAI,CAACA,GAAeK,GAAOA,EAAIC,UAAU,CAAE,OAAOD,EAClD,GAAY,OAARA,GAA+B,UAAf,OAAOA,GAAmC,YAAf,OAAOA,EAAoB,MAAO,CAAEE,QAASF,CAAI,EAEhG,IAAIG,EAAQT,EAAyBC,GAErC,GAAIQ,GAASA,EAAMC,GAAG,CAACJ,GAAM,OAAOG,EAAME,GAAG,CAACL,GAE9C,IAAIM,EAAS,CAAEC,UAAW,IAAK,EAC3BC,EAAwBC,OAAOC,cAAc,EAAID,OAAOE,wBAAwB,CAEpF,IAAK,IAAIC,KAAOZ,EACZ,EADiB,CACL,YAARY,GAAqBH,OAAOI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACf,EAAKY,GAAM,CACrE,IAAII,EAAOR,EAAwBC,OAAOE,wBAAwB,CAACX,EAAKY,GAAO,KAC3EI,GAASA,GAAKX,EAAN,CAAS,EAAIW,EAAKC,GAAAA,AAAG,EAAGR,OAAOC,cAAc,CAACJ,EAAQM,EAAKI,GAClEV,CAAM,CAACM,EAAI,CAAGZ,CAAG,CAACY,EAAI,AAC/B,CAOJ,OAJAN,EAAOJ,OAAO,CAAGF,EAEbG,GAAOA,EAAMc,GAAG,CAACjB,EAAKM,GAEnBA,CACX,iBCnCA,GAAM,yBAAEc,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjCC,EAAsBC,CAAC,CAACF,EAAwB,iGAFhD,GAAM,yBAAEA,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,OAEjCC,EAAsBC,CAAC,CAACF,EAAwB,2MEAhD,OAyBC,CAAA,kBAzBuBG,GA2BCC,aAAa,CAAA,kBAAbA,EAAAA,aAAa,2GA7B6B,CAAA,CAAA,IAAA,IAEpD,SAASD,EACtB0C,CAAiD,EAEjD,IAAMkG,EAAmBlG,EAAMoB,cAAc,CACvC+E,EACsB,UAA1B,OAAOnG,EAAMK,QAAQ,EACK,UAA1B,OAAOL,EAAMK,QAAQ,EACoB,UAAzC,OAAQL,EAAMK,QAAQ,EAAUkE,KAC5B6B,EACHpG,EAAMK,QAAQ,EAAUkE,MAAMR,WAC/BC,OAAOC,GAAG,CAAC,0BAcb,OAZIiC,AAYJ,GAZyBC,GAAyBC,IAC3CpG,CAWP,CAXaK,QAAQ,AADG,EACOkE,KADkB,CACZR,EADqC,SACxBC,OAAOC,GAAG,CAAC,cACzDC,CADwE,OAChEmC,KAAK,CACX,CAAC,8NAGHnC,CAHkO,CAAC,MAG3NmC,KAAK,CACX,CAAC,2MAA2M,AAK3M,CAL4M,AAK5M,EAAA,EAAA,GAAA,EAACC,EAAAA,OAAmB,CAAA,CAAE,GAAGtG,CAAK,EACvC,gQC5BA,EAAA,EAAA,CAAA,CAAA,wBAEe,SAASuG,EACtB,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIC,UAAU,qFACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAGA,UAAU,kCAAyB,mBACvC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAEA,UAAU,iCAAwB,iDACrC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAI,CAAA,CACHlI,KAAK,IACLkI,UAAU,6HACX,wBAKP","ignoreList":[0,1,3]}
@@ -0,0 +1,3 @@
1
+ module.exports=[33354,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},50530,a=>{"use strict";var b=a.i(72131),c=a.i(37748),d=a.i(20498);a.s(["useSmartPolling",0,function(a,e={}){let{interval:f=5e3,sseFilter:g,enabled:h=!0,suppressSseRefetch:i=!1}=e,[j,k]=(0,b.useState)(null),[l,m]=(0,b.useState)(h&&!!a),[n,o]=(0,b.useState)(null),p=(0,b.useRef)(!0),q=(0,b.useRef)(g);q.current=g;let r=(0,b.useRef)(!1),s=(0,b.useRef)(null),t=(0,b.useRef)(null),u=(0,b.useRef)(null),v=(0,b.useRef)(i);v.current=i;let w=(0,b.useCallback)(async()=>{if(!a||!h)return;t.current?.abort(),t.current=new AbortController;let c=await (0,d.resilientFetch)(a,{signal:t.current.signal});if(!c.ok){if(c.error.isAborted)return;p.current&&(o(c.error.message),m(!1));return}p.current&&(304!==c.status&&(0,b.startTransition)(()=>{k(c.data)}),o(null),m(!1))},[a,h]);return(0,b.useEffect)(()=>(p.current=!0,h&&a)?(m(!0),w(),s.current&&clearInterval(s.current),s.current=setInterval(w,r.current?Math.max(3*f,15e3):f),()=>{p.current=!1,t.current?.abort(),s.current&&(clearInterval(s.current),s.current=null)}):void m(!1),[w,f,h,a]),(0,b.useEffect)(()=>{if(!h||!q.current)return;let a=(0,c.subscribe)(a=>{if("connected"===a.type){r.current||(r.current=!0,s.current&&clearInterval(s.current),s.current=setInterval(w,Math.max(3*f,15e3)));return}if("disconnect"===a.type||"error"===a.type){r.current&&(r.current=!1,s.current&&clearInterval(s.current),s.current=setInterval(w,f));return}if(q.current?.(a)){if(v.current)return;u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,w()},1500)}});return()=>{a(),r.current=!1,u.current&&(clearTimeout(u.current),u.current=null)}},[h,w,f]),{data:j,loading:l,error:n,refresh:w}}])},31141,a=>{"use strict";let b=(0,a.i(57703).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);a.s(["Clock",0,b],31141)},41749,70622,a=>{"use strict";var b=a.i(57703);let c=(0,b.default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,c],41749);let d=(0,b.default)("Pause",[["rect",{width:"4",height:"16",x:"6",y:"4",key:"iffhe4"}],["rect",{width:"4",height:"16",x:"14",y:"4",key:"sjin7j"}]]);a.s(["Pause",0,d],70622)}];
2
+
3
+ //# sourceMappingURL=_03sbc.o._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/%40swc/helpers/cjs/_interop_require_default.cjs","../../../../../../packages/observer-dashboard/src/hooks/use-smart-polling.ts","../../../../../../packages/observer-dashboard/node_modules/lucide-react/src/icons/clock.ts","../../../../../../packages/observer-dashboard/node_modules/lucide-react/src/icons/pause.ts","../../../../../../packages/observer-dashboard/node_modules/lucide-react/src/icons/refresh-cw.ts"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","\"use client\";\r\nimport { useState, useEffect, useRef, useCallback, startTransition } from \"react\";\r\nimport { subscribe, StreamEvent } from \"./use-event-stream\";\r\nimport { resilientFetch } from \"@/lib/fetcher\";\r\n\r\ninterface UseSmartPollingOptions {\r\n interval?: number;\r\n sseFilter?: (event: StreamEvent) => boolean;\r\n enabled?: boolean;\r\n /** When true, suppress SSE-triggered refetches (used during catch-up mode). */\r\n suppressSseRefetch?: boolean;\r\n}\r\n\r\nexport function useSmartPolling<T>(\r\n url: string,\r\n options: UseSmartPollingOptions = {}\r\n) {\r\n const { interval = 5000, sseFilter, enabled = true, suppressSseRefetch = false } = options;\r\n const [data, setData] = useState<T | null>(null);\r\n const [loading, setLoading] = useState(enabled && !!url);\r\n const [error, setError] = useState<string | null>(null);\r\n const mountedRef = useRef(true);\r\n const sseFilterRef = useRef(sseFilter);\r\n sseFilterRef.current = sseFilter;\r\n const sseConnected = useRef(false);\r\n const pollTimerRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n const abortRef = useRef<AbortController | null>(null);\r\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n const suppressSseRefetchRef = useRef(suppressSseRefetch);\r\n suppressSseRefetchRef.current = suppressSseRefetch;\r\n\r\n const fetchData = useCallback(async () => {\r\n if (!url || !enabled) return;\r\n abortRef.current?.abort();\r\n abortRef.current = new AbortController();\r\n const result = await resilientFetch<T>(url, { signal: abortRef.current.signal });\r\n if (!result.ok) {\r\n if (result.error.isAborted) return;\r\n if (mountedRef.current) {\r\n setError(result.error.message);\r\n setLoading(false);\r\n }\r\n return;\r\n }\r\n if (mountedRef.current) {\r\n // Skip state update on 304 Not Modified — data is identical to\r\n // what we already have, so avoid triggering a re-render cascade.\r\n if (result.status !== 304) {\r\n // Use startTransition so SSE-triggered data updates are treated as\r\n // non-urgent. This keeps the UI responsive during rapid bursts —\r\n // React can batch and defer these renders without blocking user input.\r\n startTransition(() => {\r\n setData(result.data);\r\n });\r\n }\r\n setError(null);\r\n setLoading(false);\r\n }\r\n }, [url, enabled]);\r\n\r\n // Polling: slower when SSE connected (30s heartbeat), normal interval when disconnected\r\n useEffect(() => {\r\n mountedRef.current = true;\r\n if (!enabled || !url) {\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n fetchData();\r\n\r\n // Start poll timer — use longer interval when SSE connected, normal when not\r\n function startPoll() {\r\n if (pollTimerRef.current) clearInterval(pollTimerRef.current);\r\n const pollInterval = sseConnected.current ? Math.max(interval * 3, 15000) : interval;\r\n pollTimerRef.current = setInterval(fetchData, pollInterval);\r\n }\r\n\r\n startPoll();\r\n\r\n return () => {\r\n mountedRef.current = false;\r\n abortRef.current?.abort();\r\n if (pollTimerRef.current) {\r\n clearInterval(pollTimerRef.current);\r\n pollTimerRef.current = null;\r\n }\r\n };\r\n }, [fetchData, interval, enabled, url]);\r\n\r\n // SSE subscription: triggers immediate refresh on matching events\r\n useEffect(() => {\r\n if (!enabled || !sseFilterRef.current) return;\r\n\r\n const unsubscribe = subscribe((event: StreamEvent) => {\r\n // Track SSE connection state\r\n if (event.type === \"connected\") {\r\n if (!sseConnected.current) {\r\n sseConnected.current = true;\r\n // Restart poll with longer interval since SSE is active\r\n if (pollTimerRef.current) clearInterval(pollTimerRef.current);\r\n const slowInterval = Math.max(interval * 3, 15000);\r\n pollTimerRef.current = setInterval(fetchData, slowInterval);\r\n }\r\n return;\r\n }\r\n\r\n // On SSE disconnect or error, reset to normal polling (no immediate fetch)\r\n if (event.type === \"disconnect\" || event.type === \"error\") {\r\n if (sseConnected.current) {\r\n sseConnected.current = false;\r\n if (pollTimerRef.current) clearInterval(pollTimerRef.current);\r\n pollTimerRef.current = setInterval(fetchData, interval);\r\n }\r\n return;\r\n }\r\n\r\n // Apply filter and trigger debounced refresh to coalesce rapid events.\r\n // Uses a 1500ms trailing-edge debounce (up from 150ms) to batch burst\r\n // updates that arrive in quick succession (e.g. after overnight runs).\r\n // When catch-up mode is active, SSE-triggered refetches are suppressed\r\n // entirely — the catch-up flush will trigger a single refresh instead.\r\n if (sseFilterRef.current?.(event)) {\r\n if (suppressSseRefetchRef.current) return;\r\n if (debounceTimerRef.current) clearTimeout(debounceTimerRef.current);\r\n debounceTimerRef.current = setTimeout(() => {\r\n debounceTimerRef.current = null;\r\n fetchData();\r\n }, 1500);\r\n }\r\n });\r\n\r\n return () => {\r\n unsubscribe();\r\n sseConnected.current = false;\r\n if (debounceTimerRef.current) {\r\n clearTimeout(debounceTimerRef.current);\r\n debounceTimerRef.current = null;\r\n }\r\n };\r\n }, [enabled, fetchData, interval]);\r\n\r\n return { data, loading, error, refresh: fetchData };\r\n}\r\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Clock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cG9seWxpbmUgcG9pbnRzPSIxMiA2IDEyIDEyIDE2IDE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clock\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Clock = createLucideIcon('Clock', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['polyline', { points: '12 6 12 12 16 14', key: '68esgv' }],\n]);\n\nexport default Clock;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Pause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIgeD0iNiIgeT0iNCIgLz4KICA8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIgeD0iMTQiIHk9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pause\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pause = createLucideIcon('Pause', [\n ['rect', { width: '4', height: '16', x: '6', y: '4', key: 'iffhe4' }],\n ['rect', { width: '4', height: '16', x: '14', y: '4', key: 'sjin7j' }],\n]);\n\nexport default Pause;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RefreshCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAwIDEgOS05IDkuNzUgOS43NSAwIDAgMSA2Ljc0IDIuNzRMMjEgOCIgLz4KICA8cGF0aCBkPSJNMjEgM3Y1aC01IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNiIgLz4KICA8cGF0aCBkPSJNOCAxNkgzdjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/refresh-cw\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst RefreshCw = createLucideIcon('RefreshCw', [\n ['path', { d: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8', key: 'v9h5vc' }],\n ['path', { d: 'M21 3v5h-5', key: '1q7to0' }],\n ['path', { d: 'M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16', key: '3uifl3' }],\n ['path', { d: 'M8 16H3v5', key: '1cv678' }],\n]);\n\nexport default RefreshCw;\n"],"names":["_interop_require_default","obj","__esModule","default","exports","_","useSmartPolling","url","options","interval","sseFilter","enabled","suppressSseRefetch","data","setData","loading","setLoading","error","setError","mountedRef","sseFilterRef","current","sseConnected","pollTimerRef","abortRef","debounceTimerRef","suppressSseRefetchRef","fetchData","abort","AbortController","result","signal","ok","isAborted","message","status","startPoll","clearInterval","pollInterval","Math","max","setInterval","unsubscribe","event","type","slowInterval","clearTimeout","setTimeout","refresh"],"mappings":"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","ignoreList":[0,2,3,4]}
@@ -0,0 +1,3 @@
1
+ module.exports=[32245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(41997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},7773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},97458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(87924),e=a.r(35112),f=a.r(56704),g=a.r(7773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let j=(0,h.getAssetTokenQuery)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${j}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},69853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(87924),e=a.r(72131),f=a.r(32245),g=a.r(97458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},19721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(33354)._(a.r(69853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},59080,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(19721),f=a.i(50530),g=a.i(14225),h=a.i(99549),i=a.i(33313),j=a.i(97313);function k({run:a}){if("completed"===a.status)return(0,b.jsx)("div",{"data-testid":"outcome-banner","data-status":"completed",className:"bg-success-muted border-b-2 border-success/30 px-5 py-4 shadow-glow-success",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-success",children:[(0,b.jsx)(h.CheckCircle2,{className:"h-5 w-5 shrink-0 drop-shadow-[var(--drop-glow-success)]"}),(0,b.jsxs)("span",{className:"text-base font-medium",children:["Completed in ",(0,j.formatDuration)(a.duration)]})]})});if("failed"===a.status){let c=a.tasks.find(a=>"error"===a.status),d=c?.label||a.failedStep||(a.failureMessage?"process error":"unknown step"),e=c?.error?.message||a.failureMessage||"An error occurred",f=e;if(e.startsWith("{")||e.startsWith("["))try{let a=JSON.parse(e);f=a.message||a.error||a.reason||e}catch{}return(0,b.jsx)("div",{"data-testid":"outcome-banner","data-status":"failed",className:"bg-error-muted border-b-2 border-error/30 px-5 py-4 shadow-glow-error",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-error",children:[(0,b.jsx)(i.XCircle,{className:"h-5 w-5 shrink-0 drop-shadow-[var(--drop-glow-error)]"}),(0,b.jsxs)("span",{className:"text-base font-medium",children:["Failed at step: ",d," — ",f]})]})})}return null}var l=a.i(31141),m=a.i(57703);let n=(0,m.default)("Percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]);var o=a.i(41749),p=a.i(77317),q=a.i(70622),r=a.i(77870);function s({icon:a,label:c,value:d,valueColor:e,testId:f}){return(0,b.jsxs)("div",{"data-testid":f,className:"bg-background-secondary/60 rounded-lg px-4 py-2.5 flex items-center gap-3",children:[(0,b.jsx)("div",{className:"text-foreground-muted",children:a}),(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-xs leading-tight text-foreground-muted uppercase tracking-wider font-medium",children:c}),(0,b.jsx)("span",{className:(0,r.cn)("text-lg font-semibold tabular-nums",e||"text-foreground"),children:d})]})]})}function t({run:a}){let c="completed"===a.status||"failed"===a.status,d="pending"===a.status,e="waiting"===a.status,f=a.totalTasks>0?Math.round(a.completedTasks/a.totalTasks*100):0,g=new Set(a.tasks.map(a=>a.invocationKey)).size,i=c?(0,j.formatDuration)(a.duration):(0,j.formatDuration)(a.duration)||"...",k=d?(0,b.jsx)(p.Loader2,{className:"h-4 w-4 animate-spin-smooth text-info drop-shadow-[var(--drop-glow-cyan)]"}):e?(0,b.jsx)(q.Pause,{className:"h-4 w-4 text-warning"}):(0,b.jsx)(l.Clock,{className:"h-4 w-4"});return(0,b.jsxs)("div",{"data-testid":"metrics-row",className:(0,r.cn)("flex items-center divide-x divide-primary/10 px-4 py-3 border-b border-border bg-background",(d||e)&&"opacity-90"),children:[(0,b.jsx)("div",{className:"flex items-center pr-3",children:(0,b.jsx)(s,{icon:k,label:"Total Duration",value:i,valueColor:d?"text-info":e?"text-warning":void 0,testId:"metric-total-duration"})}),(0,b.jsx)("div",{className:"flex items-center px-3",children:(0,b.jsx)(s,{icon:(0,b.jsx)(h.CheckCircle2,{className:"h-4 w-4"}),label:"Tasks",value:`${a.completedTasks}/${a.totalTasks}`,valueColor:"text-success",testId:"metric-tasks"})}),(0,b.jsx)("div",{className:"flex items-center px-3",children:(0,b.jsx)(s,{icon:(0,b.jsx)(n,{className:"h-4 w-4"}),label:"Success Rate",value:`${f}%`,valueColor:100===f?"text-success":f>=80?"text-foreground":f>=50?"text-warning":"text-error",testId:"metric-success-rate"})}),(0,b.jsx)("div",{className:"flex items-center pl-3",children:(0,b.jsx)(s,{icon:(0,b.jsx)(o.RefreshCw,{className:"h-4 w-4"}),label:"Iterations",value:String(g),testId:"metric-iterations"})})]})}var u=a.i(8538),v=a.i(35660);let w=(0,m.default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),x=(0,e.default)(async()=>{},{loadableGenerated:{modules:[31872]},ssr:!1,loading:function(){return(0,b.jsxs)("div",{className:"flex flex-col h-full animate-pulse p-4 space-y-3",children:[(0,b.jsx)("div",{className:"h-5 w-40 rounded bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"h-2 w-full rounded-full bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"space-y-2 mt-4",children:[1,2,3,4].map(a=>(0,b.jsx)("div",{className:"h-16 rounded-lg bg-foreground-muted/10"},a))})]})}}),y=(0,e.default)(async()=>{},{loadableGenerated:{modules:[29610]},ssr:!1,loading:function(){return(0,b.jsxs)("div",{className:"flex flex-col h-full animate-pulse p-3 space-y-2",children:[(0,b.jsx)("div",{className:"h-4 w-24 rounded bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"h-8 w-full rounded bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"space-y-1.5 mt-2",children:[1,2,3,4,5].map(a=>(0,b.jsx)("div",{className:"h-10 rounded bg-foreground-muted/10"},a))})]})}}),z=(0,e.default)(async()=>{},{loadableGenerated:{modules:[71601]},ssr:!1,loading:function(){return(0,b.jsxs)("div",{className:"flex flex-col h-full animate-pulse p-4 space-y-3",children:[(0,b.jsx)("div",{className:"h-8 w-full rounded bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"h-4 w-3/4 rounded bg-foreground-muted/10"}),(0,b.jsx)("div",{className:"h-4 w-1/2 rounded bg-foreground-muted/10"})]})}});a.s(["default",0,function({params:a}){let{runId:e}=a,h=(0,d.useRouter)(),{run:i,loading:j,error:l,hasBreakpointWaiting:m}=function(a){var b;let d=(0,c.useRef)(void 0),e=(void 0)??((b=d.current)&&("completed"===b||"failed"===b)?3e4:3e3),{data:g,loading:h,error:i,refresh:j}=(0,f.useSmartPolling)(`/api/runs/${a}?maxEvents=50`,{interval:e,sseFilter:b=>b.runId===a||(b.runIds?.includes(a)??!1)}),k=g?.run||null;k&&k.status!==d.current&&(d.current=k.status);let l=(0,c.useMemo)(()=>!!k&&k.tasks.some(a=>"breakpoint"===a.kind&&"requested"===a.status),[k]);return{run:k,loading:h,error:i,refresh:j,hasBreakpointWaiting:l}}(e),{notifications:n,dismiss:o,notify:q}=(0,u.useNotificationContext)(),[s,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(!0),[F,G]=(0,c.useState)("agent"),H=(0,c.useCallback)(a=>{A(a),C(!0);let b=i?.tasks.find(b=>b.effectId===a);b?.kind==="breakpoint"&&G("breakpoint")},[i?.tasks]),I=(0,c.useCallback)(a=>{let b=a.payload;b?.effectId&&H(b.effectId)},[H]),J=(0,c.useMemo)(()=>i?.tasks||[],[i?.tasks]),K=(0,c.useMemo)(()=>s&&J.find(a=>a.effectId===s)||null,[J,s]),L=(0,c.useCallback)(()=>{if(!J.length)return;let a=Math.min((s?J.findIndex(a=>a.effectId===s):-1)+1,J.length-1);H(J[a].effectId)},[J,s,H]),M=(0,c.useCallback)(()=>{if(!J.length)return;let a=Math.max((s?J.findIndex(a=>a.effectId===s):J.length)-1,0);H(J[a].effectId)},[J,s,H]),N=(0,c.useCallback)(()=>{B?(C(!1),A(null)):h.push("/")},[B,h]),O=(0,c.useCallback)(()=>{E(a=>!a)},[]),P=(0,c.useCallback)(()=>{s&&!B?C(!0):!s&&J.length>0&&H(J[0].effectId)},[s,B,J,H]),Q=(0,c.useCallback)(a=>{if(!B)return;let b={1:"agent",2:"timing",3:"logs",4:"data",5:"breakpoint"}[a];if(b){if("breakpoint"===b&&K?.kind!=="breakpoint")return;G(b)}},[K,B]);return((0,g.useKeyboard)([{key:"j",action:L,description:"Next item"},{key:"k",action:M,description:"Previous item"},{key:"Enter",action:P,description:"Open selected"},{key:"Escape",action:N,description:"Go back / Close"},{key:"e",action:O,description:"Toggle event stream"},{key:"1",action:()=>Q("1"),description:"Agent tab"},{key:"2",action:()=>Q("2"),description:"Timing tab"},{key:"3",action:()=>Q("3"),description:"Logs tab"},{key:"4",action:()=>Q("4"),description:"Data tab"},{key:"5",action:()=>Q("5"),description:"Approval tab"}]),j&&!i)?(0,b.jsx)("div",{className:"flex items-center justify-center flex-1",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-foreground-muted"})}):l||!i?(0,b.jsx)("div",{className:"flex items-center justify-center flex-1",children:(0,b.jsx)("div",{"data-testid":"run-error-message",className:"rounded-lg border border-error/20 bg-error-muted p-4 text-sm text-error",children:l||"Run not found"})}):(0,b.jsxs)("div",{className:"flex flex-col flex-1 bg-background",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2 border-b border-border bg-background-secondary/40",children:[(0,b.jsxs)("button",{onClick:()=>h.push("/"),className:"inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1 min-h-[44px] text-xs font-medium text-foreground-muted hover:text-foreground hover:border-primary/50 hover:shadow-neon-glow-primary-ring transition-all duration-200",children:[(0,b.jsx)(w,{className:"h-3.5 w-3.5"}),"Dashboard"]}),(0,b.jsx)("span",{className:"text-xs text-foreground-muted",children:"/"}),(0,b.jsxs)("span",{className:"text-xs font-mono text-foreground-secondary",children:[i.runId.slice(0,8),"..."]}),i.processId&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-xs text-foreground-muted",children:"/"}),(0,b.jsx)("span",{className:"text-xs text-foreground-secondary",children:i.processId})]})]}),(0,b.jsx)(k,{run:i}),(0,b.jsx)(t,{run:i}),(0,b.jsxs)("div",{className:"flex flex-col lg:flex-row flex-1 overflow-hidden",children:[(0,b.jsx)("div",{className:(0,r.cn)("border-b lg:border-b-0 lg:border-r border-border transition-panel bg-card/50 backdrop-blur-sm",B?"lg:w-[35%]":D?"lg:w-[60%]":"w-full"),children:(0,b.jsx)(x,{run:i,selectedEffectId:s,onSelectEffect:H,runStatus:i.status})}),B&&(0,b.jsxs)("div",{className:(0,r.cn)("border-b lg:border-b-0 lg:border-r border-border transition-panel bg-card/50 backdrop-blur-sm overflow-hidden flex flex-col",D?"lg:w-[30%]":"lg:w-[65%]"),children:[(0,b.jsxs)("div",{"data-testid":"task-detail-header",className:"flex items-center justify-between p-3 border-b border-border bg-background-secondary/40",children:[(0,b.jsx)("h3",{className:"text-xs font-medium text-foreground-muted uppercase tracking-wider",children:"Task Detail"}),(0,b.jsxs)("button",{"data-testid":"close-detail-btn",onClick:()=>{C(!1),A(null)},className:"inline-flex items-center gap-1.5 rounded-md border border-primary/20 px-2.5 py-1 min-h-[44px] text-xs font-medium text-foreground-muted hover:text-primary hover:border-primary/50 hover:shadow-neon-glow-primary-ring transition-all duration-200",children:[(0,b.jsx)(v.X,{className:"h-3.5 w-3.5"}),"Close"]})]}),(0,b.jsx)(z,{runId:e,effectId:s,activeTab:F,onTabChange:G,runDuration:i.duration,allTasks:i.tasks})]}),D&&(0,b.jsx)("div",{className:(0,r.cn)("transition-panel bg-card/50 backdrop-blur-sm",B?"lg:w-[35%]":"lg:w-[40%]"),children:(0,b.jsx)(y,{events:i.events,onEventClick:I})})]})]})}],59080)}];
2
+
3
+ //# sourceMappingURL=_04z5ea0._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/next/src/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.tsx","../../../../../../node_modules/next/src/shared/lib/encode-uri-path.ts","../../../../../../node_modules/next/src/shared/lib/lazy-dynamic/preload-chunks.tsx","../../../../../../node_modules/next/src/shared/lib/lazy-dynamic/loadable.tsx","../../../../../../node_modules/next/src/shared/lib/app-dynamic.tsx","../../../../../../packages/observer-dashboard/src/components/shared/outcome-banner.tsx","../../../../../../packages/observer-dashboard/src/components/shared/metrics-row.tsx","../../../../../../packages/observer-dashboard/src/hooks/use-run-detail.ts","../../../../../../packages/observer-dashboard/src/app/runs/%5BrunId%5D/page.tsx","../../../../../../packages/observer-dashboard/node_modules/lucide-react/src/icons/arrow-left.ts","../../../../../../packages/observer-dashboard/node_modules/lucide-react/src/icons/percent.ts"],"sourcesContent":["'use client'\n\nimport type { ReactElement } from 'react'\nimport { BailoutToCSRError } from './bailout-to-csr'\n\ninterface BailoutToCSRProps {\n reason: string\n children: ReactElement\n}\n\n/**\n * If rendered on the server, this component throws an error\n * to signal Next.js that it should bail out to client-side rendering instead.\n */\nexport function BailoutToCSR({ reason, children }: BailoutToCSRProps) {\n if (typeof window === 'undefined') {\n throw new BailoutToCSRError(reason)\n }\n\n return children\n}\n","export function encodeURIPath(file: string) {\n return file\n .split('/')\n .map((p) => encodeURIComponent(p))\n .join('/')\n}\n","'use client'\n\nimport { preload } from 'react-dom'\n\nimport { workAsyncStorage } from '../../../server/app-render/work-async-storage.external'\nimport { encodeURIPath } from '../encode-uri-path'\nimport { getAssetTokenQuery } from '../deployment-id'\n\nexport function PreloadChunks({\n moduleIds,\n}: {\n moduleIds: string[] | undefined\n}) {\n // Early return in client compilation and only load requestStore on server side\n if (typeof window !== 'undefined') {\n return null\n }\n\n const workStore = workAsyncStorage.getStore()\n if (workStore === undefined) {\n return null\n }\n\n const allFiles = []\n\n // Search the current dynamic call unique key id in react loadable manifest,\n // and find the corresponding CSS files to preload\n if (workStore.reactLoadableManifest && moduleIds) {\n const manifest = workStore.reactLoadableManifest\n for (const key of moduleIds) {\n if (!manifest[key]) continue\n const chunks = manifest[key].files\n allFiles.push(...chunks)\n }\n }\n\n if (allFiles.length === 0) {\n return null\n }\n\n const query = getAssetTokenQuery()\n\n return (\n <>\n {allFiles.map((chunk) => {\n const href = `${workStore.assetPrefix}/_next/${encodeURIPath(chunk)}${query}`\n const isCss = chunk.endsWith('.css')\n // If it's stylesheet we use `precedence` o help hoist with React Float.\n // For stylesheets we actually need to render the CSS because nothing else is going to do it so it needs to be part of the component tree.\n // The `preload` for stylesheet is not optional.\n if (isCss) {\n return (\n <link\n key={chunk}\n // @ts-ignore\n precedence=\"dynamic\"\n href={href}\n rel=\"stylesheet\"\n as=\"style\"\n nonce={workStore.nonce}\n />\n )\n } else {\n // If it's script we use ReactDOM.preload to preload the resources\n preload(href, {\n as: 'script',\n fetchPriority: 'low',\n nonce: workStore.nonce,\n })\n return null\n }\n })}\n </>\n )\n}\n","import { Suspense, Fragment, lazy } from 'react'\nimport { BailoutToCSR } from './dynamic-bailout-to-csr'\nimport type { ComponentModule } from './types'\nimport { PreloadChunks } from './preload-chunks'\n\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule<P>(\n mod: React.ComponentType<P> | ComponentModule<P> | undefined\n): {\n default: React.ComponentType<P>\n} {\n // Check \"default\" prop before accessing it, as it could be client reference proxy that could break it reference.\n // Cases:\n // mod: { default: Component }\n // mod: Component\n // mod: { default: proxy(Component) }\n // mod: proxy(Component)\n const hasDefault = mod && 'default' in mod\n return {\n default: hasDefault\n ? (mod as ComponentModule<P>).default\n : (mod as React.ComponentType<P>),\n }\n}\n\nconst defaultOptions = {\n loader: () => Promise.resolve(convertModule(() => null)),\n loading: null,\n ssr: true,\n}\n\ninterface LoadableOptions {\n loader?: () => Promise<React.ComponentType<any> | ComponentModule<any>>\n loading?: React.ComponentType<any> | null\n ssr?: boolean\n modules?: string[]\n}\n\nfunction Loadable(options: LoadableOptions) {\n const opts = { ...defaultOptions, ...options }\n const Lazy = lazy(() => opts.loader().then(convertModule))\n const Loading = opts.loading\n\n function LoadableComponent(props: any) {\n const fallbackElement = Loading ? (\n <Loading isLoading={true} pastDelay={true} error={null} />\n ) : null\n\n // If it's non-SSR or provided a loading component, wrap it in a suspense boundary\n const hasSuspenseBoundary = !opts.ssr || !!opts.loading\n const Wrap = hasSuspenseBoundary ? Suspense : Fragment\n const wrapProps = hasSuspenseBoundary ? { fallback: fallbackElement } : {}\n const children = opts.ssr ? (\n <>\n {/* During SSR, we need to preload the CSS from the dynamic component to avoid flash of unstyled content */}\n {typeof window === 'undefined' ? (\n <PreloadChunks moduleIds={opts.modules} />\n ) : null}\n <Lazy {...props} />\n </>\n ) : (\n <BailoutToCSR reason=\"next/dynamic\">\n <Lazy {...props} />\n </BailoutToCSR>\n )\n\n return <Wrap {...wrapProps}>{children}</Wrap>\n }\n\n LoadableComponent.displayName = 'LoadableComponent'\n\n return LoadableComponent\n}\n\nexport default Loadable\n","import type React from 'react'\nimport type { JSX } from 'react'\nimport Loadable from './lazy-dynamic/loadable'\n\nimport type {\n LoadableGeneratedOptions,\n DynamicOptionsLoadingProps,\n Loader,\n LoaderComponent,\n} from './lazy-dynamic/types'\n\nexport {\n type LoadableGeneratedOptions,\n type DynamicOptionsLoadingProps,\n type Loader,\n type LoaderComponent,\n}\n\nexport type DynamicOptions<P = {}> = LoadableGeneratedOptions & {\n loading?: () => JSX.Element | null\n loader?: Loader<P>\n loadableGenerated?: LoadableGeneratedOptions\n modules?: string[]\n ssr?: boolean\n}\n\nexport type LoadableOptions<P = {}> = DynamicOptions<P>\n\nexport type LoadableFn<P = {}> = (\n opts: LoadableOptions<P>\n) => React.ComponentType<P>\n\nexport type LoadableComponent<P = {}> = React.ComponentType<P>\n\nexport default function dynamic<P = {}>(\n dynamicOptions: DynamicOptions<P> | Loader<P>,\n options?: DynamicOptions<P>\n): React.ComponentType<P> {\n const loadableOptions: LoadableOptions<P> = {}\n\n if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions\n }\n\n const mergedOptions = {\n ...loadableOptions,\n ...options,\n }\n\n return Loadable({\n ...mergedOptions,\n modules: mergedOptions.loadableGenerated?.modules,\n })\n}\n","import { CheckCircle2, XCircle } from \"lucide-react\";\r\nimport { formatDuration } from \"@/lib/utils\";\r\nimport type { Run } from \"@/types\";\r\n\r\ninterface OutcomeBannerProps {\r\n run: Run;\r\n}\r\n\r\nexport function OutcomeBanner({ run }: OutcomeBannerProps) {\r\n if (run.status === \"completed\") {\r\n return (\r\n <div data-testid=\"outcome-banner\" data-status=\"completed\" className=\"bg-success-muted border-b-2 border-success/30 px-5 py-4 shadow-glow-success\">\r\n <div className=\"flex items-center gap-3 text-success\">\r\n <CheckCircle2 className=\"h-5 w-5 shrink-0 drop-shadow-[var(--drop-glow-success)]\" />\r\n <span className=\"text-base font-medium\">\r\n Completed in {formatDuration(run.duration)}\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n if (run.status === \"failed\") {\r\n const failedTask = run.tasks.find((t) => t.status === \"error\");\r\n\r\n // Determine step name: prefer task-level label, then run-level failedStep, then \"process error\" for run-level failures\r\n const stepName = failedTask?.label || run.failedStep || (run.failureMessage ? \"process error\" : \"unknown step\");\r\n\r\n // Determine error message: prefer task-level error, then run-level failure message from RUN_FAILED event\r\n const rawErrorMessage = failedTask?.error?.message || run.failureMessage || \"An error occurred\";\r\n\r\n // Format the error message — if it looks like JSON, try to extract the most relevant part\r\n let errorMessage = rawErrorMessage;\r\n if (rawErrorMessage.startsWith(\"{\") || rawErrorMessage.startsWith(\"[\")) {\r\n try {\r\n const parsed = JSON.parse(rawErrorMessage);\r\n errorMessage = parsed.message || parsed.error || parsed.reason || rawErrorMessage;\r\n } catch {\r\n // Not valid JSON, use as-is\r\n }\r\n }\r\n\r\n return (\r\n <div data-testid=\"outcome-banner\" data-status=\"failed\" className=\"bg-error-muted border-b-2 border-error/30 px-5 py-4 shadow-glow-error\">\r\n <div className=\"flex items-center gap-3 text-error\">\r\n <XCircle className=\"h-5 w-5 shrink-0 drop-shadow-[var(--drop-glow-error)]\" />\r\n <span className=\"text-base font-medium\">\r\n Failed at step: {stepName} &mdash; {errorMessage}\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return null;\r\n}\r\n","import { Clock, CheckCircle2, Percent, RefreshCw, Loader2, Pause } from \"lucide-react\";\nimport { cn } from \"@/lib/cn\";\nimport { formatDuration } from \"@/lib/utils\";\nimport type { Run } from \"@/types\";\n\ninterface MetricsRowProps {\n run: Run;\n}\n\ninterface MetricCardProps {\n icon: React.ReactNode;\n label: string;\n value: string;\n valueColor?: string;\n testId?: string;\n}\n\nfunction MetricCard({ icon, label, value, valueColor, testId }: MetricCardProps) {\n return (\n <div data-testid={testId} className=\"bg-background-secondary/60 rounded-lg px-4 py-2.5 flex items-center gap-3\">\n <div className=\"text-foreground-muted\">{icon}</div>\n <div className=\"flex flex-col\">\n <span className=\"text-xs leading-tight text-foreground-muted uppercase tracking-wider font-medium\">{label}</span>\n <span className={cn(\"text-lg font-semibold tabular-nums\", valueColor || \"text-foreground\")}>{value}</span>\n </div>\n </div>\n );\n}\n\nexport function MetricsRow({ run }: MetricsRowProps) {\n const isTerminal = run.status === \"completed\" || run.status === \"failed\";\n const isRunning = run.status === \"pending\";\n const isWaiting = run.status === \"waiting\";\n\n const successRate =\n run.totalTasks > 0\n ? Math.round((run.completedTasks / run.totalTasks) * 100)\n : 0;\n\n // Count unique iterations from invocationKeys\n const iterationKeys = new Set(run.tasks.map((t) => t.invocationKey));\n const iterationCount = iterationKeys.size;\n\n // Semantic color for success rate (neon palette)\n const successRateColor = successRate === 100\n ? \"text-success\"\n : successRate >= 80\n ? \"text-foreground\"\n : successRate >= 50\n ? \"text-warning\"\n : \"text-error\";\n\n // Duration display and color\n const durationValue = isTerminal ? formatDuration(run.duration) : formatDuration(run.duration) || \"...\";\n const durationColor = isRunning ? \"text-info\" : isWaiting ? \"text-warning\" : undefined;\n\n // Status-specific icon for duration\n const durationIcon = isRunning\n ? <Loader2 className=\"h-4 w-4 animate-spin-smooth text-info drop-shadow-[var(--drop-glow-cyan)]\" />\n : isWaiting\n ? <Pause className=\"h-4 w-4 text-warning\" />\n : <Clock className=\"h-4 w-4\" />;\n\n return (\n <div data-testid=\"metrics-row\" className={cn(\n \"flex items-center divide-x divide-primary/10 px-4 py-3 border-b border-border bg-background\",\n (isRunning || isWaiting) && \"opacity-90\"\n )}>\n <div className=\"flex items-center pr-3\">\n <MetricCard\n icon={durationIcon}\n label=\"Total Duration\"\n value={durationValue}\n valueColor={durationColor}\n testId=\"metric-total-duration\"\n />\n </div>\n <div className=\"flex items-center px-3\">\n <MetricCard\n icon={<CheckCircle2 className=\"h-4 w-4\" />}\n label=\"Tasks\"\n value={`${run.completedTasks}/${run.totalTasks}`}\n valueColor=\"text-success\"\n testId=\"metric-tasks\"\n />\n </div>\n <div className=\"flex items-center px-3\">\n <MetricCard\n icon={<Percent className=\"h-4 w-4\" />}\n label=\"Success Rate\"\n value={`${successRate}%`}\n valueColor={successRateColor}\n testId=\"metric-success-rate\"\n />\n </div>\n <div className=\"flex items-center pl-3\">\n <MetricCard\n icon={<RefreshCw className=\"h-4 w-4\" />}\n label=\"Iterations\"\n value={String(iterationCount)}\n testId=\"metric-iterations\"\n />\n </div>\n </div>\n );\n}\n","\"use client\";\nimport { useMemo, useRef } from \"react\";\nimport { useSmartPolling } from \"./use-smart-polling\";\nimport type { RunDetailResponse, TaskDetailResponse, RunStatus } from \"@/types\";\n\n// Poll intervals by run status:\n// - Active/waiting runs change frequently, poll every 3s\n// - Completed/failed runs are static, poll every 30s (just in case of late events)\nconst POLL_ACTIVE = 3000;\nconst POLL_COMPLETED = 30000;\n\nfunction getIntervalForStatus(status: RunStatus | undefined): number {\n if (!status) return POLL_ACTIVE;\n return status === \"completed\" || status === \"failed\"\n ? POLL_COMPLETED\n : POLL_ACTIVE;\n}\n\nexport function useRunDetail(runId: string, intervalOverride?: number) {\n // Track last known run status to adapt poll interval.\n // useRef avoids triggering re-render; the interval change takes effect\n // on the next useSmartPolling dependency cycle.\n const lastStatusRef = useRef<RunStatus | undefined>(undefined);\n\n const adaptiveInterval = intervalOverride ?? getIntervalForStatus(lastStatusRef.current);\n\n const { data, loading, error, refresh } = useSmartPolling<RunDetailResponse>(\n `/api/runs/${runId}?maxEvents=50`,\n {\n interval: adaptiveInterval,\n sseFilter: (event) =>\n event.runId === runId || (event.runIds?.includes(runId) ?? false)\n }\n );\n\n const run = data?.run || null;\n\n // Update status ref so next render picks up the adaptive interval.\n // When status transitions (e.g. \"waiting\" -> \"completed\"), the interval\n // changes from 3s to 30s, and useSmartPolling restarts its timer.\n if (run && run.status !== lastStatusRef.current) {\n lastStatusRef.current = run.status;\n }\n\n // Detect if any breakpoint tasks are waiting for approval\n const hasBreakpointWaiting = useMemo(() => {\n if (!run) return false;\n return run.tasks.some(\n (t) => t.kind === \"breakpoint\" && t.status === \"requested\"\n );\n }, [run]);\n\n return {\n run,\n loading,\n error,\n refresh,\n hasBreakpointWaiting,\n };\n}\n\nexport function useTaskDetail(runId: string, effectId: string | null) {\n const { data, loading, error } = useSmartPolling<TaskDetailResponse>(\n effectId ? `/api/runs/${runId}/tasks/${effectId}` : \"\",\n {\n enabled: !!effectId,\n interval: 5000,\n sseFilter: (event) =>\n event.runId === runId || (event.runIds?.includes(runId) ?? false),\n }\n );\n return {\n task: data?.task || null,\n loading,\n error,\n };\n}\n","\"use client\";\r\nimport { useState, useCallback, useMemo } from \"react\";\r\nimport { useRouter } from \"next/navigation\";\r\nimport dynamic from \"next/dynamic\";\r\nimport { useRunDetail } from \"@/hooks/use-run-detail\";\r\nimport { useKeyboard } from \"@/hooks/use-keyboard\";\r\nimport { OutcomeBanner } from \"@/components/shared/outcome-banner\";\r\nimport { MetricsRow } from \"@/components/shared/metrics-row\";\r\nimport { useNotificationContext } from \"@/components/notifications/notification-provider\";\r\nimport { cn } from \"@/lib/cn\";\r\nimport { Loader2, X, ArrowLeft } from \"lucide-react\";\r\nimport type { JournalEvent, EffectRequestedPayload } from \"@/types\";\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Loading skeletons for lazy-loaded route panels */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nfunction PipelineSkeleton() {\r\n return (\r\n <div className=\"flex flex-col h-full animate-pulse p-4 space-y-3\">\r\n <div className=\"h-5 w-40 rounded bg-foreground-muted/10\" />\r\n <div className=\"h-2 w-full rounded-full bg-foreground-muted/10\" />\r\n <div className=\"space-y-2 mt-4\">\r\n {[1, 2, 3, 4].map((i) => (\r\n <div key={i} className=\"h-16 rounded-lg bg-foreground-muted/10\" />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction EventStreamSkeleton() {\r\n return (\r\n <div className=\"flex flex-col h-full animate-pulse p-3 space-y-2\">\r\n <div className=\"h-4 w-24 rounded bg-foreground-muted/10\" />\r\n <div className=\"h-8 w-full rounded bg-foreground-muted/10\" />\r\n <div className=\"space-y-1.5 mt-2\">\r\n {[1, 2, 3, 4, 5].map((i) => (\r\n <div key={i} className=\"h-10 rounded bg-foreground-muted/10\" />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction DetailPanelSkeleton() {\r\n return (\r\n <div className=\"flex flex-col h-full animate-pulse p-4 space-y-3\">\r\n <div className=\"h-8 w-full rounded bg-foreground-muted/10\" />\r\n <div className=\"h-4 w-3/4 rounded bg-foreground-muted/10\" />\r\n <div className=\"h-4 w-1/2 rounded bg-foreground-muted/10\" />\r\n </div>\r\n );\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Lazy-loaded heavy route panels */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst PipelineView = dynamic(\r\n () => import(\"@/components/pipeline/pipeline-view\").then((mod) => ({ default: mod.PipelineView })),\r\n { ssr: false, loading: PipelineSkeleton }\r\n);\r\n\r\nconst EventStream = dynamic(\r\n () => import(\"@/components/events/event-stream\").then((mod) => ({ default: mod.EventStream })),\r\n { ssr: false, loading: EventStreamSkeleton }\r\n);\r\n\r\nconst TaskDetailPanel = dynamic(\r\n () => import(\"@/components/details/task-detail\").then((mod) => ({ default: mod.TaskDetailPanel })),\r\n { ssr: false, loading: DetailPanelSkeleton }\r\n);\r\n\r\nexport default function RunDetailPage({ params }: { params: { runId: string } }) {\r\n const { runId } = params;\r\n const router = useRouter();\r\n const { run, loading, error, hasBreakpointWaiting: _hasBreakpointWaiting } = useRunDetail(runId);\r\n const { notifications: _notifications, dismiss: _dismiss, notify: _notify } = useNotificationContext();\r\n const [selectedEffectId, setSelectedEffectId] = useState<string | null>(null);\r\n const [showDetail, setShowDetail] = useState(false);\r\n const [showEventStream, setShowEventStream] = useState(true);\r\n const [activeTab, setActiveTab] = useState(\"agent\");\r\n\r\n const handleSelectEffect = useCallback((effectId: string) => {\r\n setSelectedEffectId(effectId);\r\n setShowDetail(true);\r\n\r\n // Auto-switch to breakpoint tab when selecting a breakpoint task\r\n const task = run?.tasks.find((t) => t.effectId === effectId);\r\n if (task?.kind === \"breakpoint\") {\r\n setActiveTab(\"breakpoint\");\r\n }\r\n }, [run?.tasks]);\r\n\r\n const handleEventClick = useCallback((event: JournalEvent) => {\r\n const payload = event.payload as unknown as EffectRequestedPayload;\r\n if (payload?.effectId) {\r\n handleSelectEffect(payload.effectId);\r\n }\r\n }, [handleSelectEffect]);\r\n\r\n const tasks = useMemo(() => run?.tasks || [], [run?.tasks]);\r\n\r\n // Determine if the currently selected task is a waiting breakpoint\r\n const selectedTask = useMemo(() => {\r\n if (!selectedEffectId) return null;\r\n return tasks.find((t) => t.effectId === selectedEffectId) || null;\r\n }, [tasks, selectedEffectId]);\r\n\r\n const moveDown = useCallback(() => {\r\n if (!tasks.length) return;\r\n const currentIdx = selectedEffectId\r\n ? tasks.findIndex((t) => t.effectId === selectedEffectId)\r\n : -1;\r\n const nextIdx = Math.min(currentIdx + 1, tasks.length - 1);\r\n handleSelectEffect(tasks[nextIdx].effectId);\r\n }, [tasks, selectedEffectId, handleSelectEffect]);\r\n\r\n const moveUp = useCallback(() => {\r\n if (!tasks.length) return;\r\n const currentIdx = selectedEffectId\r\n ? tasks.findIndex((t) => t.effectId === selectedEffectId)\r\n : tasks.length;\r\n const prevIdx = Math.max(currentIdx - 1, 0);\r\n handleSelectEffect(tasks[prevIdx].effectId);\r\n }, [tasks, selectedEffectId, handleSelectEffect]);\r\n\r\n const goBack = useCallback(() => {\r\n if (showDetail) {\r\n setShowDetail(false);\r\n setSelectedEffectId(null);\r\n } else {\r\n router.push(\"/\");\r\n }\r\n }, [showDetail, router]);\r\n\r\n const toggleEventStream = useCallback(() => {\r\n setShowEventStream((v) => !v);\r\n }, []);\r\n\r\n const openSelected = useCallback(() => {\r\n if (selectedEffectId && !showDetail) {\r\n setShowDetail(true);\r\n } else if (!selectedEffectId && tasks.length > 0) {\r\n handleSelectEffect(tasks[0].effectId);\r\n }\r\n }, [selectedEffectId, showDetail, tasks, handleSelectEffect]);\r\n\r\n const switchTab = useCallback((key: string) => {\r\n if (!showDetail) return;\r\n const tabKeys: Record<string, string> = {\r\n \"1\": \"agent\",\r\n \"2\": \"timing\",\r\n \"3\": \"logs\",\r\n \"4\": \"data\",\r\n \"5\": \"breakpoint\",\r\n };\r\n const tab = tabKeys[key];\r\n if (tab) {\r\n if (tab === \"breakpoint\" && selectedTask?.kind !== \"breakpoint\") return;\r\n setActiveTab(tab);\r\n }\r\n }, [selectedTask, showDetail]);\r\n\r\n useKeyboard([\r\n { key: \"j\", action: moveDown, description: \"Next item\" },\r\n { key: \"k\", action: moveUp, description: \"Previous item\" },\r\n { key: \"Enter\", action: openSelected, description: \"Open selected\" },\r\n { key: \"Escape\", action: goBack, description: \"Go back / Close\" },\r\n { key: \"e\", action: toggleEventStream, description: \"Toggle event stream\" },\r\n { key: \"1\", action: () => switchTab(\"1\"), description: \"Agent tab\" },\r\n { key: \"2\", action: () => switchTab(\"2\"), description: \"Timing tab\" },\r\n { key: \"3\", action: () => switchTab(\"3\"), description: \"Logs tab\" },\r\n { key: \"4\", action: () => switchTab(\"4\"), description: \"Data tab\" },\r\n { key: \"5\", action: () => switchTab(\"5\"), description: \"Approval tab\" },\r\n ]);\r\n\r\n if (loading && !run) {\r\n return (\r\n <div className=\"flex items-center justify-center flex-1\">\r\n <Loader2 className=\"h-6 w-6 animate-spin text-foreground-muted\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (error || !run) {\r\n return (\r\n <div className=\"flex items-center justify-center flex-1\">\r\n <div data-testid=\"run-error-message\" className=\"rounded-lg border border-error/20 bg-error-muted p-4 text-sm text-error\">\r\n {error || \"Run not found\"}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"flex flex-col flex-1 bg-background\">\r\n {/* Navigation header with back button */}\r\n <div className=\"flex items-center gap-3 px-4 py-2 border-b border-border bg-background-secondary/40\">\r\n <button\r\n onClick={() => router.push(\"/\")}\r\n className=\"inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1 min-h-[44px] text-xs font-medium text-foreground-muted hover:text-foreground hover:border-primary/50 hover:shadow-neon-glow-primary-ring transition-all duration-200\"\r\n >\r\n <ArrowLeft className=\"h-3.5 w-3.5\" />\r\n Dashboard\r\n </button>\r\n <span className=\"text-xs text-foreground-muted\">/</span>\r\n <span className=\"text-xs font-mono text-foreground-secondary\">{run.runId.slice(0, 8)}...</span>\r\n {run.processId && (\r\n <>\r\n <span className=\"text-xs text-foreground-muted\">/</span>\r\n <span className=\"text-xs text-foreground-secondary\">{run.processId}</span>\r\n </>\r\n )}\r\n </div>\r\n\r\n {/* Outcome Banner - Top of page */}\r\n <OutcomeBanner run={run} />\r\n\r\n {/* Metrics Row - Summary stats for all run statuses */}\r\n <MetricsRow run={run} />\r\n\r\n <div className=\"flex flex-col lg:flex-row flex-1 overflow-hidden\">\r\n {/* Pipeline - Left panel */}\r\n <div className={cn(\r\n \"border-b lg:border-b-0 lg:border-r border-border transition-panel bg-card/50 backdrop-blur-sm\",\r\n showDetail ? \"lg:w-[35%]\" : showEventStream ? \"lg:w-[60%]\" : \"w-full\",\r\n )}>\r\n <PipelineView\r\n run={run}\r\n selectedEffectId={selectedEffectId}\r\n onSelectEffect={handleSelectEffect}\r\n runStatus={run.status}\r\n />\r\n </div>\r\n\r\n {/* Task Detail - Center panel (shown when task selected) */}\r\n {showDetail && (\r\n <div className={cn(\r\n \"border-b lg:border-b-0 lg:border-r border-border transition-panel bg-card/50 backdrop-blur-sm overflow-hidden flex flex-col\",\r\n showEventStream ? \"lg:w-[30%]\" : \"lg:w-[65%]\",\r\n )}>\r\n <div data-testid=\"task-detail-header\" className=\"flex items-center justify-between p-3 border-b border-border bg-background-secondary/40\">\r\n <h3 className=\"text-xs font-medium text-foreground-muted uppercase tracking-wider\">Task Detail</h3>\r\n <button\r\n data-testid=\"close-detail-btn\"\r\n onClick={() => { setShowDetail(false); setSelectedEffectId(null); }}\r\n className=\"inline-flex items-center gap-1.5 rounded-md border border-primary/20 px-2.5 py-1 min-h-[44px] text-xs font-medium text-foreground-muted hover:text-primary hover:border-primary/50 hover:shadow-neon-glow-primary-ring transition-all duration-200\"\r\n >\r\n <X className=\"h-3.5 w-3.5\" />\r\n Close\r\n </button>\r\n </div>\r\n <TaskDetailPanel\r\n runId={runId}\r\n effectId={selectedEffectId}\r\n activeTab={activeTab}\r\n onTabChange={setActiveTab}\r\n runDuration={run.duration}\r\n allTasks={run.tasks}\r\n />\r\n </div>\r\n )}\r\n\r\n {/* Event Stream - Right panel */}\r\n {showEventStream && (\r\n <div className={cn(\r\n \"transition-panel bg-card/50 backdrop-blur-sm\",\r\n showDetail ? \"lg:w-[35%]\" : \"lg:w-[40%]\",\r\n )}>\r\n <EventStream events={run.events} onEventClick={handleEventClick} />\r\n </div>\r\n )}\r\n </div>\r\n\r\n </div>\r\n );\r\n}\r\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTktNy03IDctNyIgLz4KICA8cGF0aCBkPSJNMTkgMTJINSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowLeft = createLucideIcon('ArrowLeft', [\n ['path', { d: 'm12 19-7-7 7-7', key: '1l729n' }],\n ['path', { d: 'M19 12H5', key: 'x3x0zl' }],\n]);\n\nexport default ArrowLeft;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Percent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTkiIHgyPSI1IiB5MT0iNSIgeTI9IjE5IiAvPgogIDxjaXJjbGUgY3g9IjYuNSIgY3k9IjYuNSIgcj0iMi41IiAvPgogIDxjaXJjbGUgY3g9IjE3LjUiIGN5PSIxNy41IiByPSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/percent\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Percent = createLucideIcon('Percent', [\n ['line', { x1: '19', x2: '5', y1: '5', y2: '19', key: '1x9vlm' }],\n ['circle', { cx: '6.5', cy: '6.5', r: '2.5', key: '4mh3h7' }],\n ['circle', { cx: '17.5', cy: '17.5', r: '2.5', key: '1mdrzq' }],\n]);\n\nexport default Percent;\n"],"names":["BailoutToCSR","reason","children","window","BailoutToCSRError","encodeURIPath","file","split","map","p","encodeURIComponent","join","PreloadChunks","moduleIds","workStore","workAsyncStorage","getStore","undefined","allFiles","reactLoadableManifest","manifest","key","chunks","files","push","length","query","getAssetTokenQuery","chunk","href","assetPrefix","isCss","endsWith","link","precedence","rel","as","nonce","preload","fetchPriority","convertModule","mod","hasDefault","default","defaultOptions","loader","Promise","resolve","loading","ssr","Loadable","options","opts","Lazy","lazy","then","Loading","LoadableComponent","props","fallbackElement","isLoading","pastDelay","error","hasSuspenseBoundary","Wrap","Suspense","Fragment","wrapProps","fallback","modules","displayName","dynamic","dynamicOptions","loadableOptions","mergedOptions","loadableGenerated","POLL_ACTIVE","POLL_COMPLETED","getIntervalForStatus","status","useRunDetail","runId","intervalOverride","lastStatusRef","adaptiveInterval","event","current","data","refresh","interval","sseFilter","runIds","includes","run","hasBreakpointWaiting","t","tasks","some","kind","useTaskDetail","effectId","enabled","task"],"mappings":"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","ignoreList":[0,1,2,3,4,9,10]}
@@ -0,0 +1,3 @@
1
+ module.exports=[7554,70121,50104,a=>{"use strict";a.s(["composeEventHandlers",0,function(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}],7554);var b=a.i(72131);function c(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function d(...a){return b=>{let d=!1,e=a.map(a=>{let e=c(a,b);return d||"function"!=typeof e||(d=!0),e});if(d)return()=>{for(let b=0;b<e.length;b++){let d=e[b];"function"==typeof d?d():c(a[b],null)}}}}a.s(["composeRefs",0,d,"useComposedRefs",0,function(...a){return b.useCallback(d(...a),a)}],70121);var e=a.i(87924);a.s(["createContext",0,function(a,c){let d=b.createContext(c),f=a=>{let{children:c,...f}=a,g=b.useMemo(()=>f,Object.values(f));return(0,e.jsx)(d.Provider,{value:g,children:c})};return f.displayName=a+"Provider",[f,function(e){let f=b.useContext(d);if(f)return f;if(void 0!==c)return c;throw Error(`\`${e}\` must be used within \`${a}\``)}]},"createContextScope",0,function(a,c=[]){let d=[],f=()=>{let c=d.map(a=>b.createContext(a));return function(d){let e=d?.[a]||c;return b.useMemo(()=>({[`__scope${a}`]:{...d,[a]:e}}),[d,e])}};return f.scopeName=a,[function(c,f){let g=b.createContext(f),h=d.length;d=[...d,f];let i=c=>{let{scope:d,children:f,...i}=c,j=d?.[a]?.[h]||g,k=b.useMemo(()=>i,Object.values(i));return(0,e.jsx)(j.Provider,{value:k,children:f})};return i.displayName=c+"Provider",[i,function(d,e){let i=e?.[a]?.[h]||g,j=b.useContext(i);if(j)return j;if(void 0!==f)return f;throw Error(`\`${d}\` must be used within \`${c}\``)}]},function(...a){let c=a[0];if(1===a.length)return c;let d=()=>{let d=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let e=d.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return b.useMemo(()=>({[`__scope${c.scopeName}`]:e}),[e])}};return d.scopeName=c.scopeName,d}(f,...c)]}],50104)},92843,72752,a=>{"use strict";var b=a.i(72131),c=globalThis?.document?b.useLayoutEffect:()=>{};a.s(["useLayoutEffect",0,c],72752);var d=b[" useId ".trim().toString()]||(()=>void 0),e=0;a.s(["useId",0,function(a){let[f,g]=b.useState(d());return c(()=>{a||g(a=>a??String(e++))},[a]),a||(f?`radix-${f}`:"")}],92843)},25152,a=>{"use strict";var b=a.i(72131),c=a.i(72752);b[" useEffectEvent ".trim().toString()],b[" useInsertionEffect ".trim().toString()];var d=b[" useInsertionEffect ".trim().toString()]||c.useLayoutEffect;Symbol("RADIX:SYNC_STATE"),a.s(["useControllableState",0,function({prop:a,defaultProp:c,onChange:e=()=>{},caller:f}){let[g,h,i]=function({defaultProp:a,onChange:c}){let[e,f]=b.useState(a),g=b.useRef(e),h=b.useRef(c);return d(()=>{h.current=c},[c]),b.useEffect(()=>{g.current!==e&&(h.current?.(e),g.current=e)},[e,g]),[e,f,h]}({defaultProp:c,onChange:e}),j=void 0!==a,k=j?a:g;{let c=b.useRef(void 0!==a);b.useEffect(()=>{let a=c.current;if(a!==j){let b=j?"controlled":"uncontrolled";console.warn(`${f} is changing from ${a?"controlled":"uncontrolled"} to ${b}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}c.current=j},[j,f])}return[k,b.useCallback(b=>{if(j){let c="function"==typeof b?b(a):b;c!==a&&i.current?.(c)}else h(b)},[j,a,h,i])]}],25152)},96743,30553,46872,a=>{"use strict";var b,c=a.i(72131),d=a.i(7554),e=a.i(35112),f=a.i(70121),g=a.i(87924),h=Symbol("radix.slottable");function i(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===h}var j=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{var d,e;let h,j,k,l=(e=d=`Primitive.${b}`,(h=c.forwardRef((a,b)=>{let{children:d,...e}=a;if(c.isValidElement(d)){var g;let a,h,i=(g=d,(h=(a=Object.getOwnPropertyDescriptor(g.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.ref:(h=(a=Object.getOwnPropertyDescriptor(g,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.props.ref:g.props.ref||g.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(e,d.props);return d.type!==c.Fragment&&(j.ref=b?(0,f.composeRefs)(b,i):i),c.cloneElement(d,j)}return c.Children.count(d)>1?c.Children.only(null):null})).displayName=`${e}.SlotClone`,j=h,(k=c.forwardRef((a,b)=>{let{children:d,...e}=a,f=c.Children.toArray(d),h=f.find(i);if(h){let a=h.props.children,d=f.map(b=>b!==h?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,g.jsx)(j,{...e,ref:b,children:c.isValidElement(a)?c.cloneElement(a,void 0,d):null})}return(0,g.jsx)(j,{...e,ref:b,children:d})})).displayName=`${d}.Slot`,k),m=c.forwardRef((a,c)=>{let{asChild:d,...e}=a;return(0,g.jsx)(d?l:b,{...e,ref:c})});return m.displayName=`Primitive.${b}`,{...a,[b]:m}},{});function k(a,b){a&&e.flushSync(()=>a.dispatchEvent(b))}function l(a){let b=c.useRef(a);return c.useEffect(()=>{b.current=a}),c.useMemo(()=>(...a)=>b.current?.(...a),[])}a.s(["Primitive",0,j,"dispatchDiscreteCustomEvent",0,k],30553),a.s(["useCallbackRef",0,l],46872);var m="dismissableLayer.update",n=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),o=c.forwardRef((a,e)=>{let{disableOutsidePointerEvents:h=!1,onEscapeKeyDown:i,onPointerDownOutside:k,onFocusOutside:o,onInteractOutside:r,onDismiss:s,...t}=a,u=c.useContext(n),[v,w]=c.useState(null),x=v?.ownerDocument??globalThis?.document,[,y]=c.useState({}),z=(0,f.useComposedRefs)(e,a=>w(a)),A=Array.from(u.layers),[B]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),C=A.indexOf(B),D=v?A.indexOf(v):-1,E=u.layersWithOutsidePointerEventsDisabled.size>0,F=D>=C,G=function(a,b=globalThis?.document){let d=l(a),e=c.useRef(!1),f=c.useRef(()=>{});return c.useEffect(()=>{let a=a=>{if(a.target&&!e.current){let c=function(){q("dismissableLayer.pointerDownOutside",d,e,{discrete:!0})},e={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",f.current),f.current=c,b.addEventListener("click",f.current,{once:!0})):c()}else b.removeEventListener("click",f.current);e.current=!1},c=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),b.removeEventListener("pointerdown",a),b.removeEventListener("click",f.current)}},[b,d]),{onPointerDownCapture:()=>e.current=!0}}(a=>{let b=a.target,c=[...u.branches].some(a=>a.contains(b));F&&!c&&(k?.(a),r?.(a),a.defaultPrevented||s?.())},x),H=function(a,b=globalThis?.document){let d=l(a),e=c.useRef(!1);return c.useEffect(()=>{let a=a=>{a.target&&!e.current&&q("dismissableLayer.focusOutside",d,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,d]),{onFocusCapture:()=>e.current=!0,onBlurCapture:()=>e.current=!1}}(a=>{let b=a.target;![...u.branches].some(a=>a.contains(b))&&(o?.(a),r?.(a),a.defaultPrevented||s?.())},x);return!function(a,b=globalThis?.document){let d=l(a);c.useEffect(()=>{let a=a=>{"Escape"===a.key&&d(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[d,b])}(a=>{D===u.layers.size-1&&(i?.(a),!a.defaultPrevented&&s&&(a.preventDefault(),s()))},x),c.useEffect(()=>{if(v)return h&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(b=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(v)),u.layers.add(v),p(),()=>{h&&1===u.layersWithOutsidePointerEventsDisabled.size&&(x.body.style.pointerEvents=b)}},[v,x,h,u]),c.useEffect(()=>()=>{v&&(u.layers.delete(v),u.layersWithOutsidePointerEventsDisabled.delete(v),p())},[v,u]),c.useEffect(()=>{let a=()=>y({});return document.addEventListener(m,a),()=>document.removeEventListener(m,a)},[]),(0,g.jsx)(j.div,{...t,ref:z,style:{pointerEvents:E?F?"auto":"none":void 0,...a.style},onFocusCapture:(0,d.composeEventHandlers)(a.onFocusCapture,H.onFocusCapture),onBlurCapture:(0,d.composeEventHandlers)(a.onBlurCapture,H.onBlurCapture),onPointerDownCapture:(0,d.composeEventHandlers)(a.onPointerDownCapture,G.onPointerDownCapture)})});function p(){let a=new CustomEvent(m);document.dispatchEvent(a)}function q(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&e.addEventListener(a,b,{once:!0}),d?k(e,f):e.dispatchEvent(f)}o.displayName="DismissableLayer",c.forwardRef((a,b)=>{let d=c.useContext(n),e=c.useRef(null),h=(0,f.useComposedRefs)(b,e);return c.useEffect(()=>{let a=e.current;if(a)return d.branches.add(a),()=>{d.branches.delete(a)}},[d.branches]),(0,g.jsx)(j.div,{...a,ref:h})}).displayName="DismissableLayerBranch",a.s(["DismissableLayer",0,o],96743)},92616,77192,a=>{"use strict";var b=a.i(72131),c=a.i(35112),d=a.i(30553),e=a.i(72752),f=a.i(87924),g=b.forwardRef((a,g)=>{let{container:h,...i}=a,[j,k]=b.useState(!1);(0,e.useLayoutEffect)(()=>k(!0),[]);let l=h||j&&globalThis?.document?.body;return l?c.default.createPortal((0,f.jsx)(d.Primitive.div,{...i,ref:g}),l):null});g.displayName="Portal",a.s(["Portal",0,g],92616);var h=a.i(70121),i=a=>{var c;let d,f,{present:g,children:i}=a,k=function(a){var c,d;let[f,g]=b.useState(),h=b.useRef(null),i=b.useRef(a),k=b.useRef("none"),[l,m]=(c=a?"mounted":"unmounted",d={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},b.useReducer((a,b)=>d[a][b]??a,c));return b.useEffect(()=>{let a=j(h.current);k.current="mounted"===l?a:"none"},[l]),(0,e.useLayoutEffect)(()=>{let b=h.current,c=i.current;if(c!==a){let d=k.current,e=j(b);a?m("MOUNT"):"none"===e||b?.display==="none"?m("UNMOUNT"):c&&d!==e?m("ANIMATION_OUT"):m("UNMOUNT"),i.current=a}},[a,m]),(0,e.useLayoutEffect)(()=>{if(f){let a,b=f.ownerDocument.defaultView??window,c=c=>{let d=j(h.current).includes(CSS.escape(c.animationName));if(c.target===f&&d&&(m("ANIMATION_END"),!i.current)){let c=f.style.animationFillMode;f.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===f.style.animationFillMode&&(f.style.animationFillMode=c)})}},d=a=>{a.target===f&&(k.current=j(h.current))};return f.addEventListener("animationstart",d),f.addEventListener("animationcancel",c),f.addEventListener("animationend",c),()=>{b.clearTimeout(a),f.removeEventListener("animationstart",d),f.removeEventListener("animationcancel",c),f.removeEventListener("animationend",c)}}m("ANIMATION_END")},[f,m]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:b.useCallback(a=>{h.current=a?getComputedStyle(a):null,g(a)},[])}}(g),l="function"==typeof i?i({present:k.isPresent}):b.Children.only(i),m=(0,h.useComposedRefs)(k.ref,(c=l,(f=(d=Object.getOwnPropertyDescriptor(c.props,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?c.ref:(f=(d=Object.getOwnPropertyDescriptor(c,"ref")?.get)&&"isReactWarning"in d&&d.isReactWarning)?c.props.ref:c.props.ref||c.ref));return"function"==typeof i||k.isPresent?b.cloneElement(l,{ref:m}):null};function j(a){return a?.animationName||"none"}i.displayName="Presence",a.s(["Presence",0,i],77192)},2468,a=>{"use strict";let b=(0,a.i(57703).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],2468)},46193,a=>{"use strict";let b=(0,a.i(57703).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],46193)},10169,a=>{"use strict";let b=(0,a.i(57703).default)("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],10169)},85410,a=>{"use strict";let b=(0,a.i(57703).default)("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);a.s(["EyeOff",0,b],85410)},77907,a=>{"use strict";let b=(0,a.i(57703).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],77907)},43138,a=>{"use strict";var b=a.i(87924),c=a.i(72131);class d extends c.default.Component{constructor(a){super(a),this.state={hasError:!1,error:null}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,b){console.error("ErrorBoundary caught an error:",a,b)}handleRetry=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?this.props.section?(0,b.jsxs)("div",{className:"rounded-lg border border-error/20 bg-error-muted p-4 text-center",children:[(0,b.jsxs)("p",{className:"text-sm font-medium text-error mb-1",children:[this.props.section," failed to load"]}),(0,b.jsx)("p",{className:"text-xs text-foreground-muted mb-2",children:"This section encountered an error. Other sections are unaffected."}),(0,b.jsx)("button",{onClick:this.handleRetry,className:"rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-primary/90",children:"Retry"})]}):(0,b.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background p-6",children:(0,b.jsxs)("div",{className:"max-w-md text-center",children:[(0,b.jsx)("h2",{className:"mb-2 text-lg font-semibold text-foreground",children:"Something went wrong"}),(0,b.jsx)("p",{className:"mb-4 text-sm text-foreground-muted",children:"An unexpected error occurred. Please try again."}),(0,b.jsx)("button",{onClick:()=>window.location.reload(),className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-primary/90",children:"Try Again"})]})}):this.props.children}}a.s(["ErrorBoundary",0,d])}];
2
+
3
+ //# sourceMappingURL=_0gmb3g_._.js.map