@sleep2agi/agent-network-dashboard 0.6.3-preview.56 → 0.6.3-preview.58
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_COMMIT +1 -1
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +9 -0
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +143 -93
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +75 -19
- package/.next/required-server-files.js +4 -4
- package/.next/required-server-files.json +4 -4
- package/.next/routes-manifest.json +63 -0
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +14 -14
- package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +16 -16
- package/.next/server/app/admin.segments/_full.segment.rsc +16 -16
- package/.next/server/app/admin.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/api/anet/host-supervisors/route.js.nft.json +1 -1
- package/.next/server/app/api/anet/node-config/route.js +1 -1
- package/.next/server/app/api/anet/node-config/route.js.nft.json +1 -1
- package/.next/server/app/api/hub/people/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/people/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/people/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/people/route.js +7 -0
- package/.next/server/app/api/hub/people/route.js.map +5 -0
- package/.next/server/app/api/hub/people/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/people/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js +7 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js.map +5 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route.js +7 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route.js.map +5 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/requirements/[id]/comments/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/hub/requirements/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/requirements/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/requirements/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/requirements/[id]/route.js +7 -0
- package/.next/server/app/api/hub/requirements/[id]/route.js.map +5 -0
- package/.next/server/app/api/hub/requirements/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/requirements/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/hub/requirements/events/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/requirements/events/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/requirements/events/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/requirements/events/route.js +7 -0
- package/.next/server/app/api/hub/requirements/events/route.js.map +5 -0
- package/.next/server/app/api/hub/requirements/events/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/requirements/events/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/hub/requirements/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/hub/requirements/route/build-manifest.json +12 -0
- package/.next/server/app/api/hub/requirements/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/hub/requirements/route.js +7 -0
- package/.next/server/app/api/hub/requirements/route.js.map +5 -0
- package/.next/server/app/api/hub/requirements/route.js.nft.json +1 -0
- package/.next/server/app/api/hub/requirements/route_client-reference-manifest.js +3 -0
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +16 -16
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +16 -16
- package/.next/server/app/login.segments/_full.segment.rsc +16 -16
- package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/logs/page.js.nft.json +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +16 -16
- package/.next/server/app/logs.segments/_full.segment.rsc +16 -16
- package/.next/server/app/logs.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/messages/page.js.nft.json +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +16 -16
- package/.next/server/app/messages.segments/_full.segment.rsc +16 -16
- package/.next/server/app/messages.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/node/page.js.nft.json +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +16 -16
- package/.next/server/app/node.segments/_full.segment.rsc +16 -16
- package/.next/server/app/node.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/nodes/[alias]/page.js.nft.json +1 -1
- package/.next/server/app/nodes/[alias]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes/page.js.nft.json +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +16 -16
- package/.next/server/app/nodes.segments/_full.segment.rsc +16 -16
- package/.next/server/app/nodes.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/org/page/app-paths-manifest.json +3 -0
- package/.next/server/app/org/page/build-manifest.json +20 -0
- package/.next/server/app/org/page/next-font-manifest.json +11 -0
- package/.next/server/app/org/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/org/page/server-reference-manifest.json +4 -0
- package/.next/server/app/org/page.js +13 -0
- package/.next/server/app/org/page.js.map +5 -0
- package/.next/server/app/org/page.js.nft.json +1 -0
- package/.next/server/app/org/page_client-reference-manifest.js +3 -0
- package/.next/server/app/org.html +12 -0
- package/.next/server/app/org.meta +26 -0
- package/.next/server/app/org.rsc +27 -0
- package/.next/server/app/org.segments/_full.segment.rsc +27 -0
- package/.next/server/app/org.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/org.segments/org/__PAGE__.segment.rsc +32 -0
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers/page.js.nft.json +1 -1
- package/.next/server/app/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers.html +2 -2
- package/.next/server/app/providers.rsc +16 -16
- package/.next/server/app/providers.segments/_full.segment.rsc +16 -16
- package/.next/server/app/providers.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/requirements/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/requirements/[id]/page/build-manifest.json +20 -0
- package/.next/server/app/requirements/[id]/page/next-font-manifest.json +11 -0
- package/.next/server/app/requirements/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/requirements/[id]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/requirements/[id]/page.js +13 -0
- package/.next/server/app/requirements/[id]/page.js.map +5 -0
- package/.next/server/app/requirements/[id]/page.js.nft.json +1 -0
- package/.next/server/app/requirements/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/requirements/page/app-paths-manifest.json +3 -0
- package/.next/server/app/requirements/page/build-manifest.json +20 -0
- package/.next/server/app/requirements/page/next-font-manifest.json +11 -0
- package/.next/server/app/requirements/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/requirements/page/server-reference-manifest.json +4 -0
- package/.next/server/app/requirements/page.js +13 -0
- package/.next/server/app/requirements/page.js.map +5 -0
- package/.next/server/app/requirements/page.js.nft.json +1 -0
- package/.next/server/app/requirements/page_client-reference-manifest.js +3 -0
- package/.next/server/app/requirements.html +12 -0
- package/.next/server/app/requirements.meta +26 -0
- package/.next/server/app/requirements.rsc +27 -0
- package/.next/server/app/requirements.segments/_full.segment.rsc +27 -0
- package/.next/server/app/requirements.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/requirements.segments/requirements/__PAGE__.segment.rsc +32 -0
- package/.next/server/app/scheduled-tasks/page.js.nft.json +1 -1
- package/.next/server/app/scheduled-tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/scheduled-tasks.html +2 -2
- package/.next/server/app/scheduled-tasks.rsc +16 -16
- package/.next/server/app/scheduled-tasks.segments/_full.segment.rsc +16 -16
- package/.next/server/app/scheduled-tasks.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/scheduled-tasks.segments/scheduled-tasks/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/server-logs/page.js.nft.json +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +16 -16
- package/.next/server/app/server-logs.segments/_full.segment.rsc +16 -16
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/servers/page.js.nft.json +1 -1
- package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/servers.html +2 -2
- package/.next/server/app/servers.rsc +16 -16
- package/.next/server/app/servers.segments/_full.segment.rsc +16 -16
- package/.next/server/app/servers.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/settings/networks/page.js.nft.json +1 -1
- package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +2 -2
- package/.next/server/app/settings/networks.rsc +16 -16
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page.js.nft.json +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +16 -16
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +16 -16
- package/.next/server/app/settings.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/skillhub/page.js.nft.json +1 -1
- package/.next/server/app/skillhub/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skillhub.html +2 -2
- package/.next/server/app/skillhub.rsc +16 -16
- package/.next/server/app/skillhub.segments/_full.segment.rsc +16 -16
- package/.next/server/app/skillhub.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/skillhub.segments/skillhub/__PAGE__.segment.rsc +15 -15
- package/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page.js.nft.json +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +16 -16
- package/.next/server/app/tasks.segments/_full.segment.rsc +16 -16
- package/.next/server/app/tasks.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +15 -15
- package/.next/server/app-paths-manifest.json +9 -0
- package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_checklist_[itemId]_route_actions_05mpe5a.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_checklist_[itemId]_route_actions_05mpe5a.js.map +1 -0
- package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_comments_route_actions_1lv4qr1.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_comments_route_actions_1lv4qr1.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0-wvy_a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0-wvy_a._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__053z4wp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__053z4wp._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0if0bw1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0if0bw1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0liwkmx._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0liwkmx._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0q9xwca._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0q9xwca._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1941b2h._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1941b2h._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1_rzyvn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_rzyvn._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1vua9gf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vua9gf._.js.map +1 -0
- package/.next/server/chunks/_05lpz54._.js +1 -1
- package/.next/server/chunks/_05lpz54._.js.map +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_hub_people_route_actions_01pw78e.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_people_route_actions_01pw78e.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_[id]_route_actions_1jkq5c6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_[id]_route_actions_1jkq5c6.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_events_route_actions_1ypnpu5.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_events_route_actions_1ypnpu5.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_route_actions_1lyeno6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_route_actions_1lyeno6.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0-94ipy._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0-94ipy._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09n7eih._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09n7eih._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ol09h3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ol09h3._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14k36ti._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14k36ti._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1bn1jjm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1bn1jjm._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1ovdbox._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ovdbox._.js.map +1 -1
- package/.next/server/chunks/ssr/_0q4m25o._.js +0 -0
- package/.next/server/chunks/ssr/_0q4m25o._.js.map +1 -1
- package/.next/server/chunks/ssr/_1z1o6o3._.js +0 -0
- package/.next/server/chunks/ssr/_1z1o6o3._.js.map +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_org_page_actions_0hbcef1.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_org_page_actions_0hbcef1.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_requirements_[id]_page_actions_1wjoy4l.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_requirements_[id]_page_actions_1wjoy4l.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_requirements_page_actions_0x9m0gy.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_requirements_page_actions_0x9m0gy.js.map +1 -0
- package/.next/server/chunks/ssr/app_05mfyco._.js +3 -0
- package/.next/server/chunks/ssr/app_05mfyco._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_0_s8u96._.js → app_07bzc6w._.js} +1 -1
- package/.next/server/chunks/ssr/app_099f0wg._.js +3 -0
- package/.next/server/chunks/ssr/app_099f0wg._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_1oxcq68._.js → app_0g7oz9w._.js} +1 -1
- package/.next/server/chunks/ssr/app_0iz553k._.js +1 -1
- package/.next/server/chunks/ssr/app_0iz553k._.js.map +1 -1
- package/.next/server/chunks/ssr/app_0los-eu._.js +1 -1
- package/.next/server/chunks/ssr/app_0los-eu._.js.map +1 -1
- package/.next/server/chunks/ssr/{app_0x7s72b._.js → app_0tt2ueo._.js} +1 -1
- package/.next/server/chunks/ssr/{app_081zy6c._.js → app_0ugqkd7._.js} +1 -1
- package/.next/server/chunks/ssr/app_1auk3il._.js +11 -0
- package/.next/server/chunks/ssr/app_1auk3il._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_0o4bxq0._.js → app_1e91uc-._.js} +1 -1
- package/.next/server/chunks/ssr/{app_1psh956._.js → app_1f96aq_._.js} +1 -1
- package/.next/server/chunks/ssr/app_1rma_8a._.js +11 -0
- package/.next/server/chunks/ssr/app_1rma_8a._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_0_dhiwi._.js → app_1ua57bx._.js} +1 -1
- package/.next/server/chunks/ssr/app_components_04a31va._.js +1 -1
- package/.next/server/chunks/ssr/app_components_04a31va._.js.map +1 -1
- package/.next/server/chunks/ssr/{app_lib_10o69j_._.js → app_lib_20-pe_0._.js} +2 -2
- package/.next/server/chunks/ssr/{app_lib_10o69j_._.js.map → app_lib_20-pe_0._.js.map} +1 -1
- package/.next/server/chunks/ssr/app_nodes_NodesView_tsx_1w6_d8p._.js +2 -2
- package/.next/server/chunks/ssr/app_nodes_NodesView_tsx_1w6_d8p._.js.map +1 -1
- package/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +1 -1
- package/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js.map +1 -1
- package/.next/server/chunks/ssr/app_scheduled-tasks_page_tsx_0xs70_6._.js +1 -1
- package/.next/server/chunks/ssr/app_scheduled-tasks_page_tsx_0xs70_6._.js.map +1 -1
- package/.next/server/chunks/ssr/app_tasks_TasksView_tsx_068vqml._.js +1 -1
- package/.next/server/chunks/ssr/app_tasks_TasksView_tsx_068vqml._.js.map +1 -1
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware.js.nft.json +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +12 -0
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +28 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_clientMiddlewareManifest.js +4 -0
- package/.next/static/chunks/{27b9kqyo7bmdr.js → 08-obrj2goweb.js} +2 -2
- package/.next/static/chunks/0fih4pzed1syn.js +9 -0
- package/.next/static/chunks/0iiu4-g5k8jcq.js +1 -0
- package/.next/static/chunks/{37booeyruo9_l.js → 0iz44n632kw4w.js} +1 -1
- package/.next/static/chunks/0jt-1caejz1jv.js +1 -0
- package/.next/static/chunks/0k-4980o5t7_r.css +1 -0
- package/.next/static/chunks/{0agh8mvmpke4j.js → 0z9tzvfwtc16z.js} +1 -1
- package/.next/static/chunks/114pblaedlrqs.js +1 -0
- package/.next/static/chunks/1tcaw8g6u6o-4.js +1 -0
- package/.next/static/chunks/1v5-qgib9884o.js +0 -0
- package/.next/static/chunks/{02303d1rbqx74.js → 2-x9r-1t3c1mn.js} +1 -1
- package/.next/static/chunks/{28o3ssg0_q2n-.js → 26bpf-fpc6zpt.js} +1 -1
- package/.next/static/chunks/2anlzel60my8y.js +2 -0
- package/.next/static/chunks/{3jxk7q1jxyvol.js → 2divamiv1re3v.js} +1 -1
- package/.next/static/chunks/3cb3_kcec7bms.js +1 -0
- package/.next/static/chunks/{233p45nuh4m5b.css → 3d-1vk5hzu5rq.css} +2 -2
- package/.next/static/chunks/3u059pjgl4gcw.js +1 -0
- package/.next/static/chunks/3vv0y_64bnnsf.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +11 -2
- package/.next/types/validator.ts +81 -0
- package/.vercel/.env.development.local +2 -0
- package/.vercel/.env.production.local +25 -0
- package/.vercel/README.txt +11 -0
- package/.vercel/output/builds.json +23 -0
- package/.vercel/output/config.json +489 -0
- package/.vercel/output/diagnostics/build-diagnostics.json +6 -0
- package/.vercel/output/diagnostics/cli_traces.json +1 -0
- package/.vercel/output/diagnostics/framework.json +1 -0
- package/.vercel/output/diagnostics/route-bundle-stats.json +245 -0
- package/.vercel/output/diagnostics/trace +2 -0
- package/.vercel/output/diagnostics/trace-build +1 -0
- package/.vercel/output/diagnostics/turbopack +0 -0
- package/.vercel/output/functions/_global-error.prerender-config.json +38 -0
- package/.vercel/output/functions/_global-error.prerender-fallback.html +1 -0
- package/.vercel/output/functions/_global-error.rsc.func/.next/routes-manifest.json +1 -0
- package/.vercel/output/functions/_global-error.rsc.func/.next/server/app-paths-manifest.json +1 -0
- package/.vercel/output/functions/_global-error.rsc.func/.next/server/pages-manifest.json +1 -0
- package/.vercel/output/functions/_global-error.rsc.func/.vc-config.json +807 -0
- package/.vercel/output/functions/_global-error.rsc.func/___next_launcher.cjs +68 -0
- package/.vercel/output/functions/_global-error.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/_global-error.rsc.prerender-fallback.rsc +15 -0
- package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-fallback.rsc +15 -0
- package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-fallback.rsc +1 -0
- package/.vercel/output/functions/_middleware.func/.vc-config.json +107 -0
- package/.vercel/output/functions/_middleware.func/___next_launcher.cjs +135 -0
- package/.vercel/output/functions/_not-found.prerender-config.json +38 -0
- package/.vercel/output/functions/_not-found.prerender-fallback.html +12 -0
- package/.vercel/output/functions/_not-found.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/_not-found.rsc.prerender-fallback.rsc +21 -0
- package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-fallback.rsc +21 -0
- package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
- package/.vercel/output/functions/admin.prerender-config.json +37 -0
- package/.vercel/output/functions/admin.prerender-fallback.html +12 -0
- package/.vercel/output/functions/admin.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/admin.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/api/anet/config.func/.next/routes-manifest.json +1 -0
- package/.vercel/output/functions/api/anet/config.func/.next/server/app-paths-manifest.json +1 -0
- package/.vercel/output/functions/api/anet/config.func/.next/server/pages-manifest.json +1 -0
- package/.vercel/output/functions/api/anet/config.func/.vc-config.json +818 -0
- package/.vercel/output/functions/api/anet/config.func/___next_launcher.cjs +68 -0
- package/.vercel/output/functions/index.prerender-config.json +38 -0
- package/.vercel/output/functions/index.prerender-fallback.html +12 -0
- package/.vercel/output/functions/index.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/index.rsc.prerender-fallback.rsc +25 -0
- package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-fallback.rsc +25 -0
- package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/login.prerender-config.json +37 -0
- package/.vercel/output/functions/login.prerender-fallback.html +6 -0
- package/.vercel/output/functions/login.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/login.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/logs.prerender-config.json +37 -0
- package/.vercel/output/functions/logs.prerender-fallback.html +12 -0
- package/.vercel/output/functions/logs.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/logs.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/manifest.webmanifest.func/.next/routes-manifest.json +1 -0
- package/.vercel/output/functions/manifest.webmanifest.func/.next/server/app-paths-manifest.json +1 -0
- package/.vercel/output/functions/manifest.webmanifest.func/.next/server/pages-manifest.json +1 -0
- package/.vercel/output/functions/manifest.webmanifest.func/.vc-config.json +715 -0
- package/.vercel/output/functions/manifest.webmanifest.func/___next_launcher.cjs +68 -0
- package/.vercel/output/functions/manifest.webmanifest.prerender-config.json +38 -0
- package/.vercel/output/functions/manifest.webmanifest.prerender-fallback.body +1 -0
- package/.vercel/output/functions/messages.prerender-config.json +37 -0
- package/.vercel/output/functions/messages.prerender-fallback.html +12 -0
- package/.vercel/output/functions/messages.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/messages.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/node.prerender-config.json +37 -0
- package/.vercel/output/functions/node.prerender-fallback.html +12 -0
- package/.vercel/output/functions/node.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/node.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/nodes.prerender-config.json +37 -0
- package/.vercel/output/functions/nodes.prerender-fallback.html +12 -0
- package/.vercel/output/functions/nodes.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/nodes.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/server-logs.prerender-config.json +37 -0
- package/.vercel/output/functions/server-logs.prerender-fallback.html +12 -0
- package/.vercel/output/functions/server-logs.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/server-logs.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/servers.prerender-config.json +37 -0
- package/.vercel/output/functions/servers.prerender-fallback.html +12 -0
- package/.vercel/output/functions/servers.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/servers.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/servers.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/servers.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/servers.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/servers.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/servers.segments/servers/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/servers/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/servers.segments/servers.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/servers.segments/servers.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/networks.prerender-config.json +37 -0
- package/.vercel/output/functions/settings/networks.prerender-fallback.html +12 -0
- package/.vercel/output/functions/settings/networks.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/settings/networks.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/tokens.prerender-config.json +37 -0
- package/.vercel/output/functions/settings/tokens.prerender-fallback.html +12 -0
- package/.vercel/output/functions/settings/tokens.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/settings/tokens.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings.prerender-config.json +37 -0
- package/.vercel/output/functions/settings.prerender-fallback.html +12 -0
- package/.vercel/output/functions/settings.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/settings.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/tasks/[id].func/.next/routes-manifest.json +1 -0
- package/.vercel/output/functions/tasks/[id].func/.next/server/app-paths-manifest.json +1 -0
- package/.vercel/output/functions/tasks/[id].func/.next/server/pages-manifest.json +1 -0
- package/.vercel/output/functions/tasks/[id].func/.vc-config.json +713 -0
- package/.vercel/output/functions/tasks/[id].func/___next_launcher.cjs +68 -0
- package/.vercel/output/functions/tasks.prerender-config.json +37 -0
- package/.vercel/output/functions/tasks.prerender-fallback.html +12 -0
- package/.vercel/output/functions/tasks.rsc.prerender-config.json +38 -0
- package/.vercel/output/functions/tasks.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
- package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
- package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
- package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
- package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-config.json +28 -0
- package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-fallback.rsc +5 -0
- package/.vercel/output/static/404.html +12 -0
- package/.vercel/output/static/404.rsc.json +1 -0
- package/.vercel/output/static/404.segments/_tree.segment.rsc.json +1 -0
- package/.vercel/output/static/500.html +1 -0
- package/.vercel/output/static/500.rsc.json +1 -0
- package/.vercel/output/static/500.segments/_tree.segment.rsc.json +1 -0
- package/.vercel/output/static/_next/__private/trace +2 -0
- package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_buildManifest.js +11 -0
- package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_clientMiddlewareManifest.js +42 -0
- package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_ssgManifest.js +1 -0
- package/.vercel/output/static/_next/static/chunks/00~h525bo.q7f.js +1 -0
- package/.vercel/output/static/_next/static/chunks/01xlw8hd842-c.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0257pdz1-imal.js +2 -0
- package/.vercel/output/static/_next/static/chunks/03~yq9q893hmn.js +1 -0
- package/.vercel/output/static/_next/static/chunks/04uju~n5s9g7..css +1 -0
- package/.vercel/output/static/_next/static/chunks/066jf0nk75nic.css +2 -0
- package/.vercel/output/static/_next/static/chunks/085gdrlppedvd.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0a5rikwbpt8_7.js +4 -0
- package/.vercel/output/static/_next/static/chunks/0b9r.-87w.lvh.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0ced2tacwy8v7.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0e-.zgw81gela.js +31 -0
- package/.vercel/output/static/_next/static/chunks/0gu130fpple04.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0jmypv56.iwft.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0krr-nvdwqdj1.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0mqs00d_9jvzx.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0ore4vqiwv2nx.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0pqt~8bl3ukh4.js +4 -0
- package/.vercel/output/static/_next/static/chunks/0q.t7da_-e4yl.js +4 -0
- package/.vercel/output/static/_next/static/chunks/0q3rj30g1oodv.js +7 -0
- package/.vercel/output/static/_next/static/chunks/0qp3_l.t4nzzq.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0qy1ci2dqfaqg.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0u359llqm1_01.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0u7ftv8celiqa.js +1 -0
- package/.vercel/output/static/_next/static/chunks/0~ijg-d65glam.js +1 -0
- package/.vercel/output/static/_next/static/chunks/14bsg3_-taiw4.js +1 -0
- package/.vercel/output/static/_next/static/chunks/168q2d2bi7swr.js +7 -0
- package/.vercel/output/static/_next/static/chunks/16aqsgrwba4zk.js +1 -0
- package/.vercel/output/static/_next/static/chunks/16tw8s4cce9_x.js +1 -0
- package/.vercel/output/static/_next/static/chunks/turbopack-01f1xs~cq_~si.js +1 -0
- package/.vercel/output/static/_next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
- package/.vercel/output/static/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
- package/.vercel/output/static/_next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
- package/.vercel/output/static/_next/static/not-found.txt +1 -0
- package/.vercel/project.json +16 -0
- package/AGENTS.md +9 -0
- package/CLAUDE.md +1 -0
- package/README.md +1 -0
- package/app/api/anet/host-supervisors/route.ts +63 -2
- package/app/api/anet/node-config/route.ts +145 -168
- package/app/api/hub/people/route.ts +48 -0
- package/app/api/hub/requirements/[id]/checklist/[itemId]/route.ts +54 -0
- package/app/api/hub/requirements/[id]/comments/route.ts +51 -0
- package/app/api/hub/requirements/[id]/route.ts +89 -0
- package/app/api/hub/requirements/events/route.ts +45 -0
- package/app/api/hub/requirements/route.ts +53 -0
- package/app/components/CreateNodeWizard.tsx +7 -2
- package/app/components/HostSupervisorPicker.tsx +76 -29
- package/app/components/NodeSettingsPanel.tsx +28 -25
- package/app/components/Sidebar.tsx +4 -0
- package/app/components/TaskChatPanel.tsx +6 -6
- package/app/components/TaskDetail.tsx +8 -7
- package/app/components/TaskList.tsx +6 -7
- package/app/components/TopoGraph.tsx +3 -2
- package/app/lib/time.ts +23 -0
- package/app/org/page.tsx +222 -0
- package/app/requirements/[id]/page.tsx +361 -0
- package/app/requirements/page.tsx +299 -0
- package/app/scheduled-tasks/page.tsx +98 -13
- package/apps/desktop/icon.png +0 -0
- package/bun.lock +1688 -0
- package/electron-builder.json +5 -1
- package/package.json +4 -2
- package/proxy.ts +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dwa10z._.js +0 -11
- package/.next/server/chunks/ssr/[root-of-the-server]__0dwa10z._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__202xetf._.js +0 -11
- package/.next/server/chunks/ssr/[root-of-the-server]__202xetf._.js.map +0 -1
- package/.next/static/chunks/0pton-t_-fqyu.css +0 -1
- package/.next/static/chunks/0z8vfpga444t1.js +0 -1
- package/.next/static/chunks/14c8u_tcund0g.js +0 -0
- package/.next/static/chunks/2kp8-5cyc-jbg.js +0 -1
- package/.next/static/chunks/3a53_ky07bdhz.js +0 -9
- package/.next/static/chunks/3im40-b21df3u.js +0 -2
- package/.next/static/chunks/3tnbxlq42_jjv.js +0 -1
- /package/.next/server/chunks/ssr/{app_0_s8u96._.js.map → app_07bzc6w._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_0o4bxq0._.js.map → app_0g7oz9w._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_0x7s72b._.js.map → app_0tt2ueo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_081zy6c._.js.map → app_0ugqkd7._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_1oxcq68._.js.map → app_1e91uc-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_1psh956._.js.map → app_1f96aq_._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{app_0_dhiwi._.js.map → app_1ua57bx._.js.map} +0 -0
- /package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_buildManifest.js +0 -0
- /package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},36604,e=>{"use strict";var t=e.i(282);let r=process.env.COMMHUB_URL||"http://127.0.0.1:9200";async function a(){let e=await (0,t.getV3UserToken)(),r={};return e&&(r.Authorization=`Bearer ${e}`),r}async function n(e){let n=await (0,t.requireDashboardAuth)();if(n)return n;let{searchParams:s}=new URL(e.url),i=new URLSearchParams;for(let e of["status","tag","project_id","owner","agent_owner","q","limit","cursor","view","parent_id"]){let t=s.get(e);t&&i.set(e,t)}i.has("limit")||i.set("limit","100"),i.has("view")||i.set("view","summary");try{let e=await fetch(`${r}/api/requirements?${i.toString()}`,{headers:await a(),next:{revalidate:0}});if(!(e.headers.get("content-type")||"").includes("application/json"))return Response.json({ok:!1,error:"hub_not_json",status:e.status},{status:502});let t=await e.json();return Response.json(t,{status:e.status})}catch(e){return Response.json({ok:!1,error:"CommHub unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["GET",0,n])},82302,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),v=e.i(10372),R=e.i(93695);e.i(52474);var m=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/requirements/route",pathname:"/api/hub/requirements",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/requirements/route.ts",nextConfigOutput:"",userland:()=>e.r(36604),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:f,serverHooks:E}=g;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/hub/requirements/route";w=w.replace(/\/index$/,"")||"/";let f=await g.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:y,params:C,nextConfig:b,parsedUrl:q,isDraftMode:A,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:N}=f,O=(0,o.normalizeAppPath)(w),H=!!(T.dynamicRoutes[O]||T.routes[P]),U=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,q,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!T.routes[P],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let M=null;!H||g.isDev||A||(M="/index"===(M=P)?"/":M);let I=!0===g.isDev||!H,D=H&&!I;N&&k&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:N});let L=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,T,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:I,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,S)},sharedContext:{buildId:E,deploymentId:y}},X=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!K&&j&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(W,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,S),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:_,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:K});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",j?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);K&&H||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,z,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,S),H)throw t;await (0,c.sendResponse)(X,z,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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||O,o=`${L} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(F&&B)await J(B,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>J(e,t)),void 0,!F)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:f})},"routeModule",0,g,"serverHooks",0,E,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,f])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0q9xwca._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../app/api/hub/requirements/route.ts","../../../node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { requireDashboardAuth, getV3UserToken } from '@/app/lib/dashboard-auth';\n\nconst HUB_URL = process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n\nasync function hubHeaders(): Promise<Record<string, string>> {\n const userToken = await getV3UserToken();\n const h: Record<string, string> = {};\n if (userToken) h['Authorization'] = `Bearer ${userToken}`;\n return h;\n}\n\n/**\n * Requirements (需求) list proxy — #1633.\n *\n * The dashboard has always been about dispatch tasks (/api/tasks); the\n * requirement board people actually work from had no route here at all.\n * Hub side is a plain REST read, so this stays a thin proxy: filters in,\n * `{ok, requirements[], has_more, next_cursor}` out, no reshaping.\n */\nexport async function GET(req: Request) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { searchParams } = new URL(req.url);\n const params = new URLSearchParams();\n for (const key of ['status', 'tag', 'project_id', 'owner', 'agent_owner', 'q', 'limit', 'cursor', 'view', 'parent_id']) {\n const value = searchParams.get(key);\n if (value) params.set(key, value);\n }\n if (!params.has('limit')) params.set('limit', '100');\n if (!params.has('view')) params.set('view', 'summary');\n\n try {\n const res = await fetch(`${HUB_URL}/api/requirements?${params.toString()}`, {\n headers: await hubHeaders(),\n next: { revalidate: 0 },\n });\n const contentType = res.headers.get('content-type') || '';\n if (!contentType.includes('application/json')) {\n return Response.json(\n { ok: false, error: 'hub_not_json', status: res.status },\n { status: 502 },\n );\n }\n const data = await res.json();\n return Response.json(data, { status: res.status });\n } catch (e: unknown) {\n return Response.json(\n { ok: false, error: 'CommHub unreachable', detail: e instanceof Error ? e.message : String(e) },\n { status: 502 },\n );\n }\n}\n","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 {\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 } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\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 isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\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 const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\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 prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\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 onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\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 = await routeModule.handle(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,\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 prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\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,\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.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\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"],"names":["HUB_URL","process","env","COMMHUB_URL","hubHeaders","userToken","h","GET","req","authFailure","searchParams","URL","url","params","URLSearchParams","key","value","get","set","has","res","fetch","toString","headers","next","revalidate","contentType","includes","Response","json","ok","error","status","data","e","detail","Error","message","String","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","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","ctx","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","type","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","isMiss","delete","getHeader","setAttributes","setStatus","code","ERROR","setAttribute","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","span"],"mappings":"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","ignoreList":[1]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},75609,e=>{"use strict";var t=e.i(282);let r=process.env.COMMHUB_URL||"http://127.0.0.1:9200";async function a(){let e=await (0,t.getV3UserToken)(),r={};return e&&(r.Authorization=`Bearer ${e}`),r}async function n(e,n){let s,i=await (0,t.requireDashboardAuth)();if(i)return i;let{id:o,itemId:l}=await n.params;if(!/^req_[A-Za-z0-9_-]+$/.test(o||"")||!/^[A-Za-z0-9_-]{1,40}$/.test(l||""))return Response.json({ok:!1,error:"invalid_checklist_target"},{status:400});try{s=await e.json()}catch{return Response.json({ok:!1,error:"invalid_json"},{status:400})}if("boolean"!=typeof s.done)return Response.json({ok:!1,error:"done_must_be_boolean"},{status:400});try{let e=await fetch(`${r}/api/requirements/${encodeURIComponent(o)}/checklist/${encodeURIComponent(l)}`,{method:"PATCH",headers:{...await a(),"Content-Type":"application/json"},body:JSON.stringify({done:s.done}),next:{revalidate:0}}),t=await e.json().catch(()=>({}));return Response.json(t,{status:e.status})}catch(e){return Response.json({ok:!1,error:"CommHub unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["PATCH",0,n])},69259,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),R=e.i(10372),m=e.i(93695);e.i(52474);var v=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/requirements/[id]/checklist/[itemId]/route",pathname:"/api/hub/requirements/[id]/checklist/[itemId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/requirements/[id]/checklist/[itemId]/route.ts",nextConfigOutput:"",userland:()=>e.r(75609),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:C}=g;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/hub/requirements/[id]/checklist/[itemId]/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:E,nextConfig:b,parsedUrl:A,isDraftMode:q,prerenderManifest:T,routerServerContext:k,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:N}=w,H=(0,o.normalizeAppPath)(f),I=!!(T.dynamicRoutes[H]||T.routes[P]),O=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!q){let e=!!T.routes[P],t=T.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await O();throw new m.NoFallbackError}}let U=null;!I||g.isDev||q||(U="/index"===(U=P)?"/":U);let M=!0===g.isDev||!I,D=I&&!M;N&&S&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:N});let $=e.method||"GET",B=(0,s.getTracer)(),F=B.getActiveScopeSpan(),K=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,T,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let z={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,k)},sharedContext:{buildId:C,deploymentId:y}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),W=async({previousCacheEntry:r})=>{try{if(!L&&_&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(Z,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=z.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(V,X,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[R.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,k),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,responseGenerator:W,waitUntil:a.waitUntil,isMinimalMode:L});if(!I)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),q&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);L&&I||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(V,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,k),I)throw t;await (0,c.sendResponse)(V,X,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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||H,o=`${$} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(K&&F)await J(F,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>J(e,t)),void 0,!K)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,C,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1941b2h._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../app/api/hub/requirements/%5Bid%5D/checklist/%5BitemId%5D/route.ts","../../../node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { requireDashboardAuth, getV3UserToken } from '@/app/lib/dashboard-auth';\n\nconst HUB_URL = process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n\nasync function hubHeaders(): Promise<Record<string, string>> {\n const userToken = await getV3UserToken();\n const h: Record<string, string> = {};\n if (userToken) h['Authorization'] = `Bearer ${userToken}`;\n return h;\n}\n\n/**\n * Checklist toggle — #1634. Only that one item is written (Hub patches a\n * single entry), so two people editing different items do not clobber\n * each other.\n */\nexport async function PATCH(req: Request, ctx: { params: Promise<{ id: string; itemId: string }> }) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { id, itemId } = await ctx.params;\n if (!/^req_[A-Za-z0-9_-]+$/.test(id || '') || !/^[A-Za-z0-9_-]{1,40}$/.test(itemId || '')) {\n return Response.json({ ok: false, error: 'invalid_checklist_target' }, { status: 400 });\n }\n\n let body: { done?: unknown };\n try {\n body = await req.json();\n } catch {\n return Response.json({ ok: false, error: 'invalid_json' }, { status: 400 });\n }\n if (typeof body.done !== 'boolean') {\n return Response.json({ ok: false, error: 'done_must_be_boolean' }, { status: 400 });\n }\n\n try {\n const res = await fetch(\n `${HUB_URL}/api/requirements/${encodeURIComponent(id)}/checklist/${encodeURIComponent(itemId)}`,\n {\n method: 'PATCH',\n headers: { ...(await hubHeaders()), 'Content-Type': 'application/json' },\n body: JSON.stringify({ done: body.done }),\n next: { revalidate: 0 },\n },\n );\n const data = await res.json().catch(() => ({}));\n return Response.json(data, { status: res.status });\n } catch (e: unknown) {\n return Response.json(\n { ok: false, error: 'CommHub unreachable', detail: e instanceof Error ? e.message : String(e) },\n { status: 502 },\n );\n }\n}\n","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 {\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 } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\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 isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\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 const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\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 prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\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 onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\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 = await routeModule.handle(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,\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 prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\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,\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.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\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"],"names":["HUB_URL","process","env","COMMHUB_URL","hubHeaders","userToken","h","PATCH","req","ctx","authFailure","id","itemId","params","test","Response","json","ok","error","status","body","done","res","fetch","encodeURIComponent","method","headers","JSON","stringify","next","revalidate","data","catch","e","detail","Error","message","String","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","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","type","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","isMiss","delete","getHeader","get","set","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"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","ignoreList":[1]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},35259,e=>{"use strict";var t=e.i(282);let r=process.env.COMMHUB_URL||"http://127.0.0.1:9200";async function a(){let e=await (0,t.getV3UserToken)(),r={};return e&&(r.Authorization=`Bearer ${e}`),r}async function n(e,n){let s,o=await (0,t.requireDashboardAuth)();if(o)return o;let{id:i}=await n.params;if(!/^req_[A-Za-z0-9_-]+$/.test(i||""))return Response.json({ok:!1,error:"invalid_requirement_id"},{status:400});try{s=await e.json()}catch{return Response.json({ok:!1,error:"invalid_json"},{status:400})}let l="string"==typeof s.text?s.text.trim():"";if(!l)return Response.json({ok:!1,error:"invalid_comment",field:"text"},{status:400});if(l.length>4e3)return Response.json({ok:!1,error:"comment_too_long"},{status:400});try{let e=await fetch(`${r}/api/requirements/${encodeURIComponent(i)}/comments`,{method:"POST",headers:{...await a(),"Content-Type":"application/json"},body:JSON.stringify({text:l}),next:{revalidate:0}}),t=await e.json().catch(()=>({}));return Response.json(t,{status:e.status})}catch(e){return Response.json({ok:!1,error:"CommHub unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["POST",0,n])},75045,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),m=e.i(10372),R=e.i(93695);e.i(52474);var v=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/requirements/[id]/comments/route",pathname:"/api/hub/requirements/[id]/comments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/requirements/[id]/comments/route.ts",nextConfigOutput:"",userland:()=>e.r(35259),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/hub/requirements/[id]/comments/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:C,params:E,nextConfig:b,parsedUrl:q,isDraftMode:A,prerenderManifest:T,routerServerContext:j,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:N}=w,O=(0,i.normalizeAppPath)(f),H=!!(T.dynamicRoutes[O]||T.routes[P]),U=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,q,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!T.routes[P],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let I=null;!H||g.isDev||A||(I="/index"===(I=P)?"/":I);let M=!0===g.isDev||!H,D=H&&!M;N&&k&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:k,serverActionsManifest:N});let $=e.method||"GET",B=(0,s.getTracer)(),F=B.getActiveScopeSpan(),K=!!(null==j?void 0:j.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,T,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,j)},sharedContext:{buildId:y,deploymentId:C}},z=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!L&&_&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(W,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(z,X,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[m.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,j),t}},J=async(n,o)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:L});if(!H)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);L&&H||s.delete(m.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(z,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,j),H)throw t;await (0,c.sendResponse)(z,X,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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||O,i=`${$} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(K&&F)await J(F,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>J(e,t)),void 0,!K)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1_rzyvn._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../app/api/hub/requirements/%5Bid%5D/comments/route.ts","../../../node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { requireDashboardAuth, getV3UserToken } from '@/app/lib/dashboard-auth';\n\nconst HUB_URL = process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n\nasync function hubHeaders(): Promise<Record<string, string>> {\n const userToken = await getV3UserToken();\n const h: Record<string, string> = {};\n if (userToken) h['Authorization'] = `Bearer ${userToken}`;\n return h;\n}\n\n/**\n * Comments — #1634. Hub's path is the plural `/comments` (a singular\n * `/comment` route 404s); it requires non-empty `text` and appends to the\n * timeline without touching the description.\n */\nexport async function POST(req: Request, ctx: { params: Promise<{ id: string }> }) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { id } = await ctx.params;\n if (!/^req_[A-Za-z0-9_-]+$/.test(id || '')) {\n return Response.json({ ok: false, error: 'invalid_requirement_id' }, { status: 400 });\n }\n\n let body: { text?: unknown };\n try {\n body = await req.json();\n } catch {\n return Response.json({ ok: false, error: 'invalid_json' }, { status: 400 });\n }\n const text = typeof body.text === 'string' ? body.text.trim() : '';\n if (!text) return Response.json({ ok: false, error: 'invalid_comment', field: 'text' }, { status: 400 });\n if (text.length > 4000) return Response.json({ ok: false, error: 'comment_too_long' }, { status: 400 });\n\n try {\n const res = await fetch(`${HUB_URL}/api/requirements/${encodeURIComponent(id)}/comments`, {\n method: 'POST',\n headers: { ...(await hubHeaders()), 'Content-Type': 'application/json' },\n body: JSON.stringify({ text }),\n next: { revalidate: 0 },\n });\n const data = await res.json().catch(() => ({}));\n return Response.json(data, { status: res.status });\n } catch (e: unknown) {\n return Response.json(\n { ok: false, error: 'CommHub unreachable', detail: e instanceof Error ? e.message : String(e) },\n { status: 502 },\n );\n }\n}\n","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 {\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 } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\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 isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\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 const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\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 prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\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 onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\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 = await routeModule.handle(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,\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 prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\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,\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.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\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"],"names":["HUB_URL","process","env","COMMHUB_URL","hubHeaders","userToken","h","POST","req","ctx","authFailure","id","params","test","Response","json","ok","error","status","body","text","trim","field","length","res","fetch","encodeURIComponent","method","headers","JSON","stringify","next","revalidate","data","catch","e","detail","Error","message","String","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","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","type","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","isMiss","delete","getHeader","get","set","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"q7CAAA,IAAA,EAAA,EAAA,CAAA,CAAA,KAEA,IAAMA,EAAUC,QAAQC,GAAG,CAACC,WAAW,EAAI,wBAE3C,eAAeC,IACb,IAAMC,EAAY,MAAM,CAAA,EAAA,EAAA,cAAA,AAAc,IAChCC,EAA4B,CAAC,EAEnC,OADID,IAAWC,CAAC,CAAC,aAAgB,CAAG,CAAC,OAAO,EAAED,EAAAA,CAAAA,AAAW,EAClDC,CACT,CAOO,eAAeC,EAAKC,CAAY,CAAEC,CAAwC,EAC/E,IAQIU,EARET,EAAc,MAAM,CAAA,EAAA,EAAA,oBAAA,AAAoB,IAC9C,GAAIA,EAAa,OAAOA,EAExB,GAAM,IAAEC,CAAE,CAAE,CAAG,MAAMF,EAAIG,MAAM,CAC/B,GAAI,CAAC,uBAAuBC,IAAI,CAACF,GAAM,IACrC,CAD0C,MACnCG,SAASC,IAAI,CAAC,CAAEC,IAAI,EAAOC,MAAO,wBAAyB,EAAG,CAAEC,OAAQ,GAAI,GAIrF,GAAI,CACFC,EAAO,MAAMX,EAAIO,IAAI,EACvB,CAAE,KAAM,CACN,OAAOD,SAASC,IAAI,CAAC,CAAEC,IAAI,EAAOC,MAAO,cAAe,EAAG,CAAEC,OAAQ,GAAI,EAC3E,CACA,IAAME,EAA4B,UAArB,OAAOD,EAAKC,IAAI,CAAgBD,EAAKC,IAAI,CAACC,IAAI,GAAK,GAChE,GAAI,CAACD,EAAM,OAAON,SAASC,IAAI,CAAC,CAAEC,IAAI,EAAOC,MAAO,kBAAmBK,MAAO,MAAO,EAAG,CAAEJ,OAAQ,GAAI,GACtG,GAAIE,EAAKG,MAAM,CAAG,IAAM,OAAOT,SAASC,IAAI,CAAC,CAAEC,IAAI,EAAOC,MAAO,kBAAmB,EAAG,CAAEC,OAAQ,GAAI,GAErG,GAAI,CACF,IAAMM,EAAM,MAAMC,MAAM,CAAA,EAAGzB,EAAQ,kBAAkB,EAAE0B,mBAAmBf,GAAI,SAAS,CAAC,CAAE,CACxFgB,OAAQ,OACRC,QAAS,CAAE,GAAI,MAAMxB,GAAY,CAAG,eAAgB,kBAAmB,EACvEe,KAAMU,KAAKC,SAAS,CAAC,MAAEV,CAAK,GAC5BW,KAAM,CAAEC,WAAY,CAAE,CACxB,GACMC,EAAO,MAAMT,EAAIT,IAAI,GAAGmB,KAAK,CAAC,IAAM,CAAC,EAAC,CAAC,EAC7C,OAAOpB,SAASC,IAAI,CAACkB,EAAM,CAAEf,OAAQM,EAAIN,MAAM,AAAC,EAClD,CAAE,MAAOiB,EAAY,CACnB,OAAOrB,SAASC,IAAI,CAClB,CAAEC,IAAI,EAAOC,MAAO,sBAAuBmB,OAAQD,aAAaE,MAAQF,EAAEG,OAAO,CAAGC,OAAOJ,EAAG,EAC9F,CAAEjB,OAAQ,GAAI,EAElB,CACF,2CClDA,IAAA,EAIO,EAAA,CAAA,AAHLsB,CAGK,OACP,EAA0B,EAAyB,CAA1CC,AAA0C,CAAA,GAAA,EAJ9B,EAKrB,CADkB,CAD2C,AAEnB,EAAA,CAAjCC,AAAiC,CAAA,AAFnC,GACmB,CAC8C,GAExE,EAGEI,EAEK,CAJLF,AAIK,CAPgBD,AAOhB,MAFS,CAGhB,EAIgB,EACT,AAb2B,CAShCI,AAIK,CAAA,AAVS,CAIT,CAHLF,CASK,GAbmC,CAc1C,CALW,CAFuB,AAOI,CAHpCG,CAGoC,CAA7BE,AAA6B,CAAA,EADA,CATtB,EACdJ,AAMQ,EAIV,AAHEG,EAG+B,EAAA,CAAxBE,AAAwB,CAAA,EADkD,IACT,CAC1E,AAF8B,CAFd,CAI0B,EAAQ,CAAA,AAAzCC,CAAyC,CAAA,CAFZ,AACb,KAEzB,EAEEG,CAJ+B,CAC8C,AAIxE,CAFLD,AAEK,CAAA,CAJiB,CAGA,CAHED,IAK1B,EAA+B,CADxB,CAC0D,CAAxDG,AAAwD,CAAA,IAH7C,EAFsB,AAGxCD,CAGF,EAAoC,EAAA,CAAA,AAA3BE,CAA2B,AADb,IACiD,AADP,GAEjE,CAF+B,CAEF,EAA4B,CAAhDC,AAAgD,CAAA,KAD7B,EAFkC,AAI9D,EAEEE,AAHuD,EAApC,AAGM,CAAA,AADzBD,CACyB,AAJS,EAK7B,IAJsB,CAK7B,EAAsC,EAAA,CAA7BE,AAA6B,CAAA,CAFX,CAE2C,KACtE,EAAyBE,EAAsB,AAAQ,CAA9CD,AAA8C,CAJ1B,AAI0B,CAFxB,CAD7BF,IAGqD,CACvD,AAF8B,CAC8C,CAC5C,EAAA,CAAvBI,AAAuB,CADT,AACS,EADPD,AADa,OAEuC,KAArD,IACxB,IADgC,AAChC,EAIO,EAA6B,CAHlCE,AAGkC,CAAA,KAWpC,IAAMC,EAAc,GAdH,CAcO1B,AAXY,EAWZA,KAXjB,cAWiBA,CAAoB,CAC1C2B,WAAY,CACVC,KAAM3B,EAAAA,SAAAA,CAAU4B,SAAS,CACzBC,KAAM,4CACNC,SAAU,sCACVC,SAAU,QACVC,WAAY,EACd,EACAC,QAAqBC,CAAZ1E,EAAoC,KAC7C2E,CADiB1E,GAAG,AAA6B,CAA5ByE,cAC0C,CAA3C1E,EACpB6E,MAD4B5E,GAAG,CAAC2E,OACd,oBADyC,wCAE3DE,iBAbF,CAA0B,EAqBxBC,SAAU,IAAMC,EAAQ,CAAA,CAAA,IAAA,GAKxB,GAAIhF,AAKA,CAAC,CAAC,AACR,GAKM,GAXQC,GAAG,CAACgF,SAAS,EAWnBG,CAAgB,CAXOpF,QAAQC,GAAG,CAACiF,CACrC,QAUoBG,CAAoB,OAXc,MAWZC,CAAW,CAAE,CAAGrB,EAiBzD,eAAesB,EACpBhF,CAAoB,CACpBgB,CAAmB,CACnBf,CAGC,EAEGA,EAAIgF,WAAW,EAAE,GACnB3C,EAAAA,cAAAA,EAAetC,EAAKC,EAAIgF,WAAW,EAEjCvB,EAAYwB,KAAK,EAAE,GACrB9C,EAAAA,cAAAA,EAAepC,EAAK,+BAAgCP,QAAQ0F,MAAM,CAACC,MAAM,IAE3E,IAAIC,EAAU,4CAMZA,EAAUA,EAAQC,OAAO,CAAC,WAAY,KAAO,IAQ/C,IAAMG,EAAgB,MAAM/B,EAAYgC,OAAO,CAAC1F,EAAKgB,EAAK,CACxDqE,UACAE,mBAJCC,CAAAA,CAKH,GAEA,GAAI,AAP2B,CAO1BC,EAIH,OAHAzE,EAAI2E,IADc,MACJ,CAAG,IACjB3E,EAAI4E,GAAG,CAAC,eACK,MAAb3F,CAAa,CAAT4F,IAAS,KAAA,EAAb5F,EAAI4F,SAAS,CAAA,IAAA,CAAb5F,EAAgB6F,QAAQC,OAAO,IACxB,KAGT,GAAM,SACJC,CAAO,cACPC,CAAY,QACZ7F,CAAM,YACN8F,CAAU,WACVC,CAAS,aACTC,CAAW,mBACXC,CAAiB,qBACjBC,CAAmB,sBACnBC,CAAoB,yBACpBC,CAAuB,kBACvBC,CAAgB,yBAChBC,CAAuB,uBACvBC,CAAqB,CACtB,CAAGlB,EAEEmB,EAAAA,CAAAA,EAAoBjE,EAAAA,gBAAAA,EAAiB0C,GAEvCwB,GAAQC,EACVT,EAAkBU,aAAa,CAACH,EAAkB,EAChDP,EAAkBW,MAAM,CAACP,EAAAA,AAAiB,EAGxCQ,EAAY,UAEZX,CAAAA,QAAAA,KAAAA,EAAAA,EAAqBW,SAAAA,AAAS,EAChC,AADkC,MAC5BX,EAAoBW,SAAS,CAACjH,EAAKgB,EAAKmF,GAAW,GAEzDnF,EAAI4E,GAAG,CAAC,gCAEH,MAGT,GAAIiB,GAAS,CAACT,EAAa,CACzB,IAAMc,GAAgBJ,CAAQT,EAAkBW,MAAM,CAACP,EAAiB,CAClEU,EAAgBd,EAAkBU,aAAa,CAACH,EAAkB,CAExE,GAAIO,IAC6B,IAA3BA,EAAcC,KADD,GACS,EAAc,CAACF,EAAe,CACtD,GAAIhB,EAAWmB,WAAW,CACxB,CAD0B,MACnB,MAAMJ,GAEf,OAAM,IAAIzD,EAAAA,eAAAA,AACZ,CAEJ,CAEA,IAAI8D,EAA0B,MAE1BT,GAAUnD,EAAYwB,IAAb,CAAkB,EAAKkB,EAAD,CAGjCkB,GAAWA,AAAa,OAHuB,KAC/CA,EAAWb,CAAAA,EAEwB,IAAMa,CAAAA,EAG3C,IAAMC,GAEkB,IAAtB7D,EAAYwB,EACZ,GADiB,EAGjB,CAAC2B,EAMGW,EAAqBX,GAAS,CAACU,CAKjCZ,IAAyBD,MAC3BhE,EAAAA,CAhB0D,gBAeN,IACpDA,EAAsB,CACpBoB,KAAMuB,aAf6D,aAgBnEqB,wBACAC,CACF,GAGF,IAAMxF,EAASnB,EAAImB,MAAM,EAAI,MACvBsG,EAAAA,CAAAA,EAASlF,EAAAA,SAAAA,IACTmF,EAAaD,EAAOE,kBAAkB,GACtCC,GAAwBd,EAC5BR,MAAAA,EAAAA,KAAAA,EAAAA,EAAqBsB,qBAAAA,AAAqB,EAEtCC,GAAgBf,CAAAA,CAAAA,EAAQzE,EAAAA,cAAAA,EAAerC,EAAK,eAE5C8H,EAAAA,CAAAA,EACJzF,EAAAA,cAAAA,EAAerC,EAAK,qBACnB,MAAM0D,EAAYqE,mBAAmB,CACpC/H,EACAkG,EACAG,EACAwB,EAGJC,OAAAA,GAAAA,EAAAA,AAAkBE,iBAAiB,GACjCC,WAAmBC,kBAAkB,CAAGJ,EAE1C,IAAMK,EAAuC,QAC3C/H,EACAgI,aAAc/B,EAAkBgC,OAAO,CACvCC,WAAY,CACVC,aAAc,CACZC,gBAAgB1B,CAAQZ,EAAWqC,YAAY,CAACC,cAAc,CAC9DC,gBAAiBvC,EAAWqC,YAAY,CAACE,eAAe,AAC1D,EACAC,iBAAiB5B,CAAQZ,EAAWwC,eAAe,CACnDC,gBAAiBzC,EAAWqC,YAAY,CAACK,eAAe,CAACD,eAAe,yBACxEpB,mBACAO,EACAe,eAAAA,CAAAA,EAAgBxG,EAAAA,cAAAA,EAAerC,EAAK,kBACpC8I,kBAAmB5C,EAAW6C,SAAS,CACvCC,4BAA6B9C,EAAW8C,2BAA2B,CACnEnD,UAAW5F,EAAI4F,SAAS,CACxBoD,QAAS,AAACC,IACRlI,EAAImI,EAAE,CAAC,QAASD,EAClB,EACAE,sBAAkBC,EAClBC,8BAA+B,CAC7B7I,EACA8I,EACAC,EACAC,IAEA/F,EAAYgG,cAAc,CACxB1J,EACAS,EACA+I,EACAC,EACAnD,EAEN,EACAqD,cAAe,SACb3D,EACAC,cACF,CACF,EACM2D,EAAc,IAAIhH,EAAAA,eAAAA,CAAgB5C,GAClC6J,EAAc,IAAIhH,EAAAA,gBAAAA,CAAiB7B,GAEnC8I,EAAUhH,EAAAA,kBAAAA,CAAmBiH,mBAAmB,CACpDH,EAAAA,CAAAA,EACA7G,EAAAA,sBAAAA,EAAuB/B,IAGnBgJ,EAAuC,MAAO,oBAClDC,CAAkB,CACnB,IACC,GAAI,CACF,GACE,CAACpC,GACDtB,GACAC,GACA,CAACyD,EAMD,OAJAjJ,EAAI2E,SADJ,CACc,CAAG,IAEjB3E,EAAIkJ,SAAS,CAAC,iBAAkB,eAChClJ,EAAI4E,GAAG,CAAC,gCACD,KAGT,IAAMuE,EAAW,MAAMzG,EAAY0G,MAAM,CAACN,EAAS3B,EAEjDnI,GAAYqK,YAAY,CAAIlC,EAAQG,UAAU,CAAS+B,YAAY,CACrE,IAAIC,EAAmBnC,EAAQG,UAAU,CAACgC,gBAAgB,CAItDA,GACErK,EAAI4F,SAAS,EAAE,CACjB5F,CAFkB,CAEd4F,SAAS,CAACyE,GACdA,OAAmBjB,GAGvB,IAAMkB,EAAYpC,EAAQG,UAAU,CAACkC,aAAa,CAIlD,IAAI3D,EAmDF,OADA,MAAA,CAAA,EAAM3D,EAAAA,YAAAA,EAAa0G,EAAaC,EAAaM,EAAUG,GAChD,IAnDE,EACT,IAAMG,EAAO,MAAMN,EAASM,IAAI,GAG1BrJ,EAAAA,CAAAA,EAAUgC,EAAAA,yBAAAA,EAA0B+G,EAAS/I,OAAO,EAEtDmJ,IACFnJ,CAAO,CAACmC,EAAAA,GADK,mBACLA,CAAuB,CAAGgH,CAAAA,EAGhC,CAACnJ,CAAO,CAAC,eAAe,EAAIqJ,EAAKC,IAAI,EAAE,CACzCtJ,CAAO,CAAC,eAAe,CAAGqJ,EAAKC,IAAAA,AAAI,EAGrC,IAAMlJ,EACJ,KAAkD,IAA3C2G,EAAQG,UAAU,CAACqC,mBAAmB,IAC7CxC,EAAQG,UAAU,CAACqC,mBAAmB,EAAIrH,EAAAA,cAAAA,GACtC,AACA6E,EAAQG,UAAU,CAACqC,mBAAmB,CAEtCC,EACJ,KAA8C,IAAvCzC,EAAQG,UAAU,CAACuC,eAAe,EACzC1C,EAAQG,UAAU,CAACuC,eAAe,EAAIvH,EAAAA,cAAAA,EASnB,CAPf,AACA,GAMA9B,GAAwBA,EAAa,EACnC0E,EAAW4E,UAAU,MACrBzB,EACFlB,EAAQG,UAAU,CAACuC,cAVsC,CAUvB,CAaxC,EAtBmE,IAY5B,CAUhCE,AATLC,MAAO,CACLpH,KAAMH,EAAAA,eAAAA,CAAgBI,SAAS,CAC/BnD,OAAQyJ,EAASzJ,MAAM,CACvBC,KAAMsK,OAAOC,IAAI,CAAC,MAAMT,EAAKU,WAAW,YACxC/J,CACF,EACAgK,aAAc,YAAE5J,SAAYoJ,CAAO,CACrC,CAGF,CAKF,CAAE,KALO,CAKAS,EAAK,CAqBZ,MAlBIpB,MAAAA,EAAAA,KAAAA,EAAAA,EAAoBqB,OAAAA,AAAO,EAAE,CAE/B,MAAM5H,EAAYgG,cAAc,CAC9B1J,EACAqL,EACA,CACEE,WAAY,aACZC,UAAWnG,EACXoG,UAAW,QACXC,iBAAAA,CAAAA,EAAkBzI,EAAAA,mBAAAA,EAAoB,oBACpCuE,uBACAjB,CACF,EACF,GACAkD,AAbiB,EAcjBnD,GAGE+E,CACR,CACF,EAEMM,EAAiB,MACrBC,EACAC,KAEA,GAAI,KAqBEd,EAEqDA,EAtBzD,IAAMA,EAAa,MAAMrH,EAAYiI,cAAc,CAAC,KAClD3L,aACAkG,EACAoB,WACAwE,UAAW7J,EAAAA,SAAAA,CAAU4B,SAAS,CAC9BkI,YAAY,oBACZ1F,EACA2F,mBAAmB,uBACnBzF,0BACAC,oBACAwD,EACAnE,UAAW5F,EAAI4F,SAAS,eACxBgC,CACF,GAGA,GAAI,CAAChB,EACH,KADU,EAIZ,GAAIkE,CAAAA,MAAAA,CAAAA,EAAAA,AAAiB,GAAjBA,IAAAA,EAAAA,EAAYC,KAAAA,AAAK,EAAA,KAAA,EAAjBD,EAAmBnH,IAAI,IAAKH,EAAAA,eAAAA,CAAgBI,SAAS,CACvD,CADyD,KACnD,OAAA,cAEL,CAFK,AAAIhC,MACR,CAAC,kDAAkD,EAAEkJ,MAAAA,CAAAA,EAAAA,AAAiB,GAAjBA,IAAAA,EAAAA,EAAYC,KAAAA,AAAK,EAAA,KAAA,EAAjBD,EAAmBnH,IAAI,CAAA,CAAE,EAD1E,oBAAA,OAAA,mBAAA,gBAAA,CAEN,EAGE,CAACiE,GACH7G,EAAIkJ,SAAS,CADK,AAEhB,iBACA3D,EACI,cACAwE,EAAWkB,MAAM,CACf,OACAlB,EAAWO,OAAO,CAChB,QACA,OAKRlF,GACFpF,EAAIkJ,QADW,CACF,CACX,gBACA,2DAIJ,IAAM9I,EAAAA,CAAAA,EAAU+B,EAAAA,2BAAAA,EAA4B4H,EAAWC,KAAK,CAAC5J,OAAO,CAEhE,CAAEyG,GAAiBhB,GACrBzF,EADyB,AACjB8K,GADqB,GACf,CAAC3I,EAAAA,sBAAAA,GAMfwH,EAAWK,YAAY,EACtBpK,EAAImL,AAAL,SAAc,CAAC,kBACd/K,EAAD,AAASgL,GAAG,CAAC,kBACb,AACAhL,EAAQiL,GAAG,CACT,gBAAA,CAAA,EACAhJ,EAAAA,qBAAAA,EAAsB0H,EAAWK,YAAY,GAIjD,MAAA,CAAA,EAAMlI,EAAAA,YAAAA,EACJ0G,EACAC,EAEA,IAAIvJ,SAASyK,EAAWC,KAAK,CAACrK,IAAI,CAAE,SAClCS,EACAV,OAAQqK,EAAWC,KAAK,CAACtK,MAAM,EAAI,GACrC,IAEF,MACF,CAAE,MAAO2K,EAAK,CAuBZ,GAtBMA,aAAe7H,EAAAA,eAAc,EAEjC,CAFqC,KARiG,AAUhIE,EAAYgG,cAAc,CAC9B1J,EACAqL,EACA,CACEE,WAAY,aACZC,UAAW5E,EACX6E,UAAW,QACXC,iBAAAA,CAAAA,EAAkBzI,EAAAA,mBAAAA,EAAoB,oBACpCuE,uBACAjB,CACF,EACF,GACAkD,AAbiB,EAcjBnD,GAOAO,EAAO,MAAMwE,CAGjB,OAAA,CAAA,EAAMnI,EAAAA,YAAAA,EACJ0G,EACAC,EACA,IAAIvJ,SAAS,KAAM,CAAEI,OAAQ,GAAI,IAEnC,MACF,QAAU,CACN,MACA,GAAI,CAACkL,EACH,OAGF,IAJkB,AAIdjG,EAAa3E,EAAI2E,UAAU,CAE/BiG,EAAYU,aAAa,CAAC,CACxB,mBAAoB3G,EACpB,YAAY,CACd,GAEIA,GAAcA,GAAc,KAAK,CAGnCiG,EAAYW,SAAS,CAAC,CACpBC,KAAM/J,EAAAA,cAAAA,CAAegK,KAAK,AAC5B,GAEAb,EAAYc,YAAY,CAAC,aAAc/G,EAAWgH,QAAQ,KAG5D,IAAMC,EAAqBnF,EAAOoF,qBAAqB,GAEvD,GAAI,CAACD,EACH,OAGF,GACEA,EAAmBR,GAAG,CAAC,EALA,kBAMvBpJ,EAAAA,cAAAA,CAAe8J,aAAa,CAC5B,OACAC,QAAQC,IAAI,CACV,CAAC,2BAA2B,EAAEJ,EAAmBR,GAAG,CAClD,kBACA,qEAAqE,CAAC,EAK5E,IAAMa,EAAQL,EAAmBR,GAAG,CAAC,eAAiBxF,EAChDsG,EAAO,CAAA,EAAG/L,EAAO,CAAC,EAAE8L,EAAAA,CAAO,CAEjCrB,EAAYU,aAAa,CAAC,CACxB,aAAcW,EACd,aAAcA,EACd,iBAAkBC,CACpB,GACAtB,EAAYuB,UAAU,CAACD,GAInBrB,GAAcA,IAAeD,IAC/BC,EAAWa,OADiC,KACrB,CAAC,aAAcO,GACtCpB,EAAWsB,UAAU,CAACD,IAE1B,CAAA,EACF,CACF,EAIA,GAAItF,GAAyBF,EAC3B,MAAMiE,EAAejE,EADkB,KACN2B,OAC5B,CACL,IAAIwC,EAAapE,EAAOE,kBAAkB,EAC1C,OAAMF,EAAO2F,qBAAqB,CAChCpN,EAAIoB,OAAO,CACX,IACEqG,EAAO4F,KAAK,CACVrK,EAAAA,cAAAA,CAAe8J,aAAa,CAC5B,CACEQ,SAAU,CAAA,EAAGnM,EAAO,CAAC,EAAEkE,EAAAA,CAAS,CAChCzB,KAAMpB,EAAAA,QAAAA,CAAS+K,MAAM,CACrBC,WAAY,CACV,cAAerM,EACf,cAAenB,EAAIyN,GAAG,AACxB,CACF,EACA,AAACC,GAAS/B,EAAe+B,EAAM7B,SAEnCxC,EACA,CAACzB,EAEL,CACF,mCAhgBA,SAAS1F,EACP,MAAA,CAAA,EAAOC,EAAAA,UAAAA,EAAY,kBACjB0C,uBACAC,CACF,EACF","ignoreList":[1]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},51655,e=>{"use strict";var t=e.i(282);let r=process.env.COMMHUB_URL||"http://127.0.0.1:9200";async function a(){let e=await (0,t.getV3UserToken)(),r={};return e&&(r.Authorization=`Bearer ${e}`),r}async function n(e,n){let s=await (0,t.requireDashboardAuth)();if(s)return s;let{id:o}=await n.params;if(!o||!/^req_[A-Za-z0-9_-]+$/.test(o))return Response.json({ok:!1,error:"invalid_requirement_id"},{status:400});try{let e=await fetch(`${r}/api/requirements/${encodeURIComponent(o)}`,{headers:await a(),next:{revalidate:0}});if(!(e.headers.get("content-type")||"").includes("application/json"))return Response.json({ok:!1,error:"hub_not_json",status:e.status},{status:502});return Response.json(await e.json(),{status:e.status})}catch(e){return Response.json({ok:!1,error:"CommHub unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}let s=["column","priority","due","start","tags","name"];async function o(e,n){let o,i=await (0,t.requireDashboardAuth)();if(i)return i;let{id:u}=await n.params;if(!u||!/^req_[A-Za-z0-9_-]+$/.test(u))return Response.json({ok:!1,error:"invalid_requirement_id"},{status:400});try{o=await e.json()}catch{return Response.json({ok:!1,error:"invalid_json"},{status:400})}let l={};for(let e of s)Object.prototype.hasOwnProperty.call(o,e)&&(l[e]=o[e]);if(0===Object.keys(l).length)return Response.json({ok:!1,error:"empty_patch"},{status:400});try{let e=await fetch(`${r}/api/requirements/${encodeURIComponent(u)}`,{method:"PATCH",headers:{...await a(),"Content-Type":"application/json"},body:JSON.stringify(l),next:{revalidate:0}}),t=await e.json().catch(()=>({}));return Response.json(t,{status:e.status})}catch(e){return Response.json({ok:!1,error:"CommHub unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["GET",0,n,"PATCH",0,o])},36924,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),u=e.i(16795),l=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),m=e.i(10372),R=e.i(93695);e.i(52474);var v=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/requirements/[id]/route",pathname:"/api/hub/requirements/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/requirements/[id]/route.ts",nextConfigOutput:"",userland:()=>e.r(51655),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/hub/requirements/[id]/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:C,params:E,nextConfig:b,parsedUrl:q,isDraftMode:j,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:O}=w,N=(0,i.normalizeAppPath)(f),H=!!(A.dynamicRoutes[N]||A.routes[P]),U=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,q,!1):t.end("This page could not be found"),null);if(H&&!j){let e=!!A.routes[P],t=A.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let I=null;!H||g.isDev||j||(I="/index"===(I=P)?"/":I);let M=!0===g.isDev||!H,D=H&&!M;O&&S&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:O});let $=e.method||"GET",B=(0,s.getTracer)(),F=B.getActiveScopeSpan(),K=!!(null==T?void 0:T.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,A,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let z={params:E,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,T)},sharedContext:{buildId:y,deploymentId:C}},V=new u.NodeNextRequest(e),X=new u.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),W=async({previousCacheEntry:r})=>{try{if(!L&&_&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(Z,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(V,X,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[m.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,T),t}},J=async(n,o)=>{try{var i,u;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:k,responseGenerator:W,waitUntil:a.waitUntil,isMinimalMode:L});if(!H)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(u=n.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);L&&H||s.delete(m.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(V,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,T),H)throw t;await (0,c.sendResponse)(V,X,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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||N,i=`${$} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(K&&F)await J(F,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>J(e,t)),void 0,!K)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1vua9gf._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../app/api/hub/requirements/%5Bid%5D/route.ts","../../../node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { requireDashboardAuth, getV3UserToken } from '@/app/lib/dashboard-auth';\n\nconst HUB_URL = process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n\nasync function hubHeaders(): Promise<Record<string, string>> {\n const userToken = await getV3UserToken();\n const h: Record<string, string> = {};\n if (userToken) h['Authorization'] = `Bearer ${userToken}`;\n return h;\n}\n\n/**\n * One requirement — #1633. Hub only resolves `req_…` ids on this path;\n * a short number (#N) 404s, so the page always links by id.\n */\nexport async function GET(_req: Request, ctx: { params: Promise<{ id: string }> }) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { id } = await ctx.params;\n if (!id || !/^req_[A-Za-z0-9_-]+$/.test(id)) {\n return Response.json({ ok: false, error: 'invalid_requirement_id' }, { status: 400 });\n }\n\n try {\n const res = await fetch(`${HUB_URL}/api/requirements/${encodeURIComponent(id)}`, {\n headers: await hubHeaders(),\n next: { revalidate: 0 },\n });\n const contentType = res.headers.get('content-type') || '';\n if (!contentType.includes('application/json')) {\n return Response.json({ ok: false, error: 'hub_not_json', status: res.status }, { status: 502 });\n }\n return Response.json(await res.json(), { status: res.status });\n } catch (e: unknown) {\n return Response.json(\n { ok: false, error: 'CommHub unreachable', detail: e instanceof Error ? e.message : String(e) },\n { status: 502 },\n );\n }\n}\n\n/**\n * Writes — #1634. Hub owns every rule (owner must be human, node tokens may\n * not delete, checklist ids are server-side); this proxy only forwards the\n * whitelisted fields and passes Hub's error code through untouched so the UI\n * can say *why* instead of failing silently.\n */\nconst WRITABLE = ['column', 'priority', 'due', 'start', 'tags', 'name'] as const;\n\nexport async function PATCH(req: Request, ctx: { params: Promise<{ id: string }> }) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { id } = await ctx.params;\n if (!id || !/^req_[A-Za-z0-9_-]+$/.test(id)) {\n return Response.json({ ok: false, error: 'invalid_requirement_id' }, { status: 400 });\n }\n\n let body: Record<string, unknown>;\n try {\n body = await req.json();\n } catch {\n return Response.json({ ok: false, error: 'invalid_json' }, { status: 400 });\n }\n const patch: Record<string, unknown> = {};\n for (const key of WRITABLE) {\n if (Object.prototype.hasOwnProperty.call(body, key)) patch[key] = body[key];\n }\n if (Object.keys(patch).length === 0) {\n return Response.json({ ok: false, error: 'empty_patch' }, { status: 400 });\n }\n\n try {\n const res = await fetch(`${HUB_URL}/api/requirements/${encodeURIComponent(id)}`, {\n method: 'PATCH',\n headers: { ...(await hubHeaders()), 'Content-Type': 'application/json' },\n body: JSON.stringify(patch),\n next: { revalidate: 0 },\n });\n const data = await res.json().catch(() => ({}));\n return Response.json(data, { status: res.status });\n } catch (e: unknown) {\n return Response.json(\n { ok: false, error: 'CommHub unreachable', detail: e instanceof Error ? e.message : String(e) },\n { status: 502 },\n );\n }\n}\n","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 {\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 } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\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 isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\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 const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\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 prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\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 onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\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 = await routeModule.handle(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,\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 prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\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,\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.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\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"],"names":["HUB_URL","process","env","COMMHUB_URL","hubHeaders","userToken","h","GET","_req","ctx","authFailure","id","params","test","Response","json","ok","error","status","res","fetch","encodeURIComponent","headers","next","revalidate","contentType","get","includes","e","detail","Error","message","String","WRITABLE","PATCH","req","body","patch","key","Object","prototype","hasOwnProperty","call","keys","length","method","JSON","stringify","data","catch","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","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","type","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","isMiss","delete","getHeader","set","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"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","ignoreList":[1]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[83288,e=>{"use strict";var t=e.i(282),r=e.i(71647);let n=["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"],a=["telegram","feishu","commhub"];function o(e){return(e.headers.get("content-type")||"").includes("application/json")}async function s(e){let t=await e.text();if((e.headers.get("content-type")||"").includes("text/event-stream")){for(let e of t.split(/\r?\n/)){if(!e.startsWith("data:"))continue;let t=e.slice(5).trim();if(t)try{let e=JSON.parse(t);if(e&&(e.jsonrpc||e.result||e.error))return e}catch{}}return null}try{return JSON.parse(t)}catch{return null}}async function i(e){let n=await (0,t.requireDashboardAuth)();if(n)return n;let{searchParams:a}=new URL(e.url),s=a.get("node_id")||"";if(!s)return Response.json({error:"node_id required"},{status:400});try{let e=await (0,r.hubFetch)(`/api/nodes/${encodeURIComponent(s)}/config`);if(e.ok&&o(e))return Response.json(await e.json());if(o(e))return Response.json(await e.json(),{status:e.status});return Response.json({ok:!0,mock:!0,node_id:s,model:null,flags:{},channels:[]})}catch(e){return Response.json({ok:!0,mock:!0,node_id:s,model:null,flags:{},channels:[],_hubError:e instanceof Error?e.message:String(e)})}}async function l(e){let o,i=await (0,t.requireDashboardAuth)();if(i)return i;try{o=await e.json()}catch{return Response.json({error:"invalid JSON body"},{status:400})}let l=o.node_id;if(!l)return Response.json({error:"node_id required"},{status:400});if("number"!=typeof o.base_revision)return Response.json({error:"base_revision (number) required"},{status:400});let u={};if(void 0!==o.model&&(u.model=o.model),o.flags&&"object"==typeof o.flags){let e={};for(let t of n)t in o.flags&&void 0!==o.flags[t]&&(e[t]=o.flags[t]);Object.keys(e).length>0&&(u.flags=e)}if(Array.isArray(o.channels)){let e=new Set(a),t=new Set,r=[];for(let n of o.channels){if("string"!=typeof n)continue;let a=n.trim().toLowerCase();!e.has(a)||t.has(a)||(t.add(a),r.push(a))}u.channels=r}if(void 0===u.model&&!u.flags&&!u.channels)return Response.json({ok:!1,error:"empty_patch"},{status:400});let d=o.network_id;if(!d)try{let e=await (0,r.hubFetch)("/api/auth/me");if(e.ok){let t=await e.json();d=t?.current_network||t?.networks?.[0]?.network_id}}catch{}let c={jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"update_node_config",arguments:{node_id:l,base_revision:o.base_revision,patch:u,...d?{network_id:d}:{}}}};try{let e=await (0,r.hubFetch)("/mcp",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream","MCP-Protocol-Version":"2025-03-26"},body:JSON.stringify(c)});if(!e.ok&&e.status>=500)return Response.json({ok:!1,error:`hub ${e.status}`},{status:502});let t=await s(e);if(!t)return Response.json({ok:!1,error:"mcp_unparseable"},{status:502});if(t.error){let e=t.error;return Response.json({ok:!1,error:"mcp_error",detail:e?.message},{status:502})}let n=t.result,a=n?.content?.[0]?.text,o={};if("string"==typeof a)try{o=JSON.parse(a)}catch{o={}}else t.result&&"object"==typeof t.result&&(o=t.result);return Response.json(o)}catch(e){return Response.json({ok:!1,error:"hub_unreachable",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["GET",0,i,"POST",0,l])},19155,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),R=e.i(10372),m=e.i(93695);e.i(52474);var g=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/anet/node-config/route",pathname:"/api/anet/node-config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/anet/node-config/route.ts",nextConfigOutput:"",userland:()=>e.r(83288),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:y,serverHooks:b}=v;async function E(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),v.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/anet/node-config/route";w=w.replace(/\/index$/,"")||"/";let y=await v.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:b,deploymentId:E,params:C,nextConfig:_,parsedUrl:x,isDraftMode:S,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:O}=y,q=(0,i.normalizeAppPath)(w),H=!!(A.dynamicRoutes[q]||A.routes[P]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,x,!1):t.end("This page could not be found"),null);if(H&&!S){let e=!!A.routes[P],t=A.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new m.NoFallbackError}}let M=null;!H||v.isDev||S||(M="/index"===(M=P)?"/":M);let U=!0===v.isDev||!H,D=H&&!U;O&&N&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:N,serverActionsManifest:O});let F=e.method||"GET",L=(0,o.getTracer)(),$=L.getActiveScopeSpan(),K=!!(null==T?void 0:T.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,_,A,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let J={params:C,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts,useCacheTimeout:_.experimental.useCacheTimeout},cacheComponents:!!_.cacheComponents,validationLevel:_.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:_.cacheLife,staticPageGenerationTimeout:_.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>v.onRequestError(e,t,n,a,T)},sharedContext:{buildId:b,deploymentId:E}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!B&&j&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await v.handle(X,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let s=J.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,W,a,o),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);s&&(t[R.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?_.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,T),t}},Z=async(a,s)=>{try{var i,l;let a=await v.handleResponse({req:e,nextConfig:_,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:k,responseGenerator:z,waitUntil:n.waitUntil,isMinimalMode:B});if(!H)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",j?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);B&&H||o.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,f.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(V,W,new Response(a.value.body,{headers:o,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,T),H)throw t;await (0,p.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:o.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||q,i=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":i}),a.updateName(i),s&&s!==a&&(s.setAttribute("http.route",n),s.updateName(i))})()}};if(K&&$)await Z($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:y})},"routeModule",0,v,"serverHooks",0,b,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,y])}];
|
|
1
|
+
module.exports=[83288,e=>{"use strict";var t=e.i(282),n=e.i(71647),r=e.i(51255);let o=["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"],a=["telegram","feishu","commhub"];function s(e){return e instanceof Error?e.message:String(e)}function i(e){return e&&"object"==typeof e?e:{}}function l(e,t){let n=e[t];if("number"==typeof n&&Number.isFinite(n))return n;if("string"==typeof n&&""!==n.trim()){let e=Number(n);if(Number.isFinite(e))return e}}function u(e){let t=i(e.config);return{...e,...void 0===e.model&&void 0!==t.model?{model:t.model}:{},...void 0===e.flags&&void 0!==t.flags?{flags:t.flags}:{},...void 0===e.channels&&void 0!==t.channels?{channels:t.channels}:{},...void 0===e.config_revision&&void 0!==t.config_revision?{config_revision:t.config_revision}:{},...void 0===e.config_update_capable&&void 0!==t.config_update_capable?{config_update_capable:t.config_update_capable}:{}}}async function d(e,t){let n=await (0,r.callMcp)(e,t);if(404===n.status||501===n.status)return{response:Response.json({ok:!1,unconfirmed:!0,error:`hub tool '${e}' not available (${n.status})`},{status:501})};if(!n.ok)return{response:Response.json({ok:!1,error:`hub ${n.status}`,status:n.status},{status:502})};let o=i(await (0,r.parseMcpEnvelope)(n));return!1===o.ok?{response:Response.json({...o,ok:!1,error:String(o.error||`${e}_failed`)},{status:502})}:{result:o}}async function c(e,t){let r=new URLSearchParams;t&&r.set("network_id",t);let o=await (0,n.hubFetch)(`/api/nodes/${encodeURIComponent(e)}/config${r.toString()?`?${r}`:""}`,{headers:{Accept:"application/json"}});if(!(o.headers.get("content-type")||"").includes("application/json"))return{response:Response.json({ok:!1,node_id:e,error:"node_config_snapshot_unavailable"},{status:502})};let a=i(await o.json().catch(()=>({})));return!0!==a.ok?{response:Response.json({...a,ok:!1,node_id:e,error:String(a.error||"node_config_snapshot_failed")},{status:o.ok?502:o.status})}:{result:a}}async function p(e){let n=await (0,t.requireDashboardAuth)();if(n)return n;let{searchParams:o}=new URL(e.url),a=o.get("network_id")||await (0,r.resolveDefaultNetworkId)(),i=o.get("node_id")||o.get("alias")||"";if(!i)return Response.json({error:"node_id or alias required"},{status:400});try{let e=await c(i,a);if(e.response)return e.response;let t=u(e.result),n=l(t,"config_revision")??0,r=l(Object.fromEntries(o),"base_revision");if(void 0!==r)return Response.json({ok:!0,node_id:i,...t,status:n>r?"applied":"pending",base_revision:r});return Response.json({ok:!0,node_id:i,...t})}catch(e){return Response.json({ok:!1,node_id:i,error:s(e)},{status:502})}}async function f(e){let n,i=await (0,t.requireDashboardAuth)();if(i)return i;try{n=await e.json()}catch{return Response.json({error:"invalid JSON body"},{status:400})}let l=n.node_id||n.alias;if(!l)return Response.json({error:"node_id or alias required"},{status:400});if("number"!=typeof n.base_revision)return Response.json({error:"base_revision (number) required"},{status:400});let c=function(e){let t={};if(void 0!==e.model&&(t.model=e.model),e.flags&&"object"==typeof e.flags){let n={};for(let t of o)t in e.flags&&void 0!==e.flags[t]&&(n[t]=e.flags[t]);Object.keys(n).length>0&&(t.flags=n)}if(Array.isArray(e.channels)){let n=new Set(a),r=new Set,o=[];for(let t of e.channels){if("string"!=typeof t)continue;let e=t.trim().toLowerCase();!n.has(e)||r.has(e)||(r.add(e),o.push(e))}t.channels=o}return t}(n);if(void 0===c.model&&!c.flags&&!c.channels)return Response.json({ok:!1,error:"empty_patch"},{status:400});let p=n.network_id||await (0,r.resolveDefaultNetworkId)(),f={node_id:l,base_revision:n.base_revision,patch:c,...p?{network_id:p}:{}};try{let e=await d("update_node_config",f);if(e.response)return e.response;let t=e.result;return Response.json({ok:!0,node_id:l,base_revision:n.base_revision,status:"pending",...u(t)})}catch(e){return Response.json({ok:!1,node_id:l,error:s(e)},{status:502})}}e.s(["GET",0,p,"POST",0,f])},19155,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),o=e.i(59756),a=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),g=e.i(10372),v=e.i(93695);e.i(52474);var R=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/anet/node-config/route",pathname:"/api/anet/node-config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/anet/node-config/route.ts",nextConfigOutput:"",userland:()=>e.r(83288),...{}}),{workAsyncStorage:_,workUnitAsyncStorage:w,serverHooks:b}=m;async function y(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),m.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/anet/node-config/route";_=_.replace(/\/index$/,"")||"/";let w=await m.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:b,deploymentId:y,params:E,nextConfig:C,parsedUrl:A,isDraftMode:k,prerenderManifest:S,routerServerContext:x,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:O}=w,q=(0,i.normalizeAppPath)(_),I=!!(S.dynamicRoutes[q]||S.routes[N]),H=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!k){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await H();throw new v.NoFallbackError}}let M=null;!I||m.isDev||k||(M="/index"===(M=N)?"/":M);let U=!0===m.isDev||!I,D=I&&!U;O&&P&&(0,s.setManifestsSingleton)({page:_,clientReferenceManifest:P,serverActionsManifest:O});let $=e.method||"GET",F=(0,a.getTracer)(),L=F.getActiveScopeSpan(),K=!!(null==x?void 0:x.isWrappedByNextServer),B=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,C,S,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:E,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,o.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,o)=>m.onRequestError(e,t,r,o,x)},sharedContext:{buildId:b,deploymentId:y}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:n})=>{try{if(!B&&T&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await m.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let a=V.renderOpts.pendingWaitUntil;a&&r.waitUntil&&(r.waitUntil(a),a=void 0);let s=V.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(X,W,o,a),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);s&&(t[g.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==n&&n>0?C.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,x),t}},Z=async(o,s)=>{try{var i,l;let o=await m.handleResponse({req:e,nextConfig:C,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:J,waitUntil:r.waitUntil,isMinimalMode:B});if(!I)return;if((null==o||null==(i=o.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(l=o.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",T?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,f.fromNodeOutgoingHttpHeaders)(o.value.headers);B&&I||a.delete(g.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,h.getCacheControlHeader)(o.cacheControl)),await (0,p.sendResponse)(X,W,new Response(o.value.body,{headers:a,status:o.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,x),I)throw t;await (0,p.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!o)return;let e=t.statusCode;o.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(o.setStatus({code:a.SpanStatusCode.ERROR}),o.setAttribute("error.type",e.toString()));let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||q,i=`${$} ${r}`;o.setAttributes({"next.route":r,"http.route":r,"next.span_name":i}),o.updateName(i),s&&s!==o&&(s.setAttribute("http.route",r),s.updateName(i))})()}};if(K&&L)await Z(L,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${_}`,kind:a.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:w})},"routeModule",0,m,"serverHooks",0,b,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,w])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_05lpz54._.js.map
|