agmon 0.1.2 → 0.1.3
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.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +7 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js +502 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map +11 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js +190 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map +8 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +1056 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js +7314 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map +47 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js +6 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map +5 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +54 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +15 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +97 -0
- package/.next/required-server-files.js +366 -0
- package/.next/required-server-files.json +366 -0
- package/.next/routes-manifest.json +75 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +30 -0
- package/.next/server/app/_global-error.rsc +18 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +23 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +12 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +35 -0
- package/.next/server/app/_not-found.rsc +22 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +22 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +28 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/api/traces/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/traces/stream/route/build-manifest.json +12 -0
- package/.next/server/app/api/traces/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/traces/stream/route.js +7 -0
- package/.next/server/app/api/traces/stream/route.js.map +5 -0
- package/.next/server/app/api/traces/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/traces/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +12 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +7 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +29 -0
- package/.next/server/app/index.rsc +29 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/index.segments/_full.segment.rsc +29 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +21 -0
- package/.next/server/app/page/next-font-manifest.json +6 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +13 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +7 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js +3 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js.map +1 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js +3 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js +320 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js +3 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js +76 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js +14 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js +23 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js +208 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js +16 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js +153 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js.map +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +54 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +6 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +34 -0
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/chunks/0_9x2udu0iodw.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0umf92h1sb77c.js +1 -0
- package/.next/static/chunks/10om7oix6wjze.js +1 -0
- package/.next/static/chunks/1780fh11o7pze.js +1 -0
- package/.next/static/chunks/1cldmiyw3ya18.js +21 -0
- package/.next/static/chunks/1unuqfq-vfqtp.js +1 -0
- package/.next/static/chunks/2-vsu_pt58kse.js +3 -0
- package/.next/static/chunks/2drjv1ti9t4pg.js +1 -0
- package/.next/static/chunks/2hgsvrrwu57--.css +1 -0
- package/.next/static/chunks/2ogvir8krwwhf.js +1 -0
- package/.next/static/chunks/2tc54fmsk8v8q.js +1 -0
- package/.next/static/chunks/304ue7hvto0o0.js +206 -0
- package/.next/static/chunks/31gve42sn75--.js +1 -0
- package/.next/static/chunks/32kizm_7q94vd.js +194 -0
- package/.next/static/chunks/33bap0u4zwgab.js +74 -0
- package/.next/static/chunks/3c4xol65z2da2.js +22 -0
- package/.next/static/chunks/3cfn99dbrcvvp.js +31 -0
- package/.next/static/chunks/3d6xc1eemxy82.js +1 -0
- package/.next/static/chunks/3ycr8gfnsg-xv.js +151 -0
- package/.next/static/chunks/3ytt3vrdhke9u.js +14 -0
- package/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_buildManifest.js +11 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_clientMiddlewareManifest.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_ssgManifest.js +1 -0
- package/.next/trace +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/cache-life.d.ts +114 -0
- package/.next/types/root-params.d.ts +3 -0
- package/.next/types/routes.d.ts +74 -0
- package/.next/types/validator.ts +17 -0
- package/bin/cli.js +11 -4
- package/package.json +3 -1
- package/src/app/api/traces/stream/route.js +2 -2
- package/src/app/layout.js +1 -1
- package/src/app/page.js +6 -6
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
module.exports=[12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,a)=>{t.exports=e.x("node:os",()=>require("node:os"))},39280,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),m=e.i(70101),h=e.i(26937),g=e.i(10372),f=e.i(93695),w=e.i(9580);e.i(52474);var y=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:a.f.APP_ROUTE,page:"/api/traces/stream/route",pathname:"/api/traces/stream",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/traces/stream/route.js",nextConfigOutput:"",userland:()=>e.r(83875),...{}}),{workAsyncStorage:_,workUnitAsyncStorage:b,serverHooks:k}=v;async function x(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),v.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/traces/stream/route";_=_.replace(/\/index$/,"")||"/";let b=await v.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:k,deploymentId:x,params:C,nextConfig:R,parsedUrl:S,isDraftMode:A,prerenderManifest:M,routerServerContext:E,isOnDemandRevalidate:T,revalidateOnlyGenerated:$,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:U,previewProps:q}=b,D=(0,s.f)(_),O=!!M.routes[P]&&(v.isDev||(0,w.f)(P,v.cacheOwner,M.routes[P])),N=!!(M.dynamicRoutes[D]||O),j=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,S,!1):t.end("This page could not be found"),null);if(N&&!A){let e=M.dynamicRoutes[D];if(e&&!1===e.fallback&&!O){if(R.adapterPath)return await j();throw new f.NoFallbackError}}let L=null;!N||v.isDev||A||(L="/index"===(L=P)?"/":L),U&&I&&(0,o.f)({page:_,clientReferenceManifest:I,serverActionsManifest:U});let F=e.method||"GET",W=(0,i.v)(),G=W.getActiveScopeSpan(),B=!!(null==E?void 0:E.isWrappedByNextServer),H=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await v.getIncrementalCache(e,R,q,M,H);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let K={params:C,previewProps:q,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts,useCacheTimeout:R.experimental.useCacheTimeout,durableUseCacheEntries:!!R.experimental.durableUseCacheEntries},cacheComponents:!!R.cacheComponents,validationLevel:R.experimental.instantInsights.validationLevel,isDraftMode:A,incrementalCache:J,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:R.cacheLife,staticPageGenerationTimeout:R.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:k,deploymentId:x}},V=new l.x(e),Q=new l.e(t),Z=c.k.fromNodeNextRequest(V,(0,c.t)(t)),z=async({previousCacheEntry:a})=>{try{if(!H&&T&&$&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===L?await v.handle(Z,K):await v.prerender(Z,K);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let o=K.renderOpts.collectedTags;if(!N)return await (0,p.f)(V,Q,n,i),null;{let e=await n.blob(),t=(0,m.S)(n.headers);o&&(t[g.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.Q)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.Q?!1!==a&&a>0?R.expireTime:void 0:K.renderOpts.collectedExpire;return{value:{kind:y.x.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.f)({isStaticGeneration:null!==L,isOnDemandRevalidate:T})},!1,E),t}},X=async(n,o)=>{try{var s,l;let n=await v.handleResponse({req:e,nextConfig:R,cacheKey:L,routeKind:a.f.APP_ROUTE,isFallback:!1,previewProps:q,prerenderManifest:M,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:$,responseGenerator:z,waitUntil:r.waitUntil,isMinimalMode:H});if(null!==n&&"error"in n)throw n.error;if(!N)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==y.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`);H||t.setHeader("x-nextjs-cache",T?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,m.G)(n.value.headers);H&&N||i.delete(g.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,h.f)(n.cacheControl)),await (0,p.f)(V,Q,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(a){if(a instanceof f.NoFallbackError||await v.onRequestError(e,a,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.f)({isStaticGeneration:null!==L,isOnDemandRevalidate:T})},!1,E),N)throw a;if(t.headersSent){if(n){let e=a instanceof Error?a:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(V,Q,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let a=W.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.q.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||D,s=`${F} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),n.updateName(s),o&&o!==n&&(o.setAttribute("http.route",r),o.updateName(s))})()}};if(B&&G)await X(G,void 0);else{let t=W.getActiveScopeSpan();await W.withPropagatedContext(e.headers,()=>W.trace(d.q.handleRequest,{spanName:`${F} ${_}`,kind:i.C.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>X(e,t)),void 0,!B)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,r.f)({workAsyncStorage:_,workUnitAsyncStorage:b})},"routeModule",0,v,"serverHooks",0,k,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,b])},83875,e=>{"use strict";var t=e.i(12714),a=e.i(50227),r=e.i(60526);function n(e){let t=e.tokens||{};return{traceId:String(e.traceId||`trace-${Math.random().toString(36).slice(2,9)}`),cli:e.cli||"agent",connectionId:String(e.connectionId||"Agent Desk"),account:String(e.account||"Default Workspace"),model:String(e.model||"Unknown Model"),provider:String(e.provider||"anthropic").toLowerCase(),state:["streaming","pending","done","error"].includes(e.state)?e.state:"streaming",startedAt:"number"==typeof e.startedAt?e.startedAt:Date.now(),elapsedMs:"number"==typeof e.elapsedMs?e.elapsedMs:0,tokens:{input:Number(t.input||0),output:Number(t.output||0),cached:Number(t.cached||0)},cost:Number(e.cost||0),status:String(e.status||"200"),tools:Array.isArray(e.tools)?e.tools:[],activeTool:e.activeTool||null,currentCommand:e.currentCommand||null,error:e.error?String(e.error):null}}let i={view_file:"read",read_file:"read",replace_file_content:"edit",write_to_file:"edit",call_mcp_tool:"mcp",list_resources:"mcp",invoke_subagent:"agent",grep_search:"search",list_dir:"read",find_by_name:"read",define_subagent:"agent"};function o(e){if(!e||!e.name)return{type:"mcp",detail:null};let t=e.name,r=e.args||{};if("call_mcp_tool"===t){let e=String(r.ServerName||"").toLowerCase(),t=String(r.ToolName||"").toLowerCase();return e.includes("gitnexus")||t.includes("cypher")||t.includes("pdg_query")||t.includes("impact")?{type:"gitnexus",detail:`GitNexus: ${t}`}:e.includes("playwright")||e.includes("browser")||t.startsWith("browser_")?{type:"browser",detail:`Browser: ${t}`}:{type:"mcp",detail:`MCP: ${e}/${t}`}}if("run_command"===t){let e=String(r.CommandLine||"").trim(),t=e.toLowerCase();return t.startsWith("docker")||t.includes("docker exec")||t.includes("docker-compose")?{type:"docker",detail:e.length>50?`${e.slice(0,47)}...`:e}:t.startsWith("git ")||t.startsWith("gh ")||t.includes("git commit")||t.includes("git push")?{type:"git",detail:e.length>50?`${e.slice(0,47)}...`:e}:t.includes("gitnexus")?{type:"gitnexus",detail:e.length>50?`${e.slice(0,47)}...`:e}:{type:"bash",detail:e.length>50?`${e.slice(0,47)}...`:e}}let n=i[t],o=r.TargetFile||r.AbsolutePath||r.query||"",s=o?`${t}: ${a.default.basename(o)}`:t;return n?{type:n,detail:s}:t.includes("read")||t.includes("find")||t.includes("dir")||t.includes("list")?{type:"read",detail:s}:t.includes("edit")||t.includes("write")||t.includes("patch")?{type:"edit",detail:s}:t.includes("search")||t.includes("grep")?{type:"search",detail:s}:t.includes("agent")||t.includes("message")?{type:"agent",detail:s}:{type:"mcp",detail:s}}async function s(e=72e5){let i=r.default.homedir(),l=a.default.join(i,".gemini","antigravity-cli","brain");try{let r=await t.default.readdir(l,{withFileTypes:!0}),i=Date.now(),s=[];for(let c of r){if(!c.isDirectory())continue;let r=c.name,d=a.default.join(l,r,".system_generated","logs","transcript.jsonl");try{let l=(await t.default.stat(d)).mtimeMs;if(i-l>e)continue;let c=(await t.default.readFile(d,"utf-8")).trim().split("\n");if(0===c.length)continue;let u=0,p=0,m=0,h=null,g=null,f=new Set,w=null,y=null,v=null,_=null;for(let e of c)if(e)try{let t=JSON.parse(e);if(!w&&t.created_at&&(w=new Date(t.created_at).getTime()),t.created_at&&(y=new Date(t.created_at).getTime()),t.input_tokens&&(u+=t.input_tokens),t.output_tokens&&(p+=t.output_tokens),t.cache_read_tokens&&(m+=t.cache_read_tokens),Array.isArray(t.tool_calls)&&t.tool_calls.length>0)for(let e of(h=t,t.tool_calls)){if(e.args?.Cwd&&!_&&(_=e.args.Cwd),!_&&(e.args?.TargetFile||e.args?.AbsolutePath)){let t=e.args.TargetFile||e.args.AbsolutePath;t.includes("/Projects/")&&(_=t.split("/").slice(0,5).join("/"))}let{type:t,detail:a}=o(e);t&&f.add(t),a&&(v=a)}g=t}catch{}let b=i-l<45e3,k="done";b&&(g&&"USER_INPUT"===g.type?k="pending":(h&&h.status,k="streaming"));let x=null;if(h&&Array.isArray(h.tool_calls)&&h.tool_calls.length>0){let e=h.tool_calls[h.tool_calls.length-1];x=o(e).type}let C=y&&w?Math.max(0,y-w):i-l,R=(_?a.default.basename(_):`agy-${r.slice(0,6)}`).replace(/["'\\]/g,"").trim();s.push(n({traceId:`agy-${r.slice(0,8)}`,cli:"antigravity",connectionId:`Antigravity (${r.slice(0,6)})`,account:R,model:"gemini-2.5-pro",provider:"gemini",state:k,startedAt:w||i-C,elapsedMs:C,tokens:{input:u||2500,output:p||850,cached:m},cost:0,status:"200",tools:Array.from(f),activeTool:x,currentCommand:v}))}catch{}}return s}catch{return[]}}async function l(e=108e5){let i=r.default.homedir(),o=a.default.join(i,".claude","sessions"),s=a.default.join(i,".claude","projects");try{let r=await t.default.readdir(o).catch(()=>[]),i=Date.now(),l=[];for(let c of r)if(c.endsWith(".json"))try{let r=await t.default.readFile(a.default.join(o,c),"utf-8"),{pid:d,sessionId:u,cwd:p,startedAt:m,updatedAt:h,status:g,name:f}=JSON.parse(r),w=h||m||0;if(i-w>e)continue;let y=null;try{for(let e of(await t.default.readdir(s))){let r=a.default.join(s,e,`${u}.jsonl`);try{await t.default.access(r),y=r;break}catch{}}}catch{}let v=0,_=0,b=0,k="claude-3-7-sonnet",x=null,C=null,R=new Set,S=w;if(y)try{for(let e of(await t.default.readFile(y,"utf-8")).trim().split("\n"))if(e)try{let t=JSON.parse(e);t.timestamp&&(S=new Date(t.timestamp).getTime());let r=t.message;if(r){r.model&&(k=r.model);let e=r.usage;if(e&&(e.input_tokens&&(v+=e.input_tokens),e.output_tokens&&(_+=e.output_tokens),e.cache_read_input_tokens&&(b+=e.cache_read_input_tokens)),Array.isArray(r.content)){for(let e of r.content)if("tool_use"===e.type){let{type:t,detail:r}=function(e,t={}){let r=String(e||"").toLowerCase(),n=String(t.command||"").trim(),i=n.toLowerCase();if("bash"===r)return i.startsWith("docker")||i.includes("docker exec")?{type:"docker",detail:n.length>50?`${n.slice(0,47)}...`:n}:i.startsWith("git ")||i.startsWith("gh ")?{type:"git",detail:n.length>50?`${n.slice(0,47)}...`:n}:i.includes("gitnexus")?{type:"gitnexus",detail:n.length>50?`${n.slice(0,47)}...`:n}:{type:"bash",detail:n.length>50?`${n.slice(0,47)}...`:n};if(r.includes("read")||r.includes("view")||r.includes("glob")){let e=t.file_path||t.path||"";return{type:"read",detail:e?`Read: ${a.default.basename(e)}`:"Read file"}}if(r.includes("edit")||r.includes("write")||r.includes("patch")||r.includes("replace")){let e=t.file_path||t.path||"";return{type:"edit",detail:e?`Edit: ${a.default.basename(e)}`:"Edit file"}}return r.includes("grep")||r.includes("search")?{type:"search",detail:t.pattern?`Search: ${t.pattern}`:"Search"}:r.includes("agent")||r.includes("task")?{type:"agent",detail:"Subagent Task"}:r.includes("browser")||r.includes("playwright")?{type:"browser",detail:"Browser automation"}:r.includes("gitnexus")?{type:"gitnexus",detail:"GitNexus query"}:{type:"mcp",detail:e}}(e.name,e.input);R.add(t),x=t,r&&(C=r)}}}}catch{}}catch{}let A=i-w<6e4,M="done";"running"===g||"working"===g||A?M="streaming":"idle"===g&&(M="pending");let E=p?a.default.basename(p):f||"Claude Workspace",T=Math.max(0,(S||i)-(m||i));l.push(n({traceId:`claude-${d||u.slice(0,6)}`,cli:"claude",connectionId:`Claude (${f||d})`,account:E,model:k,provider:function(e){let t=String(e||"").toLowerCase();return t.includes("claude")?"anthropic":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("o1")||t.includes("o3")?"openai":t.includes("minimax")?"minimax":t.includes("deepseek")?"deepseek":"anthropic"}(k),state:M,startedAt:m||i,elapsedMs:T,tokens:{input:v||3200,output:_||1100,cached:b},cost:0,status:"200",tools:Array.from(R),activeTool:x,currentCommand:C}))}catch{}return l}catch{return[]}}let c=[],d=0;async function u(e=!1){let t=Date.now();if(!e&&t-d<1500&&c.length>0)return c;let[a,r]=await Promise.all([s().catch(()=>[]),l().catch(()=>[])]),n=[...a,...r];return n.sort((e,t)=>{let a=+("streaming"===e.state||"pending"===e.state),r=+("streaming"===t.state||"pending"===t.state);return a!==r?r-a:(t.startedAt||0)-(e.startedAt||0)}),c=n,d=t,n}let p={idle:{agents:2,errorRatio:0},busy:{agents:8,errorRatio:0},storm:{agents:30,errorRatio:.15},errors:{agents:10,errorRatio:.6},cases:{agents:16,errorRatio:0,cases:!0}},m=[{account:"Claude Code · main",icon:"terminal"},{account:"Claude Code · review",icon:"rate_review"},{account:"Antigravity · agent",icon:"smart_toy"},{account:"Antigravity · dev",icon:"construction"},{account:"Cursor · workspace",icon:"edit_note"},{account:"OpenCode · build",icon:"science"},{account:"Aider",icon:"smart_toy"},{account:"Continue · dev",icon:"play_arrow"}],h=[{provider:"claude",model:"claude-3-7-sonnet"},{provider:"gemini",model:"gemini-2.5-pro"},{provider:"openai",model:"gpt-4o"},{provider:"minimax",model:"minimax-m2"},{provider:"deepseek",model:"deepseek-v3"}],g=["rate_limited","upstream_timeout","quota_exhausted","auth_refresh_failed"],f=["bash","read","edit","search","web","mcp","agent","gitnexus","browser","git","docker"],w=[{name:"sleeping",state:"done",ageMs:38e3},{name:"happy",state:"done",ageMs:9e3,cost:1.42},{name:"pending",state:"pending",ageMs:2500,tools:["todo"]},{name:"gitnexus",state:"streaming",ageMs:14e3,tools:["gitnexus","read"]},{name:"docker",state:"streaming",ageMs:15e3,tools:["docker","bash"]},{name:"browser",state:"streaming",ageMs:16e3,tools:["browser","web"]},{name:"git+agent",state:"streaming",ageMs:12e3,tools:["git","agent"],concurrent:4},{name:"rate_limited",state:"error",ageMs:6e3,error:"rate_limited"},{name:"upstream_timeout",state:"error",ageMs:3e4,error:"upstream_timeout"},{name:"quota_exhausted",state:"error",ageMs:8e3,error:"quota_exhausted"},{name:"auth_refresh_failed",state:"error",ageMs:5e3,error:"auth_refresh_failed"},{name:"fallback-1",state:"streaming",ageMs:13e3,tools:["bash"],fallbackShift:3},{name:"fallback-2",state:"streaming",ageMs:14e3,tools:["browser","mcp"],fallbackShift:2},{name:"slow",state:"streaming",ageMs:36e3,tools:["docker"]},{name:"queue+cached",state:"streaming",ageMs:1e4,tools:["read","search"],concurrent:5,cachedBoost:!0},{name:"expensive",state:"done",ageMs:2e4,cost:7.35}];function y(e){let t=e>>>0||1;return()=>(t^=t<<13,t^=t>>>17,t^=t<<5,(t>>>=0)/0x100000000)}async function v(e){let{searchParams:t}=new URL(e.url),a=t.get("source")||"live",r=t.get("mockPreset")||t.get("preset"),n=new TextEncoder;return new Response(new ReadableStream({async start(t){let i=!0,o=e=>{if(i)try{t.enqueue(n.encode(`data: ${JSON.stringify(e)}
|
|
2
|
+
|
|
3
|
+
`))}catch{i=!1}},s=async()=>{if(i){if("mock"===a||r){let e=p[r]||p.cases,t=function({count:e=8,errorRatio:t=0,seed:a=42,now:r=Date.now(),cases:n=!1}={}){let i=y(a),o=[];for(let s=0;s<e;s+=1){let e,l=m[s%m.length],c=Math.floor(s/m.length)+1,d=c>1?`${l.account} ${c}`:l.account,u=`mock-conn-${s}`,p=h[s%h.length],v=n?w[s%w.length]:null,_=Math.floor(4e4*i()),b=i()<t,k=v?v.ageMs:_,x=r-k,C=v?"error"===v.state:b,R=k/4e4;e=v?v.state:C?"error":R<.25?"pending":R<.6?"streaming":"done";let S={input:Math.round(400+14e3*i()),output:Math.round(80+2900*i()),cached:Math.round(6e3*i())},A=y(7919*a+104729*s+13),M="done"===e?0:1+Math.floor(3*A()),E=[];for(let e=0;e<M;e+=1)E.push(f[Math.floor(A()*f.length)]);let T=v?.tools??("error"===e?[]:E),$=[];for(let e of T)$.some(t=>t.tool===e)||$.push({tool:e,state:0===$.length?"running":"queued"});let P=v?!!v.fallbackShift:.28>A(),I=h[(s+(v?.fallbackShift??3))%h.length].provider,U=P&&("pending"===e||"streaming"===e)&&I!==p.provider?{from:I}:null,q=v?.concurrent??("done"===e||"error"===e?1:1+Math.floor(3*A()));v?.cachedBoost&&(S.cached=14e3),o.push({traceId:`mock-${s}-${Math.floor(1e6*i()).toString(36)}`,cli:"mock",connectionId:u,account:d,model:p.model,provider:p.provider,state:e,startedAt:x,elapsedMs:k,tokens:S,cost:v?.cost??Math.round((15e-6*S.input+6e-5*S.output)*100)/100,status:C?"error":"200",error:C?v?.error??g[Math.floor(i()*g.length)%g.length]:null,clientIcon:l.icon,toolCalls:$,tools:T,activeTool:T[0]||null,currentCommand:T[0]?`${T[0]} task running...`:null,fallback:U,concurrent:q})}return o}({count:e.agents,errorRatio:e.errorRatio,cases:!!e.cases,seed:42}),a=function(e){let t=new Map;for(let a of e)a.provider&&!t.has(a.provider)&&t.set(a.provider,{provider:a.provider,name:a.provider.charAt(0).toUpperCase()+a.provider.slice(1)});return[...t.values()]}(t);o({traces:t,providers:a,timestamp:Date.now(),mode:"mock",preset:r||"cases"});return}try{let e=await u(),t=function(e){let t=new Set,a=[];for(let r of e){let e=(r.provider||"other").toLowerCase();t.has(e)||(t.add(e),a.push({provider:e,name:e.charAt(0).toUpperCase()+e.slice(1)}))}return a}(e);o({traces:e,providers:t,timestamp:Date.now(),mode:"live",activeAgents:e.filter(e=>"streaming"===e.state||"pending"===e.state).length})}catch(e){console.error("[SSE] Failed to fetch live traces:",e)}}};await s();let l=setInterval(async()=>{i?await s():clearInterval(l)},1500);e.signal.addEventListener("abort",()=>{i=!1,clearInterval(l);try{t.close()}catch{}})}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}e.s(["GET",0,v,"dynamic",0,"force-dynamic"],83875)}];
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1s6v8mz-nanm-._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/next/src/build/templates/app-route.ts","../../../src/lib/watchers/antigravityWatcher.js","../../../src/lib/traceContract.js","../../../src/lib/watchers/claudeWatcher.js","../../../src/lib/watchers/watcherManager.js","../../../src/lib/mockTraces.js","../../../src/app/api/traces/stream/route.js"],"sourcesContent":["import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport { isRouteCacheOwner } from '../../server/lib/route-cache-key'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n previewProps,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n // Only this route's prerenders can establish ISR or admit generated params.\n const isPrerendered =\n Boolean(prerenderManifest.routes[resolvedPathname]) &&\n (routeModule.isDev ||\n isRouteCacheOwner(\n resolvedPathname,\n routeModule.cacheOwner,\n prerenderManifest.routes[resolvedPathname]\n ))\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] || isPrerendered\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n previewProps,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n durableUseCacheEntries: Boolean(\n nextConfig.experimental.durableUseCacheEntries\n ),\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n isDraftMode,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response =\n cacheKey === null\n ? await routeModule.handle(nextReq, context)\n : await routeModule.prerender(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration: cacheKey !== null,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n previewProps,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n if (cacheEntry !== null && 'error' in cacheEntry) {\n throw cacheEntry.error\n }\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration: cacheKey !== null,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response unless the original response has\n // already committed. In that case, preserve its status code for\n // telemetry while still recording the failure and terminating a response\n // that the failed pipeline left open.\n if (res.headersSent) {\n if (currentSpan) {\n const error =\n err instanceof Error ? err : new Error('Unknown app route error')\n currentSpan.recordException(error)\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n })\n currentSpan.setAttribute('error.type', error.name)\n }\n if (!res.writableEnded && !res.destroyed) {\n res.end()\n }\n } else {\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n }\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n","import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { normalizeTrace } from \"../traceContract.js\";\n\nconst TOOL_MAP = {\n view_file: \"read\",\n read_file: \"read\",\n replace_file_content: \"edit\",\n write_to_file: \"edit\",\n call_mcp_tool: \"mcp\",\n list_resources: \"mcp\",\n invoke_subagent: \"agent\",\n grep_search: \"search\",\n list_dir: \"read\",\n find_by_name: \"read\",\n define_subagent: \"agent\",\n};\n\nfunction normalizeToolCall(tc) {\n if (!tc || !tc.name) return { type: \"mcp\", detail: null };\n const name = tc.name;\n const args = tc.args || {};\n\n // 1. MCP Tools inspection\n if (name === \"call_mcp_tool\") {\n const srv = String(args.ServerName || \"\").toLowerCase();\n const tool = String(args.ToolName || \"\").toLowerCase();\n if (srv.includes(\"gitnexus\") || tool.includes(\"cypher\") || tool.includes(\"pdg_query\") || tool.includes(\"impact\")) {\n return { type: \"gitnexus\", detail: `GitNexus: ${tool}` };\n }\n if (srv.includes(\"playwright\") || srv.includes(\"browser\") || tool.startsWith(\"browser_\")) {\n return { type: \"browser\", detail: `Browser: ${tool}` };\n }\n return { type: \"mcp\", detail: `MCP: ${srv}/${tool}` };\n }\n\n // 2. Terminal commands inspection\n if (name === \"run_command\") {\n const cmd = String(args.CommandLine || \"\").trim();\n const cmdLower = cmd.toLowerCase();\n if (cmdLower.startsWith(\"docker\") || cmdLower.includes(\"docker exec\") || cmdLower.includes(\"docker-compose\")) {\n return { type: \"docker\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.startsWith(\"git \") || cmdLower.startsWith(\"gh \") || cmdLower.includes(\"git commit\") || cmdLower.includes(\"git push\")) {\n return { type: \"git\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.includes(\"gitnexus\")) {\n return { type: \"gitnexus\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n return { type: \"bash\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n\n // 3. Native tools mapping\n const mapped = TOOL_MAP[name];\n const target = args.TargetFile || args.AbsolutePath || args.query || \"\";\n const detail = target ? `${name}: ${path.basename(target)}` : name;\n\n if (mapped) return { type: mapped, detail };\n if (name.includes(\"read\") || name.includes(\"find\") || name.includes(\"dir\") || name.includes(\"list\")) return { type: \"read\", detail };\n if (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return { type: \"edit\", detail };\n if (name.includes(\"search\") || name.includes(\"grep\")) return { type: \"search\", detail };\n if (name.includes(\"agent\") || name.includes(\"message\")) return { type: \"agent\", detail };\n\n return { type: \"mcp\", detail };\n}\n\nexport async function getAntigravityTraces(maxAgeMs = 2 * 60 * 60 * 1000) {\n const homeDir = os.homedir();\n const brainDir = path.join(homeDir, \".gemini\", \"antigravity-cli\", \"brain\");\n\n try {\n const entries = await fs.readdir(brainDir, { withFileTypes: true });\n const now = Date.now();\n const traces = [];\n\n for (const ent of entries) {\n if (!ent.isDirectory()) continue;\n const convId = ent.name;\n const transcriptPath = path.join(brainDir, convId, \".system_generated\", \"logs\", \"transcript.jsonl\");\n\n try {\n const stat = await fs.stat(transcriptPath);\n const mtime = stat.mtimeMs;\n if (now - mtime > maxAgeMs) continue;\n\n const content = await fs.readFile(transcriptPath, \"utf-8\");\n const lines = content.trim().split(\"\\n\");\n if (lines.length === 0) continue;\n\n let totalIn = 0;\n let totalOut = 0;\n let totalCached = 0;\n let lastToolEntry = null;\n let lastStep = null;\n const toolSet = new Set();\n let firstTime = null;\n let lastTime = null;\n let activeCommandDetail = null;\n let detectedCwd = null;\n\n for (const line of lines) {\n if (!line) continue;\n try {\n const entry = JSON.parse(line);\n if (!firstTime && entry.created_at) firstTime = new Date(entry.created_at).getTime();\n if (entry.created_at) lastTime = new Date(entry.created_at).getTime();\n\n if (entry.input_tokens) totalIn += entry.input_tokens;\n if (entry.output_tokens) totalOut += entry.output_tokens;\n if (entry.cache_read_tokens) totalCached += entry.cache_read_tokens;\n\n if (Array.isArray(entry.tool_calls) && entry.tool_calls.length > 0) {\n lastToolEntry = entry;\n for (const tc of entry.tool_calls) {\n if (tc.args?.Cwd && !detectedCwd) detectedCwd = tc.args.Cwd;\n if (!detectedCwd && (tc.args?.TargetFile || tc.args?.AbsolutePath)) {\n const p = tc.args.TargetFile || tc.args.AbsolutePath;\n if (p.includes(\"/Projects/\")) detectedCwd = p.split(\"/\").slice(0, 5).join(\"/\");\n }\n const { type, detail } = normalizeToolCall(tc);\n if (type) toolSet.add(type);\n if (detail) activeCommandDetail = detail;\n }\n }\n lastStep = entry;\n } catch {\n // ignore malformed line\n }\n }\n\n const isRecent = (now - mtime) < 45 * 1000;\n let state = \"done\";\n if (isRecent) {\n if (lastStep && lastStep.type === \"USER_INPUT\") state = \"pending\";\n else if (lastToolEntry && lastToolEntry.status === \"RUNNING\") state = \"streaming\";\n else state = \"streaming\";\n }\n\n let activeTool = null;\n if (lastToolEntry && Array.isArray(lastToolEntry.tool_calls) && lastToolEntry.tool_calls.length > 0) {\n const lastTc = lastToolEntry.tool_calls[lastToolEntry.tool_calls.length - 1];\n activeTool = normalizeToolCall(lastTc).type;\n }\n\n const elapsedMs = (lastTime && firstTime) ? Math.max(0, lastTime - firstTime) : (now - mtime);\n const rawFolder = detectedCwd ? path.basename(detectedCwd) : `agy-${convId.slice(0, 6)}`;\n const folderName = rawFolder.replace(/[\"'\\\\]/g, \"\").trim();\n\n traces.push(normalizeTrace({\n traceId: `agy-${convId.slice(0, 8)}`,\n cli: \"antigravity\",\n connectionId: `Antigravity (${convId.slice(0, 6)})`,\n account: folderName,\n model: \"gemini-2.5-pro\",\n provider: \"gemini\",\n state,\n startedAt: firstTime || (now - elapsedMs),\n elapsedMs,\n tokens: {\n input: totalIn || 2500,\n output: totalOut || 850,\n cached: totalCached,\n },\n cost: 0,\n status: \"200\",\n tools: Array.from(toolSet),\n activeTool,\n currentCommand: activeCommandDetail,\n }));\n } catch {\n // file missing or unreadable\n }\n }\n\n return traces;\n } catch {\n return [];\n }\n}\n","/**\n * Standard Trace Contract for Agent Factory.\n * All watchers normalize their session logs into this uniform schema.\n */\n\nexport function normalizeTrace(raw) {\n const tokens = raw.tokens || {};\n return {\n traceId: String(raw.traceId || `trace-${Math.random().toString(36).slice(2, 9)}`),\n cli: raw.cli || \"agent\", // \"antigravity\" | \"claude\" | \"cursor\" | etc.\n connectionId: String(raw.connectionId || \"Agent Desk\"),\n account: String(raw.account || \"Default Workspace\"),\n model: String(raw.model || \"Unknown Model\"),\n provider: String(raw.provider || \"anthropic\").toLowerCase(),\n state: [\"streaming\", \"pending\", \"done\", \"error\"].includes(raw.state) ? raw.state : \"streaming\",\n startedAt: typeof raw.startedAt === \"number\" ? raw.startedAt : Date.now(),\n elapsedMs: typeof raw.elapsedMs === \"number\" ? raw.elapsedMs : 0,\n tokens: {\n input: Number(tokens.input || 0),\n output: Number(tokens.output || 0),\n cached: Number(tokens.cached || 0),\n },\n cost: Number(raw.cost || 0),\n status: String(raw.status || \"200\"),\n tools: Array.isArray(raw.tools) ? raw.tools : [],\n activeTool: raw.activeTool || null,\n currentCommand: raw.currentCommand || null,\n error: raw.error ? String(raw.error) : null,\n };\n}\n\nexport function extractProviders(traces) {\n const seen = new Set();\n const list = [];\n for (const t of traces) {\n const p = (t.provider || \"other\").toLowerCase();\n if (!seen.has(p)) {\n seen.add(p);\n list.push({\n provider: p,\n name: p.charAt(0).toUpperCase() + p.slice(1),\n });\n }\n }\n return list;\n}\n","import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { normalizeTrace } from \"../traceContract.js\";\n\nfunction normalizeClaudeTool(name, input = {}) {\n const n = String(name || \"\").toLowerCase();\n const cmd = String(input.command || \"\").trim();\n const cmdLower = cmd.toLowerCase();\n\n if (n === \"bash\") {\n if (cmdLower.startsWith(\"docker\") || cmdLower.includes(\"docker exec\")) {\n return { type: \"docker\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.startsWith(\"git \") || cmdLower.startsWith(\"gh \")) {\n return { type: \"git\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n if (cmdLower.includes(\"gitnexus\")) {\n return { type: \"gitnexus\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n return { type: \"bash\", detail: cmd.length > 50 ? `${cmd.slice(0, 47)}...` : cmd };\n }\n\n if (n.includes(\"read\") || n.includes(\"view\") || n.includes(\"glob\")) {\n const file = input.file_path || input.path || \"\";\n return { type: \"read\", detail: file ? `Read: ${path.basename(file)}` : \"Read file\" };\n }\n\n if (n.includes(\"edit\") || n.includes(\"write\") || n.includes(\"patch\") || n.includes(\"replace\")) {\n const file = input.file_path || input.path || \"\";\n return { type: \"edit\", detail: file ? `Edit: ${path.basename(file)}` : \"Edit file\" };\n }\n\n if (n.includes(\"grep\") || n.includes(\"search\")) {\n return { type: \"search\", detail: input.pattern ? `Search: ${input.pattern}` : \"Search\" };\n }\n\n if (n.includes(\"agent\") || n.includes(\"task\")) {\n return { type: \"agent\", detail: \"Subagent Task\" };\n }\n\n if (n.includes(\"browser\") || n.includes(\"playwright\")) {\n return { type: \"browser\", detail: \"Browser automation\" };\n }\n\n if (n.includes(\"gitnexus\")) {\n return { type: \"gitnexus\", detail: \"GitNexus query\" };\n }\n\n return { type: \"mcp\", detail: name };\n}\n\nfunction detectProvider(modelName) {\n const m = String(modelName || \"\").toLowerCase();\n if (m.includes(\"claude\")) return \"anthropic\";\n if (m.includes(\"gemini\")) return \"gemini\";\n if (m.includes(\"gpt\") || m.includes(\"o1\") || m.includes(\"o3\")) return \"openai\";\n if (m.includes(\"minimax\")) return \"minimax\";\n if (m.includes(\"deepseek\")) return \"deepseek\";\n return \"anthropic\";\n}\n\nexport async function getClaudeTraces(maxAgeMs = 3 * 60 * 60 * 1000) {\n const homeDir = os.homedir();\n const sessionsDir = path.join(homeDir, \".claude\", \"sessions\");\n const projectsDir = path.join(homeDir, \".claude\", \"projects\");\n\n try {\n const sessionFiles = await fs.readdir(sessionsDir).catch(() => []);\n const now = Date.now();\n const traces = [];\n\n for (const f of sessionFiles) {\n if (!f.endsWith(\".json\")) continue;\n try {\n const rawMeta = await fs.readFile(path.join(sessionsDir, f), \"utf-8\");\n const meta = JSON.parse(rawMeta);\n const { pid, sessionId, cwd, startedAt, updatedAt, status, name } = meta;\n\n // Skip very old sessions\n const lastActive = updatedAt || startedAt || 0;\n if (now - lastActive > maxAgeMs) continue;\n\n // Find associated jsonl transcript in projects folder\n let transcriptPath = null;\n try {\n const projectFolders = await fs.readdir(projectsDir);\n for (const pf of projectFolders) {\n const candidate = path.join(projectsDir, pf, `${sessionId}.jsonl`);\n try {\n await fs.access(candidate);\n transcriptPath = candidate;\n break;\n } catch {\n // try next\n }\n }\n } catch {\n // ignore\n }\n\n let totalIn = 0;\n let totalOut = 0;\n let totalCached = 0;\n let model = \"claude-3-7-sonnet\";\n let activeTool = null;\n let activeCommand = null;\n const toolSet = new Set();\n let lastTimestamp = lastActive;\n\n if (transcriptPath) {\n try {\n const content = await fs.readFile(transcriptPath, \"utf-8\");\n const lines = content.trim().split(\"\\n\");\n for (const line of lines) {\n if (!line) continue;\n try {\n const entry = JSON.parse(line);\n if (entry.timestamp) lastTimestamp = new Date(entry.timestamp).getTime();\n\n const msg = entry.message;\n if (msg) {\n if (msg.model) model = msg.model;\n const u = msg.usage;\n if (u) {\n if (u.input_tokens) totalIn += u.input_tokens;\n if (u.output_tokens) totalOut += u.output_tokens;\n if (u.cache_read_input_tokens) totalCached += u.cache_read_input_tokens;\n }\n\n if (Array.isArray(msg.content)) {\n for (const block of msg.content) {\n if (block.type === \"tool_use\") {\n const { type, detail } = normalizeClaudeTool(block.name, block.input);\n toolSet.add(type);\n activeTool = type;\n if (detail) activeCommand = detail;\n }\n }\n }\n }\n } catch {\n // ignore malformed line\n }\n }\n } catch {\n // unreadable transcript\n }\n }\n\n const isRecent = (now - lastActive) < 60 * 1000;\n let state = \"done\";\n if (status === \"running\" || status === \"working\") state = \"streaming\";\n else if (isRecent) state = \"streaming\";\n else if (status === \"idle\") state = \"pending\";\n\n const workspaceName = cwd ? path.basename(cwd) : (name || \"Claude Workspace\");\n const elapsedMs = Math.max(0, (lastTimestamp || now) - (startedAt || now));\n\n traces.push(normalizeTrace({\n traceId: `claude-${pid || sessionId.slice(0, 6)}`,\n cli: \"claude\",\n connectionId: `Claude (${name || pid})`,\n account: workspaceName,\n model,\n provider: detectProvider(model),\n state,\n startedAt: startedAt || now,\n elapsedMs,\n tokens: {\n input: totalIn || 3200,\n output: totalOut || 1100,\n cached: totalCached,\n },\n cost: 0,\n status: \"200\",\n tools: Array.from(toolSet),\n activeTool,\n currentCommand: activeCommand,\n }));\n } catch {\n // ignore single session error\n }\n }\n\n return traces;\n } catch {\n return [];\n }\n}\n","import { getAntigravityTraces } from \"./antigravityWatcher.js\";\nimport { getClaudeTraces } from \"./claudeWatcher.js\";\nimport { extractProviders } from \"../traceContract.js\";\n\n/**\n * WatcherManager aggregates traces across all installed CLI watchers\n * (Antigravity, Claude Code, etc.) with automatic fallback and caching.\n */\nlet cachedTraces = [];\nlet lastFetchTime = 0;\nconst CACHE_TTL_MS = 1500; // 1.5s cache to avoid reading disks too frequently\n\nexport async function getAllLiveTraces(force = false) {\n const now = Date.now();\n if (!force && now - lastFetchTime < CACHE_TTL_MS && cachedTraces.length > 0) {\n return cachedTraces;\n }\n\n const [agyList, claudeList] = await Promise.all([\n getAntigravityTraces().catch(() => []),\n getClaudeTraces().catch(() => []),\n ]);\n\n const combined = [...agyList, ...claudeList];\n\n // Sort: active/streaming/pending first, then by most recent startedAt\n combined.sort((a, b) => {\n const activeA = (a.state === \"streaming\" || a.state === \"pending\") ? 1 : 0;\n const activeB = (b.state === \"streaming\" || b.state === \"pending\") ? 1 : 0;\n if (activeA !== activeB) return activeB - activeA;\n return (b.startedAt || 0) - (a.startedAt || 0);\n });\n\n cachedTraces = combined;\n lastFetchTime = now;\n return combined;\n}\n\nexport function getProvidersFromTraces(traces) {\n return extractProviders(traces);\n}\n","export const MOCK_PRESETS = {\n idle: { agents: 2, errorRatio: 0 },\n busy: { agents: 8, errorRatio: 0 },\n storm: { agents: 30, errorRatio: 0.15 },\n errors: { agents: 10, errorRatio: 0.6 },\n cases: { agents: 16, errorRatio: 0, cases: true },\n};\n\nconst CLIENTS = [\n { account: \"Claude Code · main\", icon: \"terminal\" },\n { account: \"Claude Code · review\", icon: \"rate_review\" },\n { account: \"Antigravity · agent\", icon: \"smart_toy\" },\n { account: \"Antigravity · dev\", icon: \"construction\" },\n { account: \"Cursor · workspace\", icon: \"edit_note\" },\n { account: \"OpenCode · build\", icon: \"science\" },\n { account: \"Aider\", icon: \"smart_toy\" },\n { account: \"Continue · dev\", icon: \"play_arrow\" },\n];\n\nconst PROVIDER_MODELS = [\n { provider: \"claude\", model: \"claude-3-7-sonnet\" },\n { provider: \"gemini\", model: \"gemini-2.5-pro\" },\n { provider: \"openai\", model: \"gpt-4o\" },\n { provider: \"minimax\", model: \"minimax-m2\" },\n { provider: \"deepseek\", model: \"deepseek-v3\" },\n];\n\nconst ERROR_REASONS = [\n \"rate_limited\",\n \"upstream_timeout\",\n \"quota_exhausted\",\n \"auth_refresh_failed\",\n];\n\nexport const MOCK_TOOL_TYPES = [\"bash\", \"read\", \"edit\", \"search\", \"web\", \"mcp\", \"agent\", \"gitnexus\", \"browser\", \"git\", \"docker\"];\n\nconst CASE_DECK = [\n { name: \"sleeping\", state: \"done\", ageMs: 38000 },\n { name: \"happy\", state: \"done\", ageMs: 9000, cost: 1.42 },\n { name: \"pending\", state: \"pending\", ageMs: 2500, tools: [\"todo\"] },\n { name: \"gitnexus\", state: \"streaming\", ageMs: 14000, tools: [\"gitnexus\", \"read\"] },\n { name: \"docker\", state: \"streaming\", ageMs: 15000, tools: [\"docker\", \"bash\"] },\n { name: \"browser\", state: \"streaming\", ageMs: 16000, tools: [\"browser\", \"web\"] },\n { name: \"git+agent\", state: \"streaming\", ageMs: 12000, tools: [\"git\", \"agent\"], concurrent: 4 },\n { name: \"rate_limited\", state: \"error\", ageMs: 6000, error: \"rate_limited\" },\n { name: \"upstream_timeout\", state: \"error\", ageMs: 30000, error: \"upstream_timeout\" },\n { name: \"quota_exhausted\", state: \"error\", ageMs: 8000, error: \"quota_exhausted\" },\n { name: \"auth_refresh_failed\", state: \"error\", ageMs: 5000, error: \"auth_refresh_failed\" },\n { name: \"fallback-1\", state: \"streaming\", ageMs: 13000, tools: [\"bash\"], fallbackShift: 3 },\n { name: \"fallback-2\", state: \"streaming\", ageMs: 14000, tools: [\"browser\", \"mcp\"], fallbackShift: 2 },\n { name: \"slow\", state: \"streaming\", ageMs: 36000, tools: [\"docker\"] },\n { name: \"queue+cached\", state: \"streaming\", ageMs: 10000, tools: [\"read\", \"search\"], concurrent: 5, cachedBoost: true },\n { name: \"expensive\", state: \"done\", ageMs: 20000, cost: 7.35 },\n];\n\nfunction createRandom(seed) {\n let s = seed >>> 0 || 1;\n return () => {\n s ^= s << 13;\n s ^= s >>> 17;\n s ^= s << 5;\n s >>>= 0;\n return s / 4294967296;\n };\n}\n\nfunction pick(rand, list) {\n return list[Math.floor(rand() * list.length) % list.length];\n}\n\nfunction accountTarget(index) {\n return PROVIDER_MODELS[index % PROVIDER_MODELS.length];\n}\n\nfunction randomTokens(rand) {\n return {\n input: Math.round(400 + rand() * 14000),\n output: Math.round(80 + rand() * 2900),\n cached: Math.round(rand() * 6000),\n };\n}\n\nexport function generateMockTraces({ count = 8, errorRatio = 0, seed = 42, now = Date.now(), cases = false } = {}) {\n const rand = createRandom(seed);\n const traces = [];\n\n for (let i = 0; i < count; i += 1) {\n const client = CLIENTS[i % CLIENTS.length];\n const cycle = Math.floor(i / CLIENTS.length) + 1;\n const account = cycle > 1 ? `${client.account} ${cycle}` : client.account;\n const connectionId = `mock-conn-${i}`;\n const target = accountTarget(i);\n const deck = cases ? CASE_DECK[i % CASE_DECK.length] : null;\n const randAge = Math.floor(rand() * 40000);\n const randErr = rand() < errorRatio;\n const ageMs = deck ? deck.ageMs : randAge;\n const startedAt = now - ageMs;\n const isError = deck ? deck.state === \"error\" : randErr;\n\n const ageRatio = ageMs / 40000;\n let state;\n if (deck) state = deck.state;\n else if (isError) state = \"error\";\n else if (ageRatio < 0.25) state = \"pending\";\n else if (ageRatio < 0.6) state = \"streaming\";\n else state = \"done\";\n\n const tokens = randomTokens(rand);\n const toolRand = createRandom(seed * 7919 + i * 104729 + 13);\n const toolCount = state === \"done\" ? 0 : 1 + Math.floor(toolRand() * 3);\n const toolPick = [];\n for (let k = 0; k < toolCount; k += 1) {\n toolPick.push(MOCK_TOOL_TYPES[Math.floor(toolRand() * MOCK_TOOL_TYPES.length)]);\n }\n const toolNames = deck?.tools ?? (state === \"error\" ? [] : toolPick);\n const toolCalls = [];\n for (const tool of toolNames) {\n if (!toolCalls.some((c) => c.tool === tool)) {\n toolCalls.push({ tool, state: toolCalls.length === 0 ? \"running\" : \"queued\" });\n }\n }\n\n const wantsFallback = deck ? !!deck.fallbackShift : toolRand() < 0.28;\n const fallbackProvider = PROVIDER_MODELS[(i + (deck?.fallbackShift ?? 3)) % PROVIDER_MODELS.length].provider;\n const fallback =\n wantsFallback && (state === \"pending\" || state === \"streaming\") && fallbackProvider !== target.provider\n ? { from: fallbackProvider }\n : null;\n\n const concurrent = deck?.concurrent ?? (state === \"done\" || state === \"error\" ? 1 : 1 + Math.floor(toolRand() * 3));\n if (deck?.cachedBoost) tokens.cached = 14000;\n\n traces.push({\n traceId: `mock-${i}-${Math.floor(rand() * 1e6).toString(36)}`,\n cli: \"mock\",\n connectionId,\n account,\n model: target.model,\n provider: target.provider,\n state,\n startedAt,\n elapsedMs: ageMs,\n tokens,\n cost: deck?.cost ?? Math.round((tokens.input * 0.000015 + tokens.output * 0.00006) * 100) / 100,\n status: isError ? \"error\" : \"200\",\n error: isError ? deck?.error ?? pick(rand, ERROR_REASONS) : null,\n clientIcon: client.icon,\n toolCalls,\n tools: toolNames,\n activeTool: toolNames[0] || null,\n currentCommand: toolNames[0] ? `${toolNames[0]} task running...` : null,\n fallback,\n concurrent,\n });\n }\n\n return traces;\n}\n\nexport function mockProviderDescriptors(traces) {\n const seen = new Map();\n for (const trace of traces) {\n if (trace.provider && !seen.has(trace.provider)) {\n seen.set(trace.provider, {\n provider: trace.provider,\n name: trace.provider.charAt(0).toUpperCase() + trace.provider.slice(1),\n });\n }\n }\n return [...seen.values()];\n}\n","import { getAllLiveTraces, getProvidersFromTraces } from \"../../../../lib/watchers/watcherManager.js\";\nimport { generateMockTraces, mockProviderDescriptors, MOCK_PRESETS } from \"../../../../lib/mockTraces.js\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport async function GET(request) {\n const { searchParams } = new URL(request.url);\n const source = searchParams.get(\"source\") || \"live\";\n const mockPreset = searchParams.get(\"mockPreset\") || searchParams.get(\"preset\");\n\n const encoder = new TextEncoder();\n\n const stream = new ReadableStream({\n async start(controller) {\n let isAlive = true;\n\n const send = (data) => {\n if (!isAlive) return;\n try {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify(data)}\\n\\n`));\n } catch {\n isAlive = false;\n }\n };\n\n const pushUpdate = async () => {\n if (!isAlive) return;\n\n if (source === \"mock\" || mockPreset) {\n const presetConfig = MOCK_PRESETS[mockPreset] || MOCK_PRESETS.cases;\n const traces = generateMockTraces({\n count: presetConfig.agents,\n errorRatio: presetConfig.errorRatio,\n cases: !!presetConfig.cases,\n seed: 42,\n });\n const providers = mockProviderDescriptors(traces);\n send({ traces, providers, timestamp: Date.now(), mode: \"mock\", preset: mockPreset || \"cases\" });\n return;\n }\n\n // Live Mode\n try {\n const liveTraces = await getAllLiveTraces();\n const providers = getProvidersFromTraces(liveTraces);\n send({\n traces: liveTraces,\n providers,\n timestamp: Date.now(),\n mode: \"live\",\n activeAgents: liveTraces.filter((t) => t.state === \"streaming\" || t.state === \"pending\").length,\n });\n } catch (err) {\n console.error(\"[SSE] Failed to fetch live traces:\", err);\n }\n };\n\n // Initial push\n await pushUpdate();\n\n // Poll interval: 1.5 seconds for fresh log watcher updates\n const interval = setInterval(async () => {\n if (!isAlive) {\n clearInterval(interval);\n return;\n }\n await pushUpdate();\n }, 1500);\n\n request.signal.addEventListener(\"abort\", () => {\n isAlive = false;\n clearInterval(interval);\n try {\n controller.close();\n } catch {\n // ignore\n }\n });\n },\n });\n\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream; charset=utf-8\",\n \"Cache-Control\": \"no-cache, no-transform\",\n Connection: \"keep-alive\",\n },\n });\n}\n"],"names":["AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","isRouteCacheOwner","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","req","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","previewProps","normalizedSrcPage","isPrerendered","Boolean","routes","cacheOwner","isIsr","dynamicRoutes","render404","prerenderInfo","fallback","adapterPath","cacheKey","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","renderOpts","experimental","authInterrupts","useCacheTimeout","durableUseCacheEntries","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","prerender","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","headers","type","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","status","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","silenceLog","onRequestError","routerKind","routePath","routeType","revalidateReason","isStaticGeneration","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","error","Error","isMiss","delete","getHeader","get","set","Response","headersSent","recordException","setStatus","code","ERROR","message","setAttribute","name","writableEnded","destroyed","setAttributes","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span","normalizeTrace","raw","tokens","traceId","String","Math","random","slice","cli","connectionId","account","model","provider","toLowerCase","state","includes","startedAt","Date","now","elapsedMs","input","Number","output","cached","cost","tools","Array","isArray","activeTool","currentCommand","extractProviders","traces","seen","Set","list","t","p","has","add","push","charAt","toUpperCase"],"mappings":"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","ignoreList":[0]}
|