@sleep2agi/agent-network-dashboard 0.6.3-preview.1 → 0.6.3-preview.10
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 +5 -0
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -0
- package/.next/cache/.rscinfo +1 -0
- package/.next/diagnostics/route-bundle-stats.json +56 -39
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +27 -3
- package/.next/routes-manifest.json +30 -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/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +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 +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- 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 +15 -15
- package/.next/server/app/admin.segments/_full.segment.rsc +15 -15
- package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
- package/.next/server/app/admin.segments/_index.segment.rsc +8 -8
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
- package/.next/server/app/api/anet/host-supervisors/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/anet/host-supervisors/route/build-manifest.json +9 -0
- package/.next/server/app/api/anet/host-supervisors/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/anet/host-supervisors/route.js +7 -0
- package/.next/server/app/api/anet/host-supervisors/route.js.map +5 -0
- package/.next/server/app/api/anet/host-supervisors/route.js.nft.json +1 -0
- package/.next/server/app/api/anet/host-supervisors/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/anet/providers/probe/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/anet/providers/probe/route/build-manifest.json +9 -0
- package/.next/server/app/api/anet/providers/probe/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/anet/providers/probe/route.js +7 -0
- package/.next/server/app/api/anet/providers/probe/route.js.map +5 -0
- package/.next/server/app/api/anet/providers/probe/route.js.nft.json +1 -0
- package/.next/server/app/api/anet/providers/probe/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/anet/providers/probe-results/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/anet/providers/probe-results/route/build-manifest.json +9 -0
- package/.next/server/app/api/anet/providers/probe-results/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/anet/providers/probe-results/route.js +7 -0
- package/.next/server/app/api/anet/providers/probe-results/route.js.map +5 -0
- package/.next/server/app/api/anet/providers/probe-results/route.js.nft.json +1 -0
- package/.next/server/app/api/anet/providers/probe-results/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/anet/providers/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/anet/providers/route/build-manifest.json +9 -0
- package/.next/server/app/api/anet/providers/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/anet/providers/route.js +8 -0
- package/.next/server/app/api/anet/providers/route.js.map +5 -0
- package/.next/server/app/api/anet/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/anet/providers/route_client-reference-manifest.js +3 -0
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +15 -15
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +15 -15
- package/.next/server/app/login.segments/_full.segment.rsc +15 -15
- package/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/.next/server/app/login.segments/_index.segment.rsc +8 -8
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/login.segments/login.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/logs.segments/_full.segment.rsc +15 -15
- package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/logs.segments/_index.segment.rsc +8 -8
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/messages.segments/_full.segment.rsc +15 -15
- package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
- package/.next/server/app/messages.segments/_index.segment.rsc +8 -8
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/node.segments/_full.segment.rsc +15 -15
- package/.next/server/app/node.segments/_head.segment.rsc +4 -4
- package/.next/server/app/node.segments/_index.segment.rsc +8 -8
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/node.segments/node.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/nodes.segments/_full.segment.rsc +15 -15
- package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
- package/.next/server/app/nodes.segments/_index.segment.rsc +8 -8
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers/page/app-paths-manifest.json +3 -0
- package/.next/server/app/providers/page/build-manifest.json +17 -0
- package/.next/server/app/providers/page/next-font-manifest.json +11 -0
- package/.next/server/app/providers/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/providers/page/server-reference-manifest.json +4 -0
- package/.next/server/app/providers/page.js +14 -0
- package/.next/server/app/providers/page.js.map +5 -0
- package/.next/server/app/providers/page.js.nft.json +1 -0
- package/.next/server/app/providers/page_client-reference-manifest.js +3 -0
- package/.next/server/app/providers.html +12 -0
- package/.next/server/app/providers.meta +15 -0
- package/.next/server/app/providers.rsc +27 -0
- package/.next/server/app/providers.segments/_full.segment.rsc +27 -0
- package/.next/server/app/providers.segments/_head.segment.rsc +6 -0
- package/.next/server/app/providers.segments/_index.segment.rsc +10 -0
- package/.next/server/app/providers.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/providers.segments/providers.segment.rsc +5 -0
- 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 +15 -15
- package/.next/server/app/server-logs.segments/_full.segment.rsc +15 -15
- package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/server-logs.segments/_index.segment.rsc +8 -8
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/servers.segments/_full.segment.rsc +15 -15
- package/.next/server/app/servers.segments/_head.segment.rsc +4 -4
- package/.next/server/app/servers.segments/_index.segment.rsc +8 -8
- package/.next/server/app/servers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/servers.segments/servers.segment.rsc +3 -3
- 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 +15 -15
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
- package/.next/server/app/settings/page_client-reference-manifest.js +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 +15 -15
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +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 +15 -15
- package/.next/server/app/tasks.segments/_full.segment.rsc +15 -15
- package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/tasks.segments/_index.segment.rsc +8 -8
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +5 -0
- package/.next/server/chunks/00jm_next_dist_esm_build_templates_app-route_0bobkt3.js +3 -0
- package/.next/server/chunks/00jm_next_dist_esm_build_templates_app-route_0bobkt3.js.map +1 -0
- package/.next/server/chunks/0dk5_next-internal_server_app_api_anet_providers_probe-results_route_actions_07.d.5a.js +3 -0
- package/.next/server/chunks/0dk5_next-internal_server_app_api_anet_providers_probe-results_route_actions_07.d.5a.js.map +1 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_host-supervisors_route_actions_0g3hek2.js +3 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_host-supervisors_route_actions_0g3hek2.js.map +1 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_providers_probe_route_actions_05f000..js +3 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_providers_probe_route_actions_05f000..js.map +1 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_providers_route_actions_10htbhd.js +3 -0
- package/.next/server/chunks/0ykm__next-internal_server_app_api_anet_providers_route_actions_10htbhd.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0-29ynz._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0-2le8-._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0-8_f0o._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__02p2n3n._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__03nze3z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03nze3z._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__043tnx2._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__04z62zk._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__07ztet2._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0aqb4n5._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0aqb4n5._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0cphmer._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0cphmer._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0e3ucl1._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0e6yail._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0gx2_6a._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0hg3_8r._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lhq4ha._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mkwzz7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mkwzz7._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mxw4vb._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mzopco._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0o45a4q._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0w1w_w0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0w1w_w0._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0xtp-et._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0yyo7k5._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0yyo7k5._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0~rwgo1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0~rwgo1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__10pvabe._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__10t11zq._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__12r~omy._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__1389~cs._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__13n8t..._.js.map +1 -1
- package/.next/server/chunks/ssr/00jm_next_dist_esm_build_templates_app-page_02lorbl.js +4 -0
- package/.next/server/chunks/ssr/00jm_next_dist_esm_build_templates_app-page_02lorbl.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__030vg4n._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__04mx~5g._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04mx~5g._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05kf31s._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__05kf31s._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__096ytyk._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0fhoq8i._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0fhoq8i._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0h5dae6._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0h5dae6._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard__next-internal_server_app_providers_page_actions_0ou6p43.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard__next-internal_server_app_providers_page_actions_0ou6p43.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_012oyw5._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_012oyw5._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_d45-d._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_d45-d._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0gd.4pc._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0gd.4pc._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_12l4oto._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0r7kb.o._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0r7kb.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_EmptyState_tsx_0aol-el._.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_EmptyState_tsx_0aol-el._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_nodes_page_tsx_11haf_p._.js +2 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_nodes_page_tsx_11haf_p._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_providers_page_tsx_0hw2n0v._.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_providers_page_tsx_0hw2n0v._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_tasks_page_tsx_0mwxy4z._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +4 -0
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{10kkhdde5ve~c.js → 0-z_kfck7-6_1.js} +3 -3
- package/.next/static/chunks/049vx3qljs1tt.js +1 -0
- package/.next/static/chunks/06.5euf239uvr.css +1 -0
- package/.next/static/chunks/{0vun~4ljcrj3p.js → 091hae.lhv9t1.js} +2 -2
- package/.next/static/chunks/0chpv7zsh-qrg.js +1 -0
- package/.next/static/chunks/0i-l67o_ae5hk.js +2 -0
- package/.next/static/chunks/{0vus9xpsz0s~i.js → 0l.gu-iqnmeja.js} +1 -1
- package/.next/static/chunks/{149a4l50_3vw-.js → 0mnmn-~ava1vy.js} +1 -1
- package/.next/static/chunks/0o-b62_a66.jr.js +1 -0
- package/.next/static/chunks/0pk6amtz5icbx.js +1 -0
- package/.next/static/chunks/0r4u1.sl.8p15.js +1 -0
- package/.next/static/chunks/0wz0122ym_gr3.js +1 -0
- package/.next/static/chunks/15aqdc5txzq9r.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +7 -2
- package/.next/types/validator.ts +45 -0
- package/app/admin/page.tsx +3 -1
- package/app/api/anet/host-supervisors/route.ts +102 -0
- package/app/api/anet/node-config/route.ts +26 -2
- package/app/api/anet/node-create/route.ts +14 -5
- package/app/api/anet/node-lifecycle/route.ts +54 -5
- package/app/api/anet/providers/probe/route.ts +79 -0
- package/app/api/anet/providers/probe-results/route.ts +60 -0
- package/app/api/anet/providers/route.ts +191 -0
- package/app/api/hub/auth/route.ts +0 -12
- package/app/api/hub/networks/route.ts +1 -1
- package/app/api/hub/nodes/route.ts +0 -14
- package/app/api/hub/upload/route.ts +0 -9
- package/app/components/CommandCenter.tsx +3 -6
- package/app/components/CommandPalette.tsx +0 -5
- package/app/components/CreateNodeWizard.tsx +140 -47
- package/app/components/HostSupervisorPicker.tsx +283 -0
- package/app/components/NodeLifecycleMenu.tsx +436 -0
- package/app/components/NodeSettingsPanel.tsx +80 -39
- package/app/components/ProviderFormModal.tsx +303 -0
- package/app/components/ReachabilityMatrix.tsx +196 -0
- package/app/components/Sidebar.tsx +1 -0
- package/app/components/TaskDrawer.tsx +1 -0
- package/app/components/TopoGraph.tsx +4 -8
- package/app/components/UserBar.tsx +37 -0
- package/app/components/types.ts +11 -0
- package/app/lib/chat-unread.ts +0 -6
- package/app/lib/dashboard-auth.ts +0 -12
- package/app/lib/hooks.ts +22 -4
- package/app/lib/hub.ts +4 -0
- package/app/lib/network-context.tsx +0 -6
- package/app/lib/rate-limit.ts +2 -16
- package/app/node/page.tsx +12 -1
- package/app/nodes/page.tsx +42 -2
- package/app/page.tsx +1 -0
- package/app/providers/page.tsx +182 -0
- package/app/settings/networks/page.tsx +1 -1
- package/app/settings/page.tsx +5 -0
- package/app/tasks/[id]/page.tsx +1 -0
- package/app/tasks/page.tsx +1 -0
- package/package.json +1 -1
- package/.next/static/chunks/0-t2rbg9~-oh5.js +0 -1
- package/.next/static/chunks/0iv.0p9_5b36e.js +0 -1
- package/.next/static/chunks/0l_hz3xrjwumg.js +0 -1
- package/.next/static/chunks/0lmdw~i5qjqsg.js +0 -1
- package/.next/static/chunks/0vruzstkdr99w.js +0 -1
- package/.next/static/chunks/0xssg9sin~2xw.js +0 -1
- package/.next/static/chunks/124dtwo1k24ao.css +0 -1
- package/bun.lock +0 -1663
- /package/.next/static/{ZxdmFd_iOEELuA2Km4Q5t → tRPXkJdGLR6a0skqvMgQa}/_buildManifest.js +0 -0
- /package/.next/static/{ZxdmFd_iOEELuA2Km4Q5t → tRPXkJdGLR6a0skqvMgQa}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ZxdmFd_iOEELuA2Km4Q5t → tRPXkJdGLR6a0skqvMgQa}/_ssgManifest.js +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[24156,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
3
|
-
3:I[11449,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
4
|
-
4:I[28516,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
5
|
-
5:I[22485,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
6
|
-
6:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
7
|
-
7:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
8
|
-
8:I[98231,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
9
|
-
9:I[57602,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
10
|
-
c:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
2
|
+
2:I[24156,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ThemeProvider"]
|
|
3
|
+
3:I[11449,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"NetworkProvider"]
|
|
4
|
+
4:I[28516,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"PwaInstaller"]
|
|
5
|
+
5:I[22485,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"AppShell"]
|
|
6
|
+
6:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
7
|
+
7:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
8
|
+
8:I[98231,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ClientPageRoot"]
|
|
9
|
+
9:I[57602,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js","/_next/static/chunks/0.mh8n0itrii5.js"],"default"]
|
|
10
|
+
c:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"OutletBoundary"]
|
|
11
11
|
d:"$Sreact.suspense"
|
|
12
|
-
10:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
13
|
-
12:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
14
|
-
14:I[95183,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
12
|
+
10:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ViewportBoundary"]
|
|
13
|
+
12:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"MetadataBoundary"]
|
|
14
|
+
14:I[95183,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default",1]
|
|
15
15
|
:HL["/_next/static/chunks/066jf0nk75nic.css","style"]
|
|
16
|
-
:HL["/_next/static/chunks/
|
|
16
|
+
:HL["/_next/static/chunks/06.5euf239uvr.css","style"]
|
|
17
17
|
:HL["/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
18
18
|
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
19
|
-
0:{"P":null,"c":["","tasks"],"q":"","i":false,"f":[[["",{"children":["tasks",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
19
|
+
0:{"P":null,"c":["","tasks"],"q":"","i":false,"f":[[["",{"children":["tasks",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/06.5euf239uvr.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0u240x6paxno2.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0_bn~gcrgo.4n.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0mnmn-~ava1vy.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/0u3b93reo9xci.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","data-theme":"cyber","className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased","children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\ntry {\n var t = localStorage.getItem('anet-theme') || 'cyber';\n document.documentElement.setAttribute('data-theme', t);\n} catch (e) {}\n"}}]}],["$","body",null,{"className":"min-h-full","style":{"background":"var(--bg)","color":"var(--fg)"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":[["$","$L4",null,{}],["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L6",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0.mh8n0itrii5.js","async":true,"nonce":"$undefined"}]],["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,null],["$","$1","h",{"children":[null,["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$14",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/06.5euf239uvr.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"tRPXkJdGLR6a0skqvMgQa"}
|
|
20
20
|
15:[]
|
|
21
21
|
f:"$W15"
|
|
22
22
|
a:{}
|
|
23
23
|
b:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
24
24
|
11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=5, user-scalable=yes, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#0b0b0d"}]]
|
|
25
|
-
16:I[1974,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
25
|
+
16:I[1974,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"IconMark"]
|
|
26
26
|
e:null
|
|
27
27
|
13:[["$","title","0",{"children":"Agent Network Dashboard"}],["$","meta","1",{"name":"description","content":"Real-time monitoring dashboard for Agent Network nodes via CommHub"}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","meta","3",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Agent Network"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","7",{"property":"og:title","content":"Agent Network Dashboard"}],["$","meta","8",{"property":"og:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","meta","9",{"property":"og:type","content":"website"}],["$","meta","10",{"name":"twitter:card","content":"summary"}],["$","meta","11",{"name":"twitter:title","content":"Agent Network Dashboard"}],["$","meta","12",{"name":"twitter:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","link","13",{"rel":"shortcut icon","href":"/favicon.svg"}],["$","link","14",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","15",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","16",{"rel":"apple-touch-icon","href":"/sleep2agi-logo.svg","type":"image/svg+xml"}],["$","$L16","17",{}]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
3
|
-
3:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
2
|
+
2:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ViewportBoundary"]
|
|
3
|
+
3:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
5:I[1974,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
6
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=5, user-scalable=yes, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#0b0b0d"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agent Network Dashboard"}],["$","meta","1",{"name":"description","content":"Real-time monitoring dashboard for Agent Network nodes via CommHub"}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","meta","3",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Agent Network"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","7",{"property":"og:title","content":"Agent Network Dashboard"}],["$","meta","8",{"property":"og:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","meta","9",{"property":"og:type","content":"website"}],["$","meta","10",{"name":"twitter:card","content":"summary"}],["$","meta","11",{"name":"twitter:title","content":"Agent Network Dashboard"}],["$","meta","12",{"name":"twitter:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","link","13",{"rel":"shortcut icon","href":"/favicon.svg"}],["$","link","14",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","15",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","16",{"rel":"apple-touch-icon","href":"/sleep2agi-logo.svg","type":"image/svg+xml"}],["$","$L5","17",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
5
|
+
5:I[1974,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"IconMark"]
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=5, user-scalable=yes, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#0b0b0d"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agent Network Dashboard"}],["$","meta","1",{"name":"description","content":"Real-time monitoring dashboard for Agent Network nodes via CommHub"}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","meta","3",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Agent Network"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","7",{"property":"og:title","content":"Agent Network Dashboard"}],["$","meta","8",{"property":"og:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","meta","9",{"property":"og:type","content":"website"}],["$","meta","10",{"name":"twitter:card","content":"summary"}],["$","meta","11",{"name":"twitter:title","content":"Agent Network Dashboard"}],["$","meta","12",{"name":"twitter:description","content":"Real-time monitoring dashboard for Agent Network nodes"}],["$","link","13",{"rel":"shortcut icon","href":"/favicon.svg"}],["$","link","14",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","15",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","16",{"rel":"apple-touch-icon","href":"/sleep2agi-logo.svg","type":"image/svg+xml"}],["$","$L5","17",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"tRPXkJdGLR6a0skqvMgQa"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[24156,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
3
|
-
3:I[11449,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
4
|
-
4:I[28516,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
5
|
-
5:I[22485,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
6
|
-
6:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
7
|
-
7:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
2
|
+
2:I[24156,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ThemeProvider"]
|
|
3
|
+
3:I[11449,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"NetworkProvider"]
|
|
4
|
+
4:I[28516,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"PwaInstaller"]
|
|
5
|
+
5:I[22485,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"AppShell"]
|
|
6
|
+
6:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
7
|
+
7:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
8
8
|
:HL["/_next/static/chunks/066jf0nk75nic.css","style"]
|
|
9
|
-
:HL["/_next/static/chunks/
|
|
10
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
9
|
+
:HL["/_next/static/chunks/06.5euf239uvr.css","style"]
|
|
10
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/06.5euf239uvr.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0u240x6paxno2.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0_bn~gcrgo.4n.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0mnmn-~ava1vy.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/0u3b93reo9xci.js","async":true}]],["$","html",null,{"lang":"en","data-theme":"cyber","className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased","children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\ntry {\n var t = localStorage.getItem('anet-theme') || 'cyber';\n document.documentElement.setAttribute('data-theme', t);\n} catch (e) {}\n"}}]}],["$","body",null,{"className":"min-h-full","style":{"background":"var(--bg)","color":"var(--fg)"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":[["$","$L4",null,{}],["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"tRPXkJdGLR6a0skqvMgQa"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/chunks/066jf0nk75nic.css","style"]
|
|
2
|
-
:HL["/_next/static/chunks/
|
|
2
|
+
:HL["/_next/static/chunks/06.5euf239uvr.css","style"]
|
|
3
3
|
:HL["/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
4
|
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
5
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"tasks","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
5
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"tasks","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"tRPXkJdGLR6a0skqvMgQa"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[98231,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
3
|
-
3:I[57602,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
4
|
-
6:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
2
|
+
2:I[98231,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"ClientPageRoot"]
|
|
3
|
+
3:I[57602,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js","/_next/static/chunks/0.mh8n0itrii5.js"],"default"]
|
|
4
|
+
6:I[1185,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0.mh8n0itrii5.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0.mh8n0itrii5.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"tRPXkJdGLR6a0skqvMgQa"}
|
|
7
7
|
4:{}
|
|
8
8
|
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
9
9
|
8:null
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
3
|
-
3:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/
|
|
2
|
+
2:I[10561,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
3
|
+
3:I[85887,["/_next/static/chunks/0u240x6paxno2.js","/_next/static/chunks/0_bn~gcrgo.4n.js","/_next/static/chunks/0mnmn-~ava1vy.js","/_next/static/chunks/0u3b93reo9xci.js"],"default"]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"tRPXkJdGLR6a0skqvMgQa"}
|
|
@@ -3,9 +3,13 @@
|
|
|
3
3
|
"/_not-found/page": "app/_not-found/page.js",
|
|
4
4
|
"/admin/page": "app/admin/page.js",
|
|
5
5
|
"/api/anet/config/route": "app/api/anet/config/route.js",
|
|
6
|
+
"/api/anet/host-supervisors/route": "app/api/anet/host-supervisors/route.js",
|
|
6
7
|
"/api/anet/node-config/route": "app/api/anet/node-config/route.js",
|
|
7
8
|
"/api/anet/node-create/route": "app/api/anet/node-create/route.js",
|
|
8
9
|
"/api/anet/node-lifecycle/route": "app/api/anet/node-lifecycle/route.js",
|
|
10
|
+
"/api/anet/providers/probe-results/route": "app/api/anet/providers/probe-results/route.js",
|
|
11
|
+
"/api/anet/providers/probe/route": "app/api/anet/providers/probe/route.js",
|
|
12
|
+
"/api/anet/providers/route": "app/api/anet/providers/route.js",
|
|
9
13
|
"/api/auth/login/route": "app/api/auth/login/route.js",
|
|
10
14
|
"/api/auth/logout/route": "app/api/auth/logout/route.js",
|
|
11
15
|
"/api/auth/v3/route": "app/api/auth/v3/route.js",
|
|
@@ -40,6 +44,7 @@
|
|
|
40
44
|
"/node/page": "app/node/page.js",
|
|
41
45
|
"/nodes/page": "app/nodes/page.js",
|
|
42
46
|
"/page": "app/page.js",
|
|
47
|
+
"/providers/page": "app/providers/page.js",
|
|
43
48
|
"/server-logs/page": "app/server-logs/page.js",
|
|
44
49
|
"/servers/page": "app/servers/page.js",
|
|
45
50
|
"/settings/networks/page": "app/settings/networks/page.js",
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[74636,e=>{"use strict";var t=e.i(29124),r=e.i(96565),o=e.i(29718),a=e.i(23850),s=e.i(47878),n=e.i(19885),i=e.i(86384),l=e.i(90127),u=e.i(89548),d=e.i(23489),p=e.i(53565),c=e.i(25859),v=e.i(37031),R=e.i(34816),h=e.i(37020),_=e.i(93695);e.i(69409);var m=e.i(56394),f=e.i(76631),k=e.i(92203);let w=["openai-compatible","anthropic","grok","custom"];async function g(){let e=await (0,f.requireDashboardAuth)();if(e)return e;if("1"===process.env.MOCK_PROVIDERS)return Response.json({ok:!0,mock:!0,providers:[{provider_id:"prov_claude",name:"Claude (Anthropic)",type:"anthropic",base_url:"https://api.anthropic.com",models:["claude-opus-4-x","claude-sonnet-4-6"],enabled:!0,hasKey:!0},{provider_id:"prov_deepseek",name:"DeepSeek",type:"anthropic",base_url:"https://api.deepseek.com/anthropic",models:["deepseek-v4-pro"],enabled:!0,hasKey:!0},{provider_id:"prov_minimax",name:"MiniMax",type:"anthropic",base_url:"https://api.minimax.chat/anthropic",models:["MiniMax-M3"],enabled:!1,hasKey:!0}]});let t=await (0,k.resolveDefaultNetworkId)();try{let e=await (0,k.callMcp)("list_providers",t?{network_id:t}:{});if(404===e.status||501===e.status)return Response.json({ok:!1,unconfirmed:!0,providers:[],error:"hub lacks RFC-028 list_providers (needs #308 + hub upgrade)"},{status:200});if(!e.ok)return Response.json({ok:!1,error:`hub ${e.status}`,providers:[]},{status:502});let r=await (0,k.parseMcpEnvelope)(e);if(r?.ok===!1)return Response.json({ok:!1,error:r.error||"list_failed",providers:[]},{status:502});let o=(Array.isArray(r?.providers)?r.providers:[]).map(e=>{let t=Array.isArray(e.models)?e.models.map(e=>String(e.model_name||"")).filter(Boolean):[];return{provider_id:e.provider_id,name:e.name,type:e.vendor,base_url:e.base_url,models:t,enabled:void 0===e.enabled||!!e.enabled,hasKey:void 0===e.in_vault||!!e.in_vault}});return Response.json({ok:!0,providers:o})}catch(e){return Response.json({ok:!1,error:e instanceof Error?e.message:String(e),providers:[]},{status:502})}}async function E(e){let t,r,o,a=await (0,f.requireDashboardAuth)();if(a)return a;try{t=await e.json()}catch{return Response.json({error:"invalid JSON body"},{status:400})}if(t.provider_id){if("1"===process.env.MOCK_PROVIDERS)return Response.json({ok:!0,mock:!0,provider_id:t.provider_id});let e={};if(void 0!==t.name&&(e.name=String(t.name).trim()),void 0!==t.base_url&&(e.base_url=String(t.base_url).trim()),Array.isArray(t.models)&&(e.models=t.models.map(e=>String(e).trim()).filter(Boolean).map(e=>({model_name:e}))),void 0!==t.enabled&&(e.enabled=!!t.enabled),!Object.keys(e).length)return Response.json({ok:!1,error:"no fields to update"},{status:400});let r=t.network_id||await (0,k.resolveDefaultNetworkId)();try{let o=await (0,k.callMcp)("update_provider",{provider_id:t.provider_id,...r?{network_id:r}:{},patch:e});if(404===o.status||501===o.status)return Response.json({ok:!1,unconfirmed:!0,error:"hub lacks update_provider (needs #317)"},{status:200});let a=await (0,k.parseMcpEnvelope)(o);if(a?.ok===!1){if("no_changes"===a.error||"noop_no_changes"===a.error)return Response.json({ok:!0,no_changes:!0});return Response.json({ok:!1,error:a.error||"update_failed"},{status:502})}return Response.json({ok:!0,provider_id:t.provider_id})}catch(e){return Response.json({ok:!1,error:e instanceof Error?e.message:String(e)},{status:502})}}let s=(t.name||"").toString().trim();if(!s)return Response.json({error:"name required"},{status:400});let n=(t.type||"openai-compatible").toString();if(!w.includes(n))return Response.json({error:`type must be one of: ${w.join(", ")}`},{status:400});let i=(t.base_url||"").toString().trim();if(!i)return Response.json({error:"base_url required"},{status:400});let l=Array.isArray(t.models)?t.models.map(e=>String(e).trim()).filter(Boolean):[],u=(t.apiKey||"").toString();if(!u)return Response.json({ok:!1,error:"API key 必填(供应商创建需先写入密钥库)"},{status:400});if("1"===process.env.MOCK_PROVIDERS)return Response.json({ok:!0,mock:!0,provider_id:`prov_mock_${Date.now().toString(36)}`});let d=t.network_id||await (0,k.resolveDefaultNetworkId)(),p=d?{network_id:d}:{},c=(r=s.toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,48)||"PROVIDER",o=`PROVIDER_${r}_KEY`,/^[A-Z][A-Z0-9_]{0,63}$/.test(o)?o:`PROVIDER_${Date.now().toString(36).toUpperCase().replace(/[^A-Z0-9]/g,"")}_KEY`);try{let e=await (0,k.callMcp)("upsert_network_secret",{...p,key:c,value:u});if(404===e.status||501===e.status)return Response.json({ok:!1,unconfirmed:!0,error:"hub lacks RFC-028 upsert_network_secret (needs #308)"},{status:200});let t=await (0,k.parseMcpEnvelope)(e);if(t?.ok===!1)return Response.json({ok:!1,error:t.error||"secret_write_failed",detail:"vault 写入失败(可能需 OWNER 角色)"},{status:502});let r=l.map(e=>({model_name:e})),o=await (0,k.callMcp)("upsert_provider",{...p,name:s,vendor:n,base_url:i,secret_key_ref:c,models:r});if(404===o.status||501===o.status)return Response.json({ok:!1,unconfirmed:!0,error:"hub lacks RFC-028 upsert_provider (needs #308)"},{status:200});let a=await (0,k.parseMcpEnvelope)(o);if(a?.ok===!1)return Response.json({ok:!1,error:a.error||"upsert_failed",result:a},{status:502});return Response.json({ok:!0,provider_id:a?.provider_id})}catch(e){return Response.json({ok:!1,error:e instanceof Error?e.message:String(e)},{status:502})}}async function b(e){let t=await (0,f.requireDashboardAuth)();if(t)return t;let{searchParams:r}=new URL(e.url),o=r.get("id");if(!o)return Response.json({error:"id required"},{status:400});if("1"===process.env.MOCK_PROVIDERS)return Response.json({ok:!0,mock:!0});let a=await (0,k.resolveDefaultNetworkId)();try{let e=await (0,k.callMcp)("update_provider",{provider_id:o,...a?{network_id:a}:{},patch:{enabled:!1}});if(404===e.status||501===e.status)return Response.json({ok:!1,unconfirmed:!0,error:"hub lacks update_provider (needs #317)"},{status:200});let t=await (0,k.parseMcpEnvelope)(e);if(t?.ok===!1&&"no_changes"!==t.error)return Response.json({ok:!1,error:t.error||"disable_failed"},{status:502});return Response.json({ok:!0})}catch(e){return Response.json({ok:!1,error:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["DELETE",0,b,"GET",0,g,"POST",0,E],53946);var y=e.i(53946);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/anet/providers/route",pathname:"/api/anet/providers",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/agent-network-dashboard/app/api/anet/providers/route.ts",nextConfigOutput:"",userland:y,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:S,serverHooks:j}=A;async function x(e,t,o){o.requestMeta&&(0,a.setRequestMeta)(e,o.requestMeta),A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/anet/providers/route";f=f.replace(/\/index$/,"")||"/";let k=await A.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:w,params:g,nextConfig:E,parsedUrl:b,isDraftMode:y,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:x,resolvedPathname:O,clientReferenceManifest:M,serverActionsManifest:P}=k,D=(0,i.normalizeAppPath)(f),N=!!(C.dynamicRoutes[D]||C.routes[O]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(N&&!y){let e=!!C.routes[O],t=C.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await I();throw new _.NoFallbackError}}let T=null;!N||A.isDev||y||(T="/index"===(T=O)?"/":T);let q=!0===A.isDev||!N,K=N&&!q;P&&M&&(0,n.setManifestsSingleton)({page:f,clientReferenceManifest:M,serverActionsManifest:P});let U=e.method||"GET",H=(0,s.getTracer)(),$=H.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,C,V);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let L={params:g,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:q,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,a)=>A.onRequestError(e,t,o,a,S)},sharedContext:{buildId:w}},Z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(Z,(0,u.signalFromNodeResponse)(t));try{let a,n=async e=>A.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=r.get("next.route");if(o){let t=`${U} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",o),a.updateName(t))}else e.updateName(`${U} ${f}`)}),i=async a=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!V&&j&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&o.waitUntil&&(o.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!N)return await (0,c.sendResponse)(Z,G,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,o=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:j})},!1,S),t}},u=await A.handleResponse({req:e,nextConfig:E,cacheKey:T,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:o.waitUntil,isMinimalMode:V});if(!N)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,v.fromNodeOutgoingHttpHeaders)(u.value.headers);return V&&N||d.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(Z,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&$?await i($):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},i),void 0,!F))}catch(t){if(t instanceof _.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:j})},!1,S),N)throw t;return await (0,c.sendResponse)(Z,G,new Response(null,{status:500})),null}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:S})},"routeModule",0,A,"serverHooks",0,j,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,S],74636)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=00jm_next_dist_esm_build_templates_app-route_0bobkt3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../agent-network-dashboard/node_modules/next/dist/esm/build/templates/app-route.js","../../../../agent-network-dashboard/app/api/anet/providers/route.ts"],"sourcesContent":["import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta, setRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/anet/providers/route\",\n pathname: \"/api/anet/providers\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/agent-network-dashboard/app/api/anet/providers/route.ts\",\n nextConfigOutput,\n // The static import is used for initialization (methods, dynamic, etc.).\n userland: userland,\n // In Turbopack dev mode, also provide a getter that calls require() on every\n // request. This re-reads from devModuleCache so HMR updates are picked up,\n // and the async wrapper unwraps async-module Promises (ESM-only\n // serverExternalPackages) automatically.\n ...process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER ? {\n getUserland: ()=>import(\"INNER_APP_ROUTE\")\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;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\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 = \"/api/anet/providers/route\";\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.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : 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 if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\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 let cacheKey = null;\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 const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\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 // 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 const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const isWrappedByNextServer = Boolean(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer);\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'));\n const incrementalCache = getRequestMeta(req, 'incrementalCache') || await routeModule.getIncrementalCache(req, nextConfig, prerenderManifest, isMinimalMode);\n incrementalCache == null ? void 0 : incrementalCache.resetRequestCache();\n globalThis.__incrementalCache = incrementalCache;\n const context = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n let parentSpan;\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\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 if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\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 !== span) {\n parentSpan.setAttribute('http.route', route);\n parentSpan.updateName(name);\n }\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\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 const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\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 // 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 // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.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 == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\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 // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\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 (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @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 return null;\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);\n } else {\n parentSpan = tracer.getActiveScopeSpan();\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse), undefined, !isWrappedByNextServer);\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { requireDashboardAuth } from '@/app/lib/dashboard-auth';\nimport { callMcp, parseMcpEnvelope, resolveDefaultNetworkId } from '@/app/lib/hub-mcp';\n\n/**\n * Model-provider registry proxy (RFC-028 P1 — aligned to the real #308 schema,\n * commit f32725e; 通信龙 gap-A ruling commhub 1e451a0f).\n *\n * GET → list_providers, mapped to the UI shape (vendor→type, models objects\n * → model_name strings, in_vault→hasKey).\n * POST → create only: secret-FIRST. The vault key must exist before the\n * provider, so we upsert_network_secret (UPPERCASE-regex key derived\n * from the name) then upsert_provider (vendor + models as objects).\n * A key is REQUIRED on create (the backend rejects providers whose\n * secret_key_ref is not in the vault).\n * DELETE / edit → NOT wired: #308's upsert_provider is INSERT-only with no\n * enabled arg and there is no update_provider / set_provider_enabled\n * tool (P1.5 follow-up). The UI edit/disable/delete controls are\n * disabled placeholders; this route reports `unsupported` if called.\n *\n * Keys are WRITE-ONLY (vault); never returned to the client. Hub-without-RFC-028\n * → flagged `unconfirmed` (no fake success). MOCK_PROVIDERS=1 → env-gated\n * contract-fixture (schema-shaped) for preview; off in production.\n */\n\nconst VENDORS = ['openai-compatible', 'anthropic', 'grok', 'custom'] as const;\n\ninterface ProviderInput {\n name: string;\n type: string; // UI label for `vendor`\n base_url: string;\n models: string[]; // UI: model name strings\n apiKey?: string; // write-only\n}\n\n// UPPERCASE secret-key ref derived from provider name (matches the backend\n// regex /^[A-Z][A-Z0-9_]{0,63}$/): \"OpenAI\" → \"PROVIDER_OPENAI_KEY\".\nfunction secretKeyFor(name: string): string {\n const slug = name.toUpperCase().replace(/[^A-Z0-9]+/g, '_').replace(/^_+|_+$/g, '').slice(0, 48) || 'PROVIDER';\n const ref = `PROVIDER_${slug}_KEY`;\n return /^[A-Z][A-Z0-9_]{0,63}$/.test(ref) ? ref : `PROVIDER_${Date.now().toString(36).toUpperCase().replace(/[^A-Z0-9]/g, '')}_KEY`;\n}\n\n// Anthropic-compatible covers Claude + DeepSeek (api.deepseek.com/anthropic)\n// + MiniMax (api.minimax.chat/anthropic) etc. via custom base_url — preview\n// reflects that real coverage.\nfunction mockProviders() {\n // All three live after #320 (SSRF allowlist: anthropic / deepseek /\n // minimax.chat / minimax.io).\n return [\n { provider_id: 'prov_claude', name: 'Claude (Anthropic)', type: 'anthropic', base_url: 'https://api.anthropic.com', models: ['claude-opus-4-x', 'claude-sonnet-4-6'], enabled: true, hasKey: true },\n { provider_id: 'prov_deepseek', name: 'DeepSeek', type: 'anthropic', base_url: 'https://api.deepseek.com/anthropic', models: ['deepseek-v4-pro'], enabled: true, hasKey: true },\n { provider_id: 'prov_minimax', name: 'MiniMax', type: 'anthropic', base_url: 'https://api.minimax.chat/anthropic', models: ['MiniMax-M3'], enabled: false, hasKey: true },\n ];\n}\n\nexport async function GET() {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n if (process.env.MOCK_PROVIDERS === '1') {\n return Response.json({ ok: true, mock: true, providers: mockProviders() });\n }\n\n const networkId = await resolveDefaultNetworkId();\n const args = networkId ? { network_id: networkId } : {};\n try {\n const res = await callMcp('list_providers', args);\n if (res.status === 404 || res.status === 501) {\n return Response.json({ ok: false, unconfirmed: true, providers: [], error: 'hub lacks RFC-028 list_providers (needs #308 + hub upgrade)' }, { status: 200 });\n }\n if (!res.ok) return Response.json({ ok: false, error: `hub ${res.status}`, providers: [] }, { status: 502 });\n const result = (await parseMcpEnvelope(res)) as { ok?: boolean; providers?: unknown[]; error?: string };\n if (result?.ok === false) return Response.json({ ok: false, error: result.error || 'list_failed', providers: [] }, { status: 502 });\n\n // Map the real shape → UI shape.\n const providers = (Array.isArray(result?.providers) ? result.providers : []).map((p) => {\n const pp = p as Record<string, unknown>;\n const models = Array.isArray(pp.models) ? (pp.models as Array<Record<string, unknown>>).map(m => String(m.model_name || '')).filter(Boolean) : [];\n return {\n provider_id: pp.provider_id,\n name: pp.name,\n type: pp.vendor, // vendor → type (UI label)\n base_url: pp.base_url,\n models,\n enabled: pp.enabled === undefined ? true : !!pp.enabled,\n hasKey: pp.in_vault === undefined ? true : !!pp.in_vault,\n };\n });\n return Response.json({ ok: true, providers });\n } catch (e: unknown) {\n return Response.json({ ok: false, error: e instanceof Error ? e.message : String(e), providers: [] }, { status: 502 });\n }\n}\n\nexport async function POST(req: Request) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n let body: Partial<ProviderInput> & { provider_id?: string; network_id?: string; enabled?: boolean };\n try { body = await req.json(); } catch { return Response.json({ error: 'invalid JSON body' }, { status: 400 }); }\n\n // Edit path (RFC-028 P1.5, #317 update_provider — patch semantics; vendor /\n // secret / network are immutable; changing the key goes via the secret-first\n // create flow, not here).\n if (body.provider_id) {\n if (process.env.MOCK_PROVIDERS === '1') return Response.json({ ok: true, mock: true, provider_id: body.provider_id });\n const patch: Record<string, unknown> = {};\n if (body.name !== undefined) patch.name = String(body.name).trim();\n if (body.base_url !== undefined) patch.base_url = String(body.base_url).trim();\n if (Array.isArray(body.models)) patch.models = body.models.map(m => String(m).trim()).filter(Boolean).map(m => ({ model_name: m }));\n if (body.enabled !== undefined) patch.enabled = !!body.enabled;\n if (!Object.keys(patch).length) return Response.json({ ok: false, error: 'no fields to update' }, { status: 400 });\n const networkId = body.network_id || (await resolveDefaultNetworkId());\n try {\n const res = await callMcp('update_provider', { provider_id: body.provider_id, ...(networkId ? { network_id: networkId } : {}), patch });\n if (res.status === 404 || res.status === 501) return Response.json({ ok: false, unconfirmed: true, error: 'hub lacks update_provider (needs #317)' }, { status: 200 });\n const result = (await parseMcpEnvelope(res)) as { ok?: boolean; error?: string };\n if (result?.ok === false) {\n // a no-op patch is benign, not a failure.\n if (result.error === 'no_changes' || result.error === 'noop_no_changes') return Response.json({ ok: true, no_changes: true });\n return Response.json({ ok: false, error: result.error || 'update_failed' }, { status: 502 });\n }\n return Response.json({ ok: true, provider_id: body.provider_id });\n } catch (e: unknown) {\n return Response.json({ ok: false, error: e instanceof Error ? e.message : String(e) }, { status: 502 });\n }\n }\n\n const name = (body.name || '').toString().trim();\n if (!name) return Response.json({ error: 'name required' }, { status: 400 });\n const vendor = (body.type || 'openai-compatible').toString();\n if (!VENDORS.includes(vendor as (typeof VENDORS)[number])) {\n return Response.json({ error: `type must be one of: ${VENDORS.join(', ')}` }, { status: 400 });\n }\n const base_url = (body.base_url || '').toString().trim();\n if (!base_url) return Response.json({ error: 'base_url required' }, { status: 400 });\n const modelNames = Array.isArray(body.models) ? body.models.map(m => String(m).trim()).filter(Boolean) : [];\n const apiKey = (body.apiKey || '').toString();\n // secret-first: the backend requires secret_key_ref to already be in the vault.\n if (!apiKey) return Response.json({ ok: false, error: 'API key 必填(供应商创建需先写入密钥库)' }, { status: 400 });\n\n if (process.env.MOCK_PROVIDERS === '1') {\n return Response.json({ ok: true, mock: true, provider_id: `prov_mock_${Date.now().toString(36)}` });\n }\n\n const networkId = body.network_id || (await resolveDefaultNetworkId());\n const netArg = networkId ? { network_id: networkId } : {};\n const secret_key_ref = secretKeyFor(name);\n\n try {\n // 1) vault the key (OWNER-only on the hub side).\n const sres = await callMcp('upsert_network_secret', { ...netArg, key: secret_key_ref, value: apiKey });\n if (sres.status === 404 || sres.status === 501) {\n return Response.json({ ok: false, unconfirmed: true, error: 'hub lacks RFC-028 upsert_network_secret (needs #308)' }, { status: 200 });\n }\n const sresult = (await parseMcpEnvelope(sres)) as { ok?: boolean; error?: string };\n if (sresult?.ok === false) {\n return Response.json({ ok: false, error: sresult.error || 'secret_write_failed', detail: 'vault 写入失败(可能需 OWNER 角色)' }, { status: 502 });\n }\n // 2) create the provider referencing the vault key + models as objects.\n const models = modelNames.map(m => ({ model_name: m }));\n const pres = await callMcp('upsert_provider', { ...netArg, name, vendor, base_url, secret_key_ref, models });\n if (pres.status === 404 || pres.status === 501) {\n return Response.json({ ok: false, unconfirmed: true, error: 'hub lacks RFC-028 upsert_provider (needs #308)' }, { status: 200 });\n }\n const presult = (await parseMcpEnvelope(pres)) as { ok?: boolean; error?: string; provider_id?: string };\n if (presult?.ok === false) return Response.json({ ok: false, error: presult.error || 'upsert_failed', result: presult }, { status: 502 });\n return Response.json({ ok: true, provider_id: presult?.provider_id });\n } catch (e: unknown) {\n return Response.json({ ok: false, error: e instanceof Error ? e.message : String(e) }, { status: 502 });\n }\n}\n\nexport async function DELETE(req: Request) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n const { searchParams } = new URL(req.url);\n const providerId = searchParams.get('id');\n if (!providerId) return Response.json({ error: 'id required' }, { status: 400 });\n if (process.env.MOCK_PROVIDERS === '1') return Response.json({ ok: true, mock: true });\n // Soft-delete = update_provider{enabled:false} (#317; no delete_provider).\n const networkId = await resolveDefaultNetworkId();\n try {\n const res = await callMcp('update_provider', { provider_id: providerId, ...(networkId ? { network_id: networkId } : {}), patch: { enabled: false } });\n if (res.status === 404 || res.status === 501) return Response.json({ ok: false, unconfirmed: true, error: 'hub lacks update_provider (needs #317)' }, { status: 200 });\n const result = (await parseMcpEnvelope(res)) as { ok?: boolean; error?: string };\n if (result?.ok === false && result.error !== 'no_changes') return Response.json({ ok: false, error: result.error || 'disable_failed' }, { status: 502 });\n return Response.json({ ok: true });\n } catch (e: unknown) {\n return Response.json({ ok: false, error: e instanceof Error ? e.message : String(e) }, { status: 502 });\n }\n}\n"],"names":["VENDORS","toUpperCase","secretKeyFor","name","slug","replace","slice","ref","test","Date","now","toString","mockProviders","provider_id","type","base_url","models","enabled","hasKey","authFailure","GET","mock","process","env","MOCK_PROVIDERS","Response","json","ok","providers","networkId","status","args","network_id","res","unconfirmed","error","result","Array","isArray","map","p","pp","m","String","model_name","filter","Boolean","vendor","undefined","in_vault","e","Error","message","req","POST","body","patch","trim","Object","keys","length","no_changes","includes","join","modelNames","apiKey","netArg","secret_key_ref","sres","key","value","sresult","detail","pres","presult","DELETE","searchParams","URL","url","providerId","get"],"mappings":"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","ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|