@sleep2agi/agent-network-dashboard 0.2.0 → 0.2.1-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/diagnostics/route-bundle-stats.json +45 -31
  6. package/.next/fallback-build-manifest.json +3 -3
  7. package/.next/prerender-manifest.json +24 -0
  8. package/.next/routes-manifest.json +12 -0
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +2 -2
  18. package/.next/server/app/_not-found.rsc +11 -11
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/admin.html +2 -2
  27. package/.next/server/app/admin.rsc +13 -13
  28. package/.next/server/app/admin.segments/_full.segment.rsc +13 -13
  29. package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
  30. package/.next/server/app/admin.segments/_index.segment.rsc +6 -6
  31. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  32. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
  33. package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
  34. package/.next/server/app/api/hub/server-logs/route/app-paths-manifest.json +3 -0
  35. package/.next/server/app/api/hub/server-logs/route/build-manifest.json +9 -0
  36. package/.next/server/app/api/hub/server-logs/route/server-reference-manifest.json +4 -0
  37. package/.next/server/app/api/hub/server-logs/route.js +7 -0
  38. package/.next/server/app/api/hub/server-logs/route.js.map +5 -0
  39. package/.next/server/app/api/hub/server-logs/route.js.nft.json +1 -0
  40. package/.next/server/app/api/hub/server-logs/route_client-reference-manifest.js +3 -0
  41. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/docs.html +3 -3
  43. package/.next/server/app/docs.rsc +13 -13
  44. package/.next/server/app/docs.segments/_full.segment.rsc +13 -13
  45. package/.next/server/app/docs.segments/_head.segment.rsc +4 -4
  46. package/.next/server/app/docs.segments/_index.segment.rsc +6 -6
  47. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  48. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +4 -4
  49. package/.next/server/app/docs.segments/docs.segment.rsc +3 -3
  50. package/.next/server/app/index.html +2 -2
  51. package/.next/server/app/index.rsc +13 -13
  52. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  53. package/.next/server/app/index.segments/_full.segment.rsc +13 -13
  54. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  55. package/.next/server/app/index.segments/_index.segment.rsc +6 -6
  56. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  57. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/login.html +1 -1
  59. package/.next/server/app/login.rsc +13 -13
  60. package/.next/server/app/login.segments/_full.segment.rsc +13 -13
  61. package/.next/server/app/login.segments/_head.segment.rsc +4 -4
  62. package/.next/server/app/login.segments/_index.segment.rsc +6 -6
  63. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  64. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  65. package/.next/server/app/login.segments/login.segment.rsc +3 -3
  66. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/logs.html +2 -2
  68. package/.next/server/app/logs.rsc +13 -13
  69. package/.next/server/app/logs.segments/_full.segment.rsc +13 -13
  70. package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
  71. package/.next/server/app/logs.segments/_index.segment.rsc +6 -6
  72. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  73. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
  74. package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
  75. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/messages.html +2 -2
  77. package/.next/server/app/messages.rsc +13 -13
  78. package/.next/server/app/messages.segments/_full.segment.rsc +13 -13
  79. package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
  80. package/.next/server/app/messages.segments/_index.segment.rsc +6 -6
  81. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  82. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
  83. package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
  84. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/node.html +2 -2
  86. package/.next/server/app/node.rsc +13 -13
  87. package/.next/server/app/node.segments/_full.segment.rsc +13 -13
  88. package/.next/server/app/node.segments/_head.segment.rsc +4 -4
  89. package/.next/server/app/node.segments/_index.segment.rsc +6 -6
  90. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  91. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
  92. package/.next/server/app/node.segments/node.segment.rsc +3 -3
  93. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/nodes.html +2 -2
  95. package/.next/server/app/nodes.rsc +13 -13
  96. package/.next/server/app/nodes.segments/_full.segment.rsc +13 -13
  97. package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
  98. package/.next/server/app/nodes.segments/_index.segment.rsc +6 -6
  99. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  100. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
  101. package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
  102. package/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/server-logs/page/app-paths-manifest.json +3 -0
  104. package/.next/server/app/server-logs/page/build-manifest.json +17 -0
  105. package/.next/server/app/server-logs/page/next-font-manifest.json +10 -0
  106. package/.next/server/app/server-logs/page/react-loadable-manifest.json +1 -0
  107. package/.next/server/app/server-logs/page/server-reference-manifest.json +4 -0
  108. package/.next/server/app/server-logs/page.js +14 -0
  109. package/.next/server/app/server-logs/page.js.map +5 -0
  110. package/.next/server/app/server-logs/page.js.nft.json +1 -0
  111. package/.next/server/app/server-logs/page_client-reference-manifest.js +3 -0
  112. package/.next/server/app/server-logs.html +7 -0
  113. package/.next/server/app/server-logs.meta +15 -0
  114. package/.next/server/app/server-logs.rsc +23 -0
  115. package/.next/server/app/server-logs.segments/_full.segment.rsc +23 -0
  116. package/.next/server/app/server-logs.segments/_head.segment.rsc +6 -0
  117. package/.next/server/app/server-logs.segments/_index.segment.rsc +7 -0
  118. package/.next/server/app/server-logs.segments/_tree.segment.rsc +3 -0
  119. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +9 -0
  120. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +5 -0
  121. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/settings/networks.html +2 -2
  123. package/.next/server/app/settings/networks.rsc +13 -13
  124. package/.next/server/app/settings/networks.segments/_full.segment.rsc +13 -13
  125. package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
  126. package/.next/server/app/settings/networks.segments/_index.segment.rsc +6 -6
  127. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
  129. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
  130. package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
  131. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  132. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  133. package/.next/server/app/settings/tokens.html +2 -2
  134. package/.next/server/app/settings/tokens.rsc +13 -13
  135. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +13 -13
  136. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
  137. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +6 -6
  138. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  139. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
  140. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
  141. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
  142. package/.next/server/app/settings.html +2 -2
  143. package/.next/server/app/settings.rsc +13 -13
  144. package/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  145. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  146. package/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  147. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  148. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  149. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  150. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  151. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/tasks.html +2 -2
  153. package/.next/server/app/tasks.rsc +13 -13
  154. package/.next/server/app/tasks.segments/_full.segment.rsc +13 -13
  155. package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
  156. package/.next/server/app/tasks.segments/_index.segment.rsc +6 -6
  157. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  158. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
  159. package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
  160. package/.next/server/app-paths-manifest.json +2 -0
  161. package/.next/server/chunks/[root-of-the-server]__0h-9kwu._.js +3 -0
  162. package/.next/server/chunks/[root-of-the-server]__0h-9kwu._.js.map +1 -0
  163. package/.next/server/chunks/_next-internal_server_app_api_hub_server-logs_route_actions_00euexv.js +3 -0
  164. package/.next/server/chunks/_next-internal_server_app_api_hub_server-logs_route_actions_00euexv.js.map +1 -0
  165. package/.next/server/chunks/ssr/[root-of-the-server]__0qchqb~._.js +3 -0
  166. package/.next/server/chunks/ssr/[root-of-the-server]__0qchqb~._.js.map +1 -0
  167. package/.next/server/chunks/ssr/[root-of-the-server]__0xm3h9x._.js +1 -1
  168. package/.next/server/chunks/ssr/[root-of-the-server]__0xm3h9x._.js.map +1 -1
  169. package/.next/server/chunks/ssr/[root-of-the-server]__0zie0wm._.js +1 -1
  170. package/.next/server/chunks/ssr/[root-of-the-server]__0zie0wm._.js.map +1 -1
  171. package/.next/server/chunks/ssr/_next-internal_server_app_server-logs_page_actions_0g1gb5c.js +3 -0
  172. package/.next/server/chunks/ssr/_next-internal_server_app_server-logs_page_actions_0g1gb5c.js.map +1 -0
  173. package/.next/server/chunks/ssr/app_server-logs_page_tsx_0_kpp1p._.js +3 -0
  174. package/.next/server/chunks/ssr/app_server-logs_page_tsx_0_kpp1p._.js.map +1 -0
  175. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qm1-a1.js +4 -0
  176. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qm1-a1.js.map +1 -0
  177. package/.next/server/middleware-build-manifest.js +3 -3
  178. package/.next/server/next-font-manifest.js +1 -1
  179. package/.next/server/next-font-manifest.json +3 -0
  180. package/.next/server/pages/404.html +2 -2
  181. package/.next/server/pages/500.html +1 -1
  182. package/.next/static/chunks/{060yf6n1jdcri.js → 00ajkj4areor0.js} +1 -1
  183. package/.next/static/chunks/{0ep9nej0rnar-.js → 07okhs5561y5y.js} +1 -1
  184. package/.next/static/chunks/0fnbsi38p-b6~.js +1 -0
  185. package/.next/static/chunks/15bt8hbbo-gw1.css +2 -0
  186. package/.next/trace +2 -2
  187. package/.next/trace-build +1 -1
  188. package/.next/types/routes.d.ts +4 -2
  189. package/.next/types/validator.ts +18 -0
  190. package/app/api/hub/server-logs/route.ts +40 -0
  191. package/app/components/Sidebar.tsx +2 -1
  192. package/app/lib/useSSE.ts +11 -2
  193. package/app/server-logs/page.tsx +171 -0
  194. package/package.json +1 -1
  195. package/.next/static/chunks/0bajlbn83u82v.css +0 -2
  196. /package/.next/static/{q-j-l-aUCzasmkiiHyEOp → U4yGjxe7O16XnFFqa_0yt}/_buildManifest.js +0 -0
  197. /package/.next/static/{q-j-l-aUCzasmkiiHyEOp → U4yGjxe7O16XnFFqa_0yt}/_clientMiddlewareManifest.js +0 -0
  198. /package/.next/static/{q-j-l-aUCzasmkiiHyEOp → U4yGjxe7O16XnFFqa_0yt}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42602,(a,b,c)=>{"use strict";b.exports=a.r(18622)},87924,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},72131,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].React},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},88644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},22397,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=(0,c.createContext)({networkId:"",setNetworkId:()=>{}});a.s(["NetworkProvider",0,function({children:a}){let[e,f]=(0,c.useState)("");return(0,c.useEffect)(()=>{let a=sessionStorage.getItem("anet_network_id");a&&f(a)},[]),(0,b.jsx)(d.Provider,{value:{networkId:e,setNetworkId:a=>{f(a),sessionStorage.setItem("anet_network_id",a)}},children:a})},"useNetworkId",0,function(){return(0,c.useContext)(d)}])},42588,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(38246),e=a.i(72131),f=a.i(72596),g=a.i(22397);let h=a=>fetch(a).then(a=>a.ok?a.json():{networks:[]}),i=[{href:"/",label:"Overview",icon:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"},{href:"/tasks",label:"Tasks",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{href:"/nodes",label:"Nodes",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"},{href:"/messages",label:"Messages",icon:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"},{href:"/settings/networks",label:"Networks",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{href:"/logs",label:"Logs",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:"/admin",label:"Admin",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"},{href:"/docs",label:"Docs",icon:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"},{href:"/settings",label:"Settings",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"}],j={owner:"⭐",admin:"🔧",member:"👤",viewer:"👁"};function k(){let a=(0,c.usePathname)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(!1),{networkId:o,setNetworkId:p}=(0,g.useNetworkId)(),{data:q}=(0,f.default)("/api/hub/networks",h,{refreshInterval:15e3,dedupingInterval:1e4}),r=q?.networks||[],s=(0,b.jsx)("nav",{className:"flex flex-col gap-1 px-2 py-4",children:i.map(c=>{var e;return(0,b.jsxs)(d.default,{href:c.href,prefetch:!1,onClick:()=>n(!1),className:`flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] ${("/"===(e=c.href)?"/"===a:"/settings"===e?"/settings"===a:a.startsWith(e))?"bg-cyan-500/10 text-cyan-300 border border-cyan-500/20":"text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a]"} ${k?"justify-center":""}`,children:[(0,b.jsx)("svg",{className:"w-5 h-5 shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:c.icon})}),!k&&(0,b.jsx)("span",{children:c.label})]},c.href)})});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>n(!m),className:"fixed top-4 left-3 z-50 lg:hidden bg-[#111128] border border-[#2a2a4a] rounded-lg p-2.5 text-gray-400 hover:text-white active:bg-[#1a1a3a]","aria-label":"Toggle menu",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m?(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}):(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}),m&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-30 lg:hidden",onClick:()=>n(!1)}),(0,b.jsxs)("aside",{className:`
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},42602,(a,b,c)=>{"use strict";b.exports=a.r(18622)},87924,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},72131,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].React},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},88644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},22397,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=(0,c.createContext)({networkId:"",setNetworkId:()=>{}});a.s(["NetworkProvider",0,function({children:a}){let[e,f]=(0,c.useState)("");return(0,c.useEffect)(()=>{let a=sessionStorage.getItem("anet_network_id");a&&f(a)},[]),(0,b.jsx)(d.Provider,{value:{networkId:e,setNetworkId:a=>{f(a),sessionStorage.setItem("anet_network_id",a)}},children:a})},"useNetworkId",0,function(){return(0,c.useContext)(d)}])},42588,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(38246),e=a.i(72131),f=a.i(72596),g=a.i(22397);let h=a=>fetch(a).then(a=>a.ok?a.json():{networks:[]}),i=[{href:"/",label:"Overview",icon:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"},{href:"/tasks",label:"Tasks",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{href:"/nodes",label:"Nodes",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"},{href:"/messages",label:"Messages",icon:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"},{href:"/settings/networks",label:"Networks",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{href:"/logs",label:"Audit Log",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:"/server-logs",label:"Server Logs",icon:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"},{href:"/admin",label:"Admin",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"},{href:"/docs",label:"Docs",icon:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"},{href:"/settings",label:"Settings",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"}],j={owner:"⭐",admin:"🔧",member:"👤",viewer:"👁"};function k(){let a=(0,c.usePathname)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(!1),{networkId:o,setNetworkId:p}=(0,g.useNetworkId)(),{data:q}=(0,f.default)("/api/hub/networks",h,{refreshInterval:15e3,dedupingInterval:1e4}),r=q?.networks||[],s=(0,b.jsx)("nav",{className:"flex flex-col gap-1 px-2 py-4",children:i.map(c=>{var e;return(0,b.jsxs)(d.default,{href:c.href,prefetch:!1,onClick:()=>n(!1),className:`flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] ${("/"===(e=c.href)?"/"===a:"/settings"===e?"/settings"===a:a.startsWith(e))?"bg-cyan-500/10 text-cyan-300 border border-cyan-500/20":"text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a]"} ${k?"justify-center":""}`,children:[(0,b.jsx)("svg",{className:"w-5 h-5 shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:c.icon})}),!k&&(0,b.jsx)("span",{children:c.label})]},c.href)})});return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>n(!m),className:"fixed top-4 left-3 z-50 lg:hidden bg-[#111128] border border-[#2a2a4a] rounded-lg p-2.5 text-gray-400 hover:text-white active:bg-[#1a1a3a]","aria-label":"Toggle menu",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m?(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}):(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}),m&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-30 lg:hidden",onClick:()=>n(!1)}),(0,b.jsxs)("aside",{className:`
2
2
  fixed top-0 left-0 h-full z-40 bg-[#0d0d1a] border-r border-[#2a2a4a]
3
3
  transition-all duration-200
4
4
  ${k?"w-16":"w-52"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../node_modules/next/src/shared/lib/segment.ts","../../../../node_modules/next/src/shared/lib/invariant-error.ts","../../../../node_modules/next/src/shared/lib/promise-with-resolvers.ts","../../../../app/lib/network-context.tsx","../../../../app/components/AppShell.tsx","../../../../app/components/Sidebar.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n","import type { FlightRouterState, Segment } from './app-router-types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function addSearchParamsIfPageSegment(\n segment: Segment,\n searchParams: Record<string, string | string[] | undefined>\n) {\n const isPageSegment = segment.includes(PAGE_SEGMENT_KEY)\n\n if (isPageSegment) {\n const stringifiedQuery = JSON.stringify(searchParams)\n return stringifiedQuery !== '{}'\n ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery\n : PAGE_SEGMENT_KEY\n }\n\n return segment\n}\n\nexport function computeSelectedLayoutSegment(\n segments: string[] | null,\n parallelRouteKey: string\n): string | null {\n if (!segments || segments.length === 0) {\n return null\n }\n\n // For 'children', use first segment; for other parallel routes, use last segment\n const rawSegment =\n parallelRouteKey === 'children'\n ? segments[0]\n : segments[segments.length - 1]\n\n // If the default slot is showing, return null since it's not technically \"selected\" (it's a fallback)\n // Returning an internal value like `__DEFAULT__` would be confusing\n return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\nexport function getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\nexport const NOT_FOUND_SEGMENT_KEY = '/_not-found'\n","export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n","export function createPromiseWithResolvers<T>(): PromiseWithResolvers<T> {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason: any) => void\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n return { resolve: resolve!, reject: reject!, promise }\n}\n","'use client';\n\nimport { createContext, useContext, useState, useEffect, ReactNode } from 'react';\n\ninterface NetworkContextType {\n networkId: string;\n setNetworkId: (id: string) => void;\n}\n\nconst NetworkContext = createContext<NetworkContextType>({ networkId: '', setNetworkId: () => {} });\n\nexport function NetworkProvider({ children }: { children: ReactNode }) {\n const [networkId, setNetworkId] = useState('');\n\n useEffect(() => {\n const saved = sessionStorage.getItem('anet_network_id');\n if (saved) setNetworkId(saved);\n }, []);\n\n const setAndPersist = (id: string) => {\n setNetworkId(id);\n sessionStorage.setItem('anet_network_id', id);\n };\n\n return (\n <NetworkContext.Provider value={{ networkId, setNetworkId: setAndPersist }}>\n {children}\n </NetworkContext.Provider>\n );\n}\n\nexport function useNetworkId() {\n return useContext(NetworkContext);\n}\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Sidebar } from './Sidebar';\n\nconst NO_SHELL_PATHS = ['/login'];\n\nexport function AppShell({ children }: { children: React.ReactNode }) {\n const pathname = usePathname();\n\n if (NO_SHELL_PATHS.includes(pathname)) {\n return <>{children}</>;\n }\n\n return (\n <div className=\"flex min-h-screen\">\n <Sidebar />\n <main className=\"flex-1 min-w-0\">{children}</main>\n </div>\n );\n}\n","'use client';\n\nimport Link from 'next/link';\nimport { usePathname } from 'next/navigation';\nimport { useState } from 'react';\nimport useSWR from 'swr';\nimport { useNetworkId } from '../lib/network-context';\n\nconst networkFetcher = (url: string) => fetch(url).then(r => r.ok ? r.json() : { networks: [] });\n\nconst NAV_ITEMS = [\n { href: '/', label: 'Overview', icon: 'M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6' },\n { href: '/tasks', label: 'Tasks', icon: 'M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4' },\n { href: '/nodes', label: 'Nodes', icon: 'M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01' },\n { href: '/messages', label: 'Messages', icon: 'M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z' },\n { href: '/settings/networks', label: 'Networks', icon: 'M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9' },\n { href: '/logs', label: 'Logs', icon: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z' },\n { href: '/admin', label: 'Admin', icon: 'M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z' },\n { href: '/docs', label: 'Docs', icon: 'M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253' },\n { href: '/settings', label: 'Settings', icon: 'M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z' },\n];\n\ninterface SidebarNetwork {\n network_id: string;\n network_name: string;\n role?: string;\n}\n\nconst ROLE_ICON: Record<string, string> = { owner: '⭐', admin: '🔧', member: '👤', viewer: '👁' };\n\nexport function Sidebar() {\n const pathname = usePathname();\n const [collapsed, setCollapsed] = useState(false);\n const [mobileOpen, setMobileOpen] = useState(false);\n const { networkId, setNetworkId } = useNetworkId();\n const { data: netData } = useSWR<{ networks: SidebarNetwork[] }>('/api/hub/networks', networkFetcher, { refreshInterval: 15000, dedupingInterval: 10000 });\n const networks = netData?.networks || [];\n\n const isActive = (href: string) => {\n if (href === '/') return pathname === '/';\n if (href === '/settings') return pathname === '/settings';\n return pathname.startsWith(href);\n };\n\n const nav = (\n <nav className=\"flex flex-col gap-1 px-2 py-4\">\n {NAV_ITEMS.map(item => (\n <Link\n key={item.href}\n href={item.href}\n prefetch={false}\n onClick={() => setMobileOpen(false)}\n className={`flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] ${\n isActive(item.href)\n ? 'bg-cyan-500/10 text-cyan-300 border border-cyan-500/20'\n : 'text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a]'\n } ${collapsed ? 'justify-center' : ''}`}\n >\n <svg className=\"w-5 h-5 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d={item.icon} />\n </svg>\n {!collapsed && <span>{item.label}</span>}\n </Link>\n ))}\n </nav>\n );\n\n return (\n <>\n {/* Mobile hamburger */}\n <button\n onClick={() => setMobileOpen(!mobileOpen)}\n className=\"fixed top-4 left-3 z-50 lg:hidden bg-[#111128] border border-[#2a2a4a] rounded-lg p-2.5 text-gray-400 hover:text-white active:bg-[#1a1a3a]\"\n aria-label=\"Toggle menu\"\n >\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n {mobileOpen\n ? <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n : <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h16\" />}\n </svg>\n </button>\n\n {/* Mobile overlay */}\n {mobileOpen && (\n <div\n className=\"fixed inset-0 bg-black/50 z-30 lg:hidden\"\n onClick={() => setMobileOpen(false)}\n />\n )}\n\n {/* Sidebar */}\n <aside className={`\n fixed top-0 left-0 h-full z-40 bg-[#0d0d1a] border-r border-[#2a2a4a]\n transition-all duration-200\n ${collapsed ? 'w-16' : 'w-52'}\n ${mobileOpen ? 'translate-x-0' : '-translate-x-full'}\n lg:translate-x-0 lg:static lg:shrink-0\n `}>\n {/* Logo */}\n <div className={`px-4 py-5 border-b border-[#2a2a4a] ${collapsed ? 'text-center' : ''}`}>\n {collapsed ? (\n <span className=\"text-cyan-400 font-bold text-lg\">A</span>\n ) : (\n <div>\n <div className=\"text-white font-bold text-sm\">Agent Network</div>\n <div className=\"text-gray-600 text-xs\">Dashboard</div>\n </div>\n )}\n </div>\n\n {/* Network list */}\n {!collapsed && networks.length > 0 && (\n <div className=\"px-2 py-3 border-b border-[#2a2a4a]\">\n <div className=\"px-3 text-[10px] text-gray-600 uppercase mb-2\">Networks</div>\n <div className=\"space-y-0.5 max-h-32 overflow-y-auto\">\n {networks.map((n: SidebarNetwork) => (\n <button\n key={n.network_id}\n onClick={() => { setNetworkId(n.network_id); setMobileOpen(false); }}\n className={`w-full flex items-center gap-2 px-3 py-1.5 rounded-md text-xs transition-colors text-left ${\n networkId === n.network_id\n ? 'bg-cyan-500/10 text-cyan-300'\n : 'text-gray-500 hover:text-gray-300 hover:bg-[#1a1a2a]'\n }`}\n >\n <span>{ROLE_ICON[n.role || 'member'] || '👤'}</span>\n <span className=\"truncate\">{n.network_name}</span>\n </button>\n ))}\n </div>\n </div>\n )}\n\n <div className=\"pb-20\">\n {nav}\n </div>\n\n {/* Sign out + collapse */}\n <div className=\"absolute bottom-0 left-0 right-0 border-t border-[#2a2a4a] bg-[#0d0d1a]\">\n {!collapsed && (\n <button\n onClick={async () => {\n await fetch('/api/auth/logout', { method: 'POST' }).catch(() => {});\n sessionStorage.removeItem('anet_v3_auth');\n window.location.assign('/login');\n }}\n className=\"w-full flex items-center gap-3 px-5 py-3 text-xs text-gray-500 hover:text-red-400 hover:bg-red-500/5 transition-colors\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9\" />\n </svg>\n Sign out\n </button>\n )}\n <button\n onClick={() => setCollapsed(!collapsed)}\n className=\"hidden lg:flex w-full justify-center py-2 text-gray-600 hover:text-gray-400 transition-colors\"\n >\n <svg className={`w-4 h-4 transition-transform ${collapsed ? 'rotate-180' : ''}`} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M15 19l-7-7 7-7\" />\n </svg>\n </button>\n </div>\n </aside>\n </>\n );\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interop_require_wildcard","obj","__esModule","default","cache","has","get","newObj","__proto__","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_","DEFAULT_SEGMENT_KEY","NOT_FOUND_SEGMENT_KEY","PAGE_SEGMENT_KEY","addSearchParamsIfPageSegment","computeSelectedLayoutSegment","getSegmentValue","getSelectedLayoutSegmentPath","isGroupSegment","isParallelRouteSegment","segment","Array","isArray","endsWith","startsWith","searchParams","isPageSegment","includes","stringifiedQuery","JSON","stringify","segments","parallelRouteKey","length","rawSegment","tree","first","segmentPath","node","parallelRoutes","children","values","segmentValue","push","InvariantError","Error","constructor","message","options","name","createPromiseWithResolvers","resolve","reject","promise","Promise","res","rej","NetworkContext","networkId","setNetworkId","NetworkProvider","saved","sessionStorage","getItem","setAndPersist","id","setItem","Provider","value","useNetworkId","networkFetcher","url","fetch","then","r","ok","json","networks","NAV_ITEMS","href","label","icon","ROLE_ICON","owner","admin","member","viewer","Sidebar","pathname","collapsed","setCollapsed","mobileOpen","setMobileOpen","data","netData","refreshInterval","dedupingInterval","isActive","nav","className","map","item","prefetch","onClick","fill","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","n","network_id","role","network_name","method","catch","removeItem","window","location","assign"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
1
+ {"version":3,"sources":["../../../../node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../node_modules/next/src/shared/lib/segment.ts","../../../../node_modules/next/src/shared/lib/invariant-error.ts","../../../../node_modules/next/src/shared/lib/promise-with-resolvers.ts","../../../../app/lib/network-context.tsx","../../../../app/components/AppShell.tsx","../../../../app/components/Sidebar.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n","import type { FlightRouterState, Segment } from './app-router-types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function addSearchParamsIfPageSegment(\n segment: Segment,\n searchParams: Record<string, string | string[] | undefined>\n) {\n const isPageSegment = segment.includes(PAGE_SEGMENT_KEY)\n\n if (isPageSegment) {\n const stringifiedQuery = JSON.stringify(searchParams)\n return stringifiedQuery !== '{}'\n ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery\n : PAGE_SEGMENT_KEY\n }\n\n return segment\n}\n\nexport function computeSelectedLayoutSegment(\n segments: string[] | null,\n parallelRouteKey: string\n): string | null {\n if (!segments || segments.length === 0) {\n return null\n }\n\n // For 'children', use first segment; for other parallel routes, use last segment\n const rawSegment =\n parallelRouteKey === 'children'\n ? segments[0]\n : segments[segments.length - 1]\n\n // If the default slot is showing, return null since it's not technically \"selected\" (it's a fallback)\n // Returning an internal value like `__DEFAULT__` would be confusing\n return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\nexport function getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\nexport const NOT_FOUND_SEGMENT_KEY = '/_not-found'\n","export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n","export function createPromiseWithResolvers<T>(): PromiseWithResolvers<T> {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason: any) => void\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n return { resolve: resolve!, reject: reject!, promise }\n}\n","'use client';\n\nimport { createContext, useContext, useState, useEffect, ReactNode } from 'react';\n\ninterface NetworkContextType {\n networkId: string;\n setNetworkId: (id: string) => void;\n}\n\nconst NetworkContext = createContext<NetworkContextType>({ networkId: '', setNetworkId: () => {} });\n\nexport function NetworkProvider({ children }: { children: ReactNode }) {\n const [networkId, setNetworkId] = useState('');\n\n useEffect(() => {\n const saved = sessionStorage.getItem('anet_network_id');\n if (saved) setNetworkId(saved);\n }, []);\n\n const setAndPersist = (id: string) => {\n setNetworkId(id);\n sessionStorage.setItem('anet_network_id', id);\n };\n\n return (\n <NetworkContext.Provider value={{ networkId, setNetworkId: setAndPersist }}>\n {children}\n </NetworkContext.Provider>\n );\n}\n\nexport function useNetworkId() {\n return useContext(NetworkContext);\n}\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Sidebar } from './Sidebar';\n\nconst NO_SHELL_PATHS = ['/login'];\n\nexport function AppShell({ children }: { children: React.ReactNode }) {\n const pathname = usePathname();\n\n if (NO_SHELL_PATHS.includes(pathname)) {\n return <>{children}</>;\n }\n\n return (\n <div className=\"flex min-h-screen\">\n <Sidebar />\n <main className=\"flex-1 min-w-0\">{children}</main>\n </div>\n );\n}\n","'use client';\n\nimport Link from 'next/link';\nimport { usePathname } from 'next/navigation';\nimport { useState } from 'react';\nimport useSWR from 'swr';\nimport { useNetworkId } from '../lib/network-context';\n\nconst networkFetcher = (url: string) => fetch(url).then(r => r.ok ? r.json() : { networks: [] });\n\nconst NAV_ITEMS = [\n { href: '/', label: 'Overview', icon: 'M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6' },\n { href: '/tasks', label: 'Tasks', icon: 'M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4' },\n { href: '/nodes', label: 'Nodes', icon: 'M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01' },\n { href: '/messages', label: 'Messages', icon: 'M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z' },\n { href: '/settings/networks', label: 'Networks', icon: 'M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9' },\n { href: '/logs', label: 'Audit Log', icon: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z' },\n { href: '/server-logs', label: 'Server Logs', icon: 'M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z' },\n { href: '/admin', label: 'Admin', icon: 'M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z' },\n { href: '/docs', label: 'Docs', icon: 'M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253' },\n { href: '/settings', label: 'Settings', icon: 'M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z' },\n];\n\ninterface SidebarNetwork {\n network_id: string;\n network_name: string;\n role?: string;\n}\n\nconst ROLE_ICON: Record<string, string> = { owner: '⭐', admin: '🔧', member: '👤', viewer: '👁' };\n\nexport function Sidebar() {\n const pathname = usePathname();\n const [collapsed, setCollapsed] = useState(false);\n const [mobileOpen, setMobileOpen] = useState(false);\n const { networkId, setNetworkId } = useNetworkId();\n const { data: netData } = useSWR<{ networks: SidebarNetwork[] }>('/api/hub/networks', networkFetcher, { refreshInterval: 15000, dedupingInterval: 10000 });\n const networks = netData?.networks || [];\n\n const isActive = (href: string) => {\n if (href === '/') return pathname === '/';\n if (href === '/settings') return pathname === '/settings';\n return pathname.startsWith(href);\n };\n\n const nav = (\n <nav className=\"flex flex-col gap-1 px-2 py-4\">\n {NAV_ITEMS.map(item => (\n <Link\n key={item.href}\n href={item.href}\n prefetch={false}\n onClick={() => setMobileOpen(false)}\n className={`flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] ${\n isActive(item.href)\n ? 'bg-cyan-500/10 text-cyan-300 border border-cyan-500/20'\n : 'text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a]'\n } ${collapsed ? 'justify-center' : ''}`}\n >\n <svg className=\"w-5 h-5 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d={item.icon} />\n </svg>\n {!collapsed && <span>{item.label}</span>}\n </Link>\n ))}\n </nav>\n );\n\n return (\n <>\n {/* Mobile hamburger */}\n <button\n onClick={() => setMobileOpen(!mobileOpen)}\n className=\"fixed top-4 left-3 z-50 lg:hidden bg-[#111128] border border-[#2a2a4a] rounded-lg p-2.5 text-gray-400 hover:text-white active:bg-[#1a1a3a]\"\n aria-label=\"Toggle menu\"\n >\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n {mobileOpen\n ? <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n : <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h16\" />}\n </svg>\n </button>\n\n {/* Mobile overlay */}\n {mobileOpen && (\n <div\n className=\"fixed inset-0 bg-black/50 z-30 lg:hidden\"\n onClick={() => setMobileOpen(false)}\n />\n )}\n\n {/* Sidebar */}\n <aside className={`\n fixed top-0 left-0 h-full z-40 bg-[#0d0d1a] border-r border-[#2a2a4a]\n transition-all duration-200\n ${collapsed ? 'w-16' : 'w-52'}\n ${mobileOpen ? 'translate-x-0' : '-translate-x-full'}\n lg:translate-x-0 lg:static lg:shrink-0\n `}>\n {/* Logo */}\n <div className={`px-4 py-5 border-b border-[#2a2a4a] ${collapsed ? 'text-center' : ''}`}>\n {collapsed ? (\n <span className=\"text-cyan-400 font-bold text-lg\">A</span>\n ) : (\n <div>\n <div className=\"text-white font-bold text-sm\">Agent Network</div>\n <div className=\"text-gray-600 text-xs\">Dashboard</div>\n </div>\n )}\n </div>\n\n {/* Network list */}\n {!collapsed && networks.length > 0 && (\n <div className=\"px-2 py-3 border-b border-[#2a2a4a]\">\n <div className=\"px-3 text-[10px] text-gray-600 uppercase mb-2\">Networks</div>\n <div className=\"space-y-0.5 max-h-32 overflow-y-auto\">\n {networks.map((n: SidebarNetwork) => (\n <button\n key={n.network_id}\n onClick={() => { setNetworkId(n.network_id); setMobileOpen(false); }}\n className={`w-full flex items-center gap-2 px-3 py-1.5 rounded-md text-xs transition-colors text-left ${\n networkId === n.network_id\n ? 'bg-cyan-500/10 text-cyan-300'\n : 'text-gray-500 hover:text-gray-300 hover:bg-[#1a1a2a]'\n }`}\n >\n <span>{ROLE_ICON[n.role || 'member'] || '👤'}</span>\n <span className=\"truncate\">{n.network_name}</span>\n </button>\n ))}\n </div>\n </div>\n )}\n\n <div className=\"pb-20\">\n {nav}\n </div>\n\n {/* Sign out + collapse */}\n <div className=\"absolute bottom-0 left-0 right-0 border-t border-[#2a2a4a] bg-[#0d0d1a]\">\n {!collapsed && (\n <button\n onClick={async () => {\n await fetch('/api/auth/logout', { method: 'POST' }).catch(() => {});\n sessionStorage.removeItem('anet_v3_auth');\n window.location.assign('/login');\n }}\n className=\"w-full flex items-center gap-3 px-5 py-3 text-xs text-gray-500 hover:text-red-400 hover:bg-red-500/5 transition-colors\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9\" />\n </svg>\n Sign out\n </button>\n )}\n <button\n onClick={() => setCollapsed(!collapsed)}\n className=\"hidden lg:flex w-full justify-center py-2 text-gray-600 hover:text-gray-400 transition-colors\"\n >\n <svg className={`w-4 h-4 transition-transform ${collapsed ? 'rotate-180' : ''}`} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M15 19l-7-7 7-7\" />\n </svg>\n </button>\n </div>\n </aside>\n </>\n );\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interop_require_wildcard","obj","__esModule","default","cache","has","get","newObj","__proto__","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_","DEFAULT_SEGMENT_KEY","NOT_FOUND_SEGMENT_KEY","PAGE_SEGMENT_KEY","addSearchParamsIfPageSegment","computeSelectedLayoutSegment","getSegmentValue","getSelectedLayoutSegmentPath","isGroupSegment","isParallelRouteSegment","segment","Array","isArray","endsWith","startsWith","searchParams","isPageSegment","includes","stringifiedQuery","JSON","stringify","segments","parallelRouteKey","length","rawSegment","tree","first","segmentPath","node","parallelRoutes","children","values","segmentValue","push","InvariantError","Error","constructor","message","options","name","createPromiseWithResolvers","resolve","reject","promise","Promise","res","rej","NetworkContext","networkId","setNetworkId","NetworkProvider","saved","sessionStorage","getItem","setAndPersist","id","setItem","Provider","value","useNetworkId","networkFetcher","url","fetch","then","r","ok","json","networks","NAV_ITEMS","href","label","icon","ROLE_ICON","owner","admin","member","viewer","Sidebar","pathname","collapsed","setCollapsed","mobileOpen","setMobileOpen","data","netData","refreshInterval","dedupingInterval","isActive","nav","className","map","item","prefetch","onClick","fill","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","n","network_id","role","network_name","method","catch","removeItem","window","location","assign"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
@@ -0,0 +1,3 @@
1
+ module.exports=[60336,(a,b,c)=>{}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_server-logs_page_actions_0g1gb5c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ module.exports=[30176,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d={log:"text-gray-300",info:"text-cyan-300",warn:"text-amber-400",error:"text-red-400"},e={log:"bg-gray-500/10 text-gray-400 border-gray-500/20",info:"bg-cyan-500/10 text-cyan-300 border-cyan-500/30",warn:"bg-amber-500/10 text-amber-300 border-amber-500/30",error:"bg-red-500/10 text-red-300 border-red-500/30"};a.s(["default",0,function(){let[a,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)("all"),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(!0),q=(0,c.useRef)(""),r=(0,c.useCallback)(async(a=!1)=>{try{let b=new URLSearchParams({limit:"500"});!a&&q.current&&b.set("since",q.current);let c=await fetch(`/api/hub/server-logs?${b.toString()}`),d=await c.json();if(!c.ok||!d.ok)return void h(d.error||`HTTP ${c.status}`);h(null);let e=d.logs||[];if(0===e.length)return;q.current=e[0].ts,a?f(e):f(a=>{let b=new Set(a.map(a=>a.ts+a.line));return[...e.filter(a=>!b.has(a.ts+a.line)),...a].slice(0,1e3)})}catch(a){h(a instanceof Error?a.message:"fetch failed")}},[]);(0,c.useEffect)(()=>{r(!0)},[r]),(0,c.useEffect)(()=>{if(!o||i)return;let a=setInterval(()=>r(!1),2e3);return()=>clearInterval(a)},[o,i,r]);let s=a.filter(a=>("all"===k||a.level===k)&&(!m||!!a.line.toLowerCase().includes(m.toLowerCase()))),t={log:0,info:0,warn:0,error:0};for(let b of a)t[b.level]++;return(0,b.jsxs)("div",{className:"p-6 max-w-[1600px] mx-auto",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-white",children:"Server Logs"}),(0,b.jsx)("span",{className:"text-xs text-gray-500",children:"CommHub stdout/stderr · 最新在上"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)("button",{onClick:()=>j(a=>!a),className:`px-3 py-1 rounded border ${i?"bg-amber-500/10 text-amber-300 border-amber-500/30":"bg-cyan-500/10 text-cyan-300 border-cyan-500/30"}`,children:i?"▶ Resume":"⏸ Pause"}),(0,b.jsxs)("label",{className:"flex items-center gap-1 text-gray-400 select-none",children:[(0,b.jsx)("input",{type:"checkbox",checked:o,onChange:a=>p(a.target.checked),className:"accent-cyan-500"}),"auto-refresh"]}),(0,b.jsx)("button",{onClick:()=>r(!0),className:"px-3 py-1 rounded border bg-gray-500/10 text-gray-300 border-gray-500/20 hover:bg-gray-500/20",children:"↻ Reload"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[(0,b.jsx)("div",{className:"flex items-center gap-1 text-xs",children:["all","log","info","warn","error"].map(a=>(0,b.jsxs)("button",{onClick:()=>l(a),className:`px-2.5 py-1 rounded border ${k===a?"bg-cyan-500/15 text-cyan-200 border-cyan-500/40":"bg-[#11111c] text-gray-400 border-[#2a2a4a] hover:bg-[#1a1a2a]"}`,children:[a,"all"!==a&&t[a]>0?` (${t[a]})`:""]},a))}),(0,b.jsx)("input",{value:m,onChange:a=>n(a.target.value),placeholder:"搜索关键字 (alias / task_id / error message)",className:"flex-1 px-3 py-1.5 text-xs bg-[#11111c] border border-[#2a2a4a] rounded text-gray-200 focus:outline-none focus:border-cyan-500/40"}),(0,b.jsxs)("span",{className:"text-[10px] text-gray-600",children:[s.length," / ",a.length]})]}),g&&(0,b.jsxs)("div",{className:"mb-3 p-3 rounded border border-red-500/30 bg-red-500/10 text-red-300 text-xs",children:["❌ ",g," (admin 角色才能看 server logs)"]}),(0,b.jsx)("div",{className:"rounded border border-[#1a1a2a] bg-[#050510] font-mono text-[11px] leading-relaxed overflow-hidden",children:0===s.length?(0,b.jsx)("div",{className:"p-8 text-center text-gray-600",children:g?"加载失败":0===a.length?"加载中...":"没有匹配的日志"}):(0,b.jsx)("div",{className:"divide-y divide-[#0d0d18] max-h-[calc(100vh-260px)] overflow-y-auto",children:s.map((a,c)=>(0,b.jsxs)("div",{className:"px-3 py-1 hover:bg-[#0a0a14] flex gap-3",children:[(0,b.jsx)("span",{className:"text-gray-600 shrink-0 w-[110px] text-[10px]",children:function(a){try{let b=new Date(a);return b.toTimeString().slice(0,8)+"."+String(b.getMilliseconds()).padStart(3,"0")}catch{return a}}(a.ts)}),(0,b.jsx)("span",{className:`shrink-0 px-1.5 rounded border text-[9px] uppercase ${e[a.level]}`,children:a.level}),(0,b.jsx)("span",{className:`break-all whitespace-pre-wrap ${d[a.level]}`,children:a.line})]},`${a.ts}-${c}`))})})]})}])}];
2
+
3
+ //# sourceMappingURL=app_server-logs_page_tsx_0_kpp1p._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../app/server-logs/page.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useEffect, useRef, useCallback } from 'react';\n\ninterface LogLine {\n ts: string;\n level: 'log' | 'info' | 'warn' | 'error';\n line: string;\n}\n\nconst LEVEL_COLOR: Record<LogLine['level'], string> = {\n log: 'text-gray-300',\n info: 'text-cyan-300',\n warn: 'text-amber-400',\n error: 'text-red-400',\n};\n\nconst LEVEL_BADGE: Record<LogLine['level'], string> = {\n log: 'bg-gray-500/10 text-gray-400 border-gray-500/20',\n info: 'bg-cyan-500/10 text-cyan-300 border-cyan-500/30',\n warn: 'bg-amber-500/10 text-amber-300 border-amber-500/30',\n error: 'bg-red-500/10 text-red-300 border-red-500/30',\n};\n\nfunction shortTime(iso: string) {\n try {\n const d = new Date(iso);\n return d.toTimeString().slice(0, 8) + '.' + String(d.getMilliseconds()).padStart(3, '0');\n } catch {\n return iso;\n }\n}\n\nexport default function ServerLogsPage() {\n const [logs, setLogs] = useState<LogLine[]>([]);\n const [error, setError] = useState<string | null>(null);\n const [paused, setPaused] = useState(false);\n const [filterLevel, setFilterLevel] = useState<'all' | LogLine['level']>('all');\n const [search, setSearch] = useState('');\n const [autoRefresh, setAutoRefresh] = useState(true);\n const lastTsRef = useRef<string>('');\n\n const fetchLogs = useCallback(async (initial = false) => {\n try {\n const params = new URLSearchParams({ limit: '500' });\n if (!initial && lastTsRef.current) params.set('since', lastTsRef.current);\n const res = await fetch(`/api/hub/server-logs?${params.toString()}`);\n const data = await res.json();\n if (!res.ok || !data.ok) {\n setError(data.error || `HTTP ${res.status}`);\n return;\n }\n setError(null);\n const newLogs: LogLine[] = data.logs || [];\n if (newLogs.length === 0) return;\n // server returns newest-first; track most recent ts for incremental fetches\n lastTsRef.current = newLogs[0].ts;\n if (initial) {\n setLogs(newLogs);\n } else {\n // merge: prepend new entries (which are newer than lastTs)\n setLogs(prev => {\n // de-dup by ts+line\n const seen = new Set(prev.map(l => l.ts + l.line));\n const fresh = newLogs.filter(l => !seen.has(l.ts + l.line));\n return [...fresh, ...prev].slice(0, 1000);\n });\n }\n } catch (e: unknown) {\n setError(e instanceof Error ? e.message : 'fetch failed');\n }\n }, []);\n\n useEffect(() => {\n fetchLogs(true);\n }, [fetchLogs]);\n\n useEffect(() => {\n if (!autoRefresh || paused) return;\n const interval = setInterval(() => fetchLogs(false), 2000);\n return () => clearInterval(interval);\n }, [autoRefresh, paused, fetchLogs]);\n\n const filtered = logs.filter(l => {\n if (filterLevel !== 'all' && l.level !== filterLevel) return false;\n if (search && !l.line.toLowerCase().includes(search.toLowerCase())) return false;\n return true;\n });\n\n const counts = { log: 0, info: 0, warn: 0, error: 0 };\n for (const l of logs) counts[l.level]++;\n\n return (\n <div className=\"p-6 max-w-[1600px] mx-auto\">\n <div className=\"flex items-baseline justify-between mb-4\">\n <div className=\"flex items-baseline gap-3\">\n <h1 className=\"text-2xl font-bold text-white\">Server Logs</h1>\n <span className=\"text-xs text-gray-500\">CommHub stdout/stderr · 最新在上</span>\n </div>\n <div className=\"flex items-center gap-2 text-xs\">\n <button\n onClick={() => setPaused(p => !p)}\n className={`px-3 py-1 rounded border ${paused ? 'bg-amber-500/10 text-amber-300 border-amber-500/30' : 'bg-cyan-500/10 text-cyan-300 border-cyan-500/30'}`}\n >\n {paused ? '▶ Resume' : '⏸ Pause'}\n </button>\n <label className=\"flex items-center gap-1 text-gray-400 select-none\">\n <input type=\"checkbox\" checked={autoRefresh} onChange={e => setAutoRefresh(e.target.checked)} className=\"accent-cyan-500\" />\n auto-refresh\n </label>\n <button onClick={() => fetchLogs(true)} className=\"px-3 py-1 rounded border bg-gray-500/10 text-gray-300 border-gray-500/20 hover:bg-gray-500/20\">\n ↻ Reload\n </button>\n </div>\n </div>\n\n <div className=\"flex items-center gap-3 mb-3\">\n <div className=\"flex items-center gap-1 text-xs\">\n {(['all', 'log', 'info', 'warn', 'error'] as const).map(lv => (\n <button\n key={lv}\n onClick={() => setFilterLevel(lv)}\n className={`px-2.5 py-1 rounded border ${\n filterLevel === lv\n ? 'bg-cyan-500/15 text-cyan-200 border-cyan-500/40'\n : 'bg-[#11111c] text-gray-400 border-[#2a2a4a] hover:bg-[#1a1a2a]'\n }`}\n >\n {lv}{lv !== 'all' && counts[lv as LogLine['level']] > 0 ? ` (${counts[lv as LogLine['level']]})` : ''}\n </button>\n ))}\n </div>\n <input\n value={search}\n onChange={e => setSearch(e.target.value)}\n placeholder=\"搜索关键字 (alias / task_id / error message)\"\n className=\"flex-1 px-3 py-1.5 text-xs bg-[#11111c] border border-[#2a2a4a] rounded text-gray-200 focus:outline-none focus:border-cyan-500/40\"\n />\n <span className=\"text-[10px] text-gray-600\">\n {filtered.length} / {logs.length}\n </span>\n </div>\n\n {error && (\n <div className=\"mb-3 p-3 rounded border border-red-500/30 bg-red-500/10 text-red-300 text-xs\">\n ❌ {error} (admin 角色才能看 server logs)\n </div>\n )}\n\n <div className=\"rounded border border-[#1a1a2a] bg-[#050510] font-mono text-[11px] leading-relaxed overflow-hidden\">\n {filtered.length === 0 ? (\n <div className=\"p-8 text-center text-gray-600\">\n {error ? '加载失败' : logs.length === 0 ? '加载中...' : '没有匹配的日志'}\n </div>\n ) : (\n <div className=\"divide-y divide-[#0d0d18] max-h-[calc(100vh-260px)] overflow-y-auto\">\n {filtered.map((l, i) => (\n <div key={`${l.ts}-${i}`} className=\"px-3 py-1 hover:bg-[#0a0a14] flex gap-3\">\n <span className=\"text-gray-600 shrink-0 w-[110px] text-[10px]\">{shortTime(l.ts)}</span>\n <span className={`shrink-0 px-1.5 rounded border text-[9px] uppercase ${LEVEL_BADGE[l.level]}`}>\n {l.level}\n </span>\n <span className={`break-all whitespace-pre-wrap ${LEVEL_COLOR[l.level]}`}>{l.line}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["LEVEL_COLOR","log","info","warn","error","LEVEL_BADGE","shortTime","iso","d","Date","toTimeString","slice","String","getMilliseconds","padStart","ServerLogsPage","logs","setLogs","setError","paused","setPaused","filterLevel","setFilterLevel","search","setSearch","autoRefresh","setAutoRefresh","lastTsRef","fetchLogs","initial","params","URLSearchParams","limit","current","set","res","fetch","toString","data","json","ok","status","newLogs","length","ts","prev","seen","Set","map","l","line","fresh","filter","has","e","Error","message","interval","setInterval","clearInterval","filtered","level","toLowerCase","includes","counts","className","onClick","p","type","checked","onChange","target","lv","value","placeholder","i"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ module.exports=[4963,a=>{"use strict";var b=a.i(52425),c=a.i(71306),d=a.i(79847),e=a.i(9185),f=a.i(72842),g=a.i(54897),h=a.i(56157),i=a.i(94331),j=a.i(15988),k=a.i(25766),l=a.i(29725),m=a.i(5785),n=a.i(74793),o=a.i(85826),p=a.i(21565),q=a.i(65911),r=a.i(25128),s=a.i(40781);a.i(69411);var t=a.i(63081),u=a.i(62837),v=a.i(34607),w=a.i(96338),x=a.i(50642),y=a.i(32242),z=a.i(88530),A=a.i(93695),B=a.i(8583),C=a.i(38534);a.i(70408);var D=a.i(22922),E=a.i(78294),F=a.i(16625),G=a.i(88648),H=a.i(51914),I=a.i(25466);let J=["",{children:["server-logs",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(74507),"[project]/app/server-logs/page.tsx"]},[]]},{metadata:{}},[]]},{metadata:{icon:[async c=>{let d=(0,i.interopDefault)(await a.r(38872));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"favicon.ico",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:`${d.width}x${d.height}`,type:"image/x-icon"}]}]},layout:[()=>a.r(70864),"[project]/app/layout.tsx"],"not-found":[()=>a.r(43619),"[project]/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[()=>a.r(13718),"[project]/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(18198),"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(62212),"[project]/node_modules/next/dist/client/components/builtin/global-error.js"]},[]],K={require:a.r.bind(a),loadChunk:a.l.bind(a)},L=new c.AppPageRouteModule({definition:{kind:d.RouteKind.APP_PAGE,page:"/server-logs/page",pathname:"/server-logs",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:J},distDir:".next",relativeProjectDir:""});async function M(b,c,N){var O,P,Q,R,S;N.requestMeta&&(0,g.setRequestMeta)(b,N.requestMeta),L.isDev&&(0,g.addRequestMeta)(b,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T=!!(0,g.getRequestMeta)(b,"minimalMode"),U="/server-logs/page";U=U.replace(/\/index$/,"")||"/";let V=await L.prepare(b,c,{srcPage:U,multiZoneDraftMode:!1});if(!V)return c.statusCode=400,c.end("Bad Request"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let{buildId:W,query:X,params:Y,pageIsDynamic:Z,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,serverActionsManifest:ab,clientReferenceManifest:ac,subresourceIntegrityManifest:ad,prerenderManifest:ae,isDraftMode:af,resolvedPathname:ag,revalidateOnlyGenerated:ah,routerServerContext:ai,nextConfig:aj,parsedUrl:ak,interceptionRoutePatterns:al,deploymentId:am,clientAssetToken:an}=V,ao=(0,p.normalizeAppPath)(U),{isOnDemandRevalidate:ap}=V,aq=aj.experimental.ppr&&!aj.cacheComponents&&(0,H.isInterceptionRouteAppPath)(ag)?null:L.match(ag,ae),ar=(null==aq?void 0:aq.route)??null,as=!!ae.routes[ag],at=b.headers["user-agent"]||"",au=(0,s.getBotType)(at),av=(0,o.isHtmlBotRequest)(b),aw=(0,g.getRequestMeta)(b,"isPrefetchRSCRequest")??"1"===b.headers[r.NEXT_ROUTER_PREFETCH_HEADER],ax=(0,g.getRequestMeta)(b,"isRSCRequest")??!!b.headers[r.RSC_HEADER],ay=(0,q.getIsPossibleServerAction)(b),az=(0,l.checkIsAppPPREnabled)(aj.experimental.ppr),aA=b.headers[w.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,g.getRequestMeta)(b,"postponed")&&T&&az&&ay&&aA&&"string"==typeof aA){let d=parseInt(aA,10),{maxPostponedStateSize:e,maxPostponedStateSizeBytes:f}=(0,C.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize);if(!isNaN(d)&&d>0){if(d>f)return c.statusCode=413,c.end((0,C.getPostponedStateExceededErrorMessage)(e)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let h="1 MB",i=(null==(S=aj.experimental.serverActions)?void 0:S.bodySizeLimit)??h,j=d+(i!==h?a.r(14465).parse(i):1048576),k=await (0,C.readBodyWithSizeLimit)(b,j);if(null===k)return c.statusCode=413,c.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;if(k.length>=d){let a=k.subarray(0,d).toString("utf8");(0,g.addRequestMeta)(b,"postponed",a);let c=k.subarray(d);(0,g.addRequestMeta)(b,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${d} bytes of postponed state but only received ${k.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,g.getRequestMeta)(b,"postponed")&&az&&"1"===b.headers[w.NEXT_RESUME_HEADER]&&"POST"===b.method){let{maxPostponedStateSize:a,maxPostponedStateSizeBytes:d}=(0,C.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize),e=await (0,C.readBodyWithSizeLimit)(b,d);if(null===e)return c.statusCode=413,c.end((0,C.getPostponedStateExceededErrorMessage)(a)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let f=e.toString("utf8");(0,g.addRequestMeta)(b,"postponed",f)}let aB=!0===L.isDev||!0===aj.experimental.exposeTestingApiInProductionBuild,aC=aB&&("1"===b.headers[r.NEXT_INSTANT_PREFETCH_HEADER]||void 0===b.headers[r.RSC_HEADER]&&"string"==typeof b.headers.cookie&&b.headers.cookie.includes(r.NEXT_INSTANT_TEST_COOKIE+"=")),aD=(az||aC)&&((null==(O=ae.routes[ao]??ae.dynamicRoutes[ao])?void 0:O.renderingMode)==="PARTIALLY_STATIC"||aC&&(aB||(null==ai?void 0:ai.experimentalTestProxy)===!0)),aE=aC&&aD,aF=aE&&!0===L.isDev,aG=!1,aH=aD?(0,g.getRequestMeta)(b,"postponed"):void 0,aI=null==(P=ae.routes[ag])?void 0:P.prefetchDataRoute,aJ=aD&&ax&&!aw&&!aI;T&&(aJ=aJ&&!!aH);let aK=(0,g.getRequestMeta)(b,"segmentPrefetchRSCRequest"),aL=(!au||!aD)&&(!at||(0,o.shouldServeStreamingMetadata)(at,aj.htmlLimitedBots)),aM=!!((ar||as||ae.routes[ao])&&!(au&&aD)),aN=aD&&!0===aj.cacheComponents,aO=!0===L.isDev||!aM||"string"==typeof aH||(aN&&(0,g.getRequestMeta)(b,"onCacheEntryV2")?aJ&&!T:aJ),aP=!!au&&aD,aQ=(null==ar?void 0:ar.remainingPrerenderableParams)??[],aR=(null==ar?void 0:ar.fallback)===null&&((null==(Q=ar.fallbackRootParams)?void 0:Q.length)??0)>0,aS=null;if(!af&&aM&&!aO&&!ay&&!aH&&!aJ){let a=aq?"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:aq.source:null;if(!0===aj.experimental.partialFallbacks&&a&&(null==ar?void 0:ar.fallbackRouteParams)&&!aR){if(aQ.length>0){let b,c=(b=new Map(aQ.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,I.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==Y?void 0:Y[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace(function(a){let{repeat:b,optional:c}=(0,I.getParamProperties)(a.paramType);return c?`[[...${a.paramName}]]`:b?`[...${a.paramName}]`:`[${a.paramName}]`}(d),f)}).join("/")||"/");aS=c!==a?c:null}}else aS=ag}let aT=aS;!aT&&(L.isDev||aM&&Z&&(null==ar?void 0:ar.fallbackRouteParams)&&!ay)&&(aT=ag),L.isDev||af||!aM||!ax||aJ||(0,j.stripFlightHeaders)(b.headers);let aU={...D,tree:J,handler:M,routeModule:L,__next_app__:K};ab&&ac&&(0,n.setManifestsSingleton)({page:U,clientReferenceManifest:ac,serverActionsManifest:ab});let aV=b.method||"GET",aW=(0,f.getTracer)(),aX=aW.getActiveScopeSpan(),aY=!!(null==ai?void 0:ai.isWrappedByNextServer),aZ=!0===aj.experimental.partialFallbacks&&aQ.length>0?(null==ar||null==(R=ar.fallbackRouteParams)?void 0:R.filter(a=>!aQ.some(b=>b.paramName===a.paramName)))??[]:[],a$=async()=>((null==ai?void 0:ai.render404)?await ai.render404(b,c,ak,!1):c.end("This page could not be found"),null);try{let a,j=L.getVaryHeader(ag,al);c.setHeader("Vary",j);let l=async(d,e)=>{let f=new k.NodeNextRequest(b),g=new k.NodeNextResponse(c);return L.render(f,g,e).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":c.statusCode,"next.rsc":!1});let b=aW.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=b.get("next.route");if(e){let b=`${aV} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),d.updateName(b),a&&a!==d&&(a.setAttribute("http.route",e),a.updateName(b))}else d.updateName(`${aV} ${U}`)})},n=(0,g.getRequestMeta)(b,"incrementalCache")||await L.getIncrementalCache(b,aj,ae,T);null==n||n.resetRequestCache(),globalThis.__incrementalCache=n;let o=async({span:a,postponed:d,fallbackRouteParams:e,forceStaticRender:f})=>{let h={query:X,params:Y,page:ao,sharedContext:{buildId:W,deploymentId:am,clientAssetToken:an},serverComponentsHmrCache:(0,g.getRequestMeta)(b,"serverComponentsHmrCache"),fallbackRouteParams:e,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aU,Component:(0,i.interopDefault)(aU),params:Y,routeModule:L,page:U,postponed:d,shouldWaitOnAllReady:aP,serveStreamingMetadata:aL,supportsDynamicResponse:"string"==typeof d||aO,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,subresourceIntegrityManifest:ad,setCacheStatus:null==ai?void 0:ai.setCacheStatus,setIsrStatus:null==ai?void 0:ai.setIsrStatus,setReactDebugChannel:null==ai?void 0:ai.setReactDebugChannel,sendErrorsToBrowser:null==ai?void 0:ai.sendErrorsToBrowser,dir:require("path").join(process.cwd(),L.relativeProjectDir),isDraftMode:af,botType:au,isOnDemandRevalidate:ap,isPossibleServerAction:ay,assetPrefix:aj.assetPrefix,nextConfigOutput:aj.output,crossOrigin:aj.crossOrigin,trailingSlash:aj.trailingSlash,images:aj.images,previewProps:ae.preview,enableTainting:aj.experimental.taint,htmlLimitedBots:aj.htmlLimitedBots,reactMaxHeadersLength:aj.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:n,cacheLifeProfiles:aj.cacheLife,basePath:aj.basePath,serverActions:aj.experimental.serverActions,logServerFunctions:"object"==typeof aj.logging&&!!aj.logging.serverFunctions,...aE||aF||aG?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aF}:{},cacheComponents:!!aj.cacheComponents,experimental:{isRoutePPREnabled:aD,expireTime:aj.expireTime,staleTimes:aj.experimental.staleTimes,dynamicOnHover:!!aj.experimental.dynamicOnHover,optimisticRouting:!!aj.experimental.optimisticRouting,inlineCss:!!aj.experimental.inlineCss,prefetchInlining:aj.experimental.prefetchInlining??!1,authInterrupts:!!aj.experimental.authInterrupts,cachedNavigations:!!aj.experimental.cachedNavigations,clientTraceMetadata:aj.experimental.clientTraceMetadata||[],clientParamParsingOrigins:aj.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize)},waitUntil:N.waitUntil,onClose:a=>{c.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(a,c,d,e)=>L.onRequestError(b,a,d,e,ai),err:(0,g.getRequestMeta)(b,"invokeError")}};f&&(h.renderOpts.supportsDynamicResponse=!1);let j=await l(a,h),{metadata:k}=j,{cacheControl:m,headers:o={},fetchTags:p,fetchMetrics:q}=k;if(p&&(o[w.NEXT_CACHE_TAGS_HEADER]=p),b.fetchMetrics=q,aM&&(null==m?void 0:m.revalidate)===0&&!L.isDev&&!aD){let a=k.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ag}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:t.CachedRouteKind.APP_PAGE,html:j,headers:o,rscData:k.flightData,postponed:k.postponed,status:k.statusCode,segmentData:k.segmentData},cacheControl:m}},p=async({hasResolved:a,previousCacheEntry:f,isRevalidating:h,span:i,forceStaticRender:j=!1})=>{let k=!1===L.isDev,l=a||c.writableEnded;try{let e;if(ap&&ah&&!f&&!T)return(null==ai?void 0:ai.render404)?await ai.render404(b,c):(c.statusCode=404,c.end("This page could not be found")),null;if(ar&&(e=(0,u.parseFallbackField)(ar.fallback)),!0===aj.experimental.partialFallbacks&&(null==ar?void 0:ar.fallback)===null&&!aR&&aQ.length>0&&(e=u.FallbackMode.PRERENDER),e===u.FallbackMode.PRERENDER&&(0,s.isBot)(at)&&(!aD||av)&&(e=u.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ap=!0),ap&&(e!==u.FallbackMode.NOT_FOUND||f)&&(e=u.FallbackMode.BLOCKING_STATIC_RENDER),!T&&e!==u.FallbackMode.BLOCKING_STATIC_RENDER&&aT&&!l&&!af&&Z&&(k||!as)){if((k||ar)&&e===u.FallbackMode.NOT_FOUND){if(aj.adapterPath)return await a$();throw new A.NoFallbackError}if(aD&&(aj.cacheComponents?!aJ:!ax)){let c=k&&"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:ao,e=(k||aE)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,m.getFallbackRouteParams)(ao,L):null;aE&&e&&(0,g.addRequestMeta)(b,"fallbackParams",e);let f=await L.handleResponse({cacheKey:c,req:b,nextConfig:aj,routeKind:d.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ae,isRoutePPREnabled:aD,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:e,forceStaticRender:!0}),waitUntil:N.waitUntil,isMinimalMode:T});if(null===f)return null;if(f)return T||!aD||!(aQ.length>0)||!0!==aj.experimental.partialFallbacks||!aS||!n||ap||aG||aB||aC||aw||(0,G.scheduleOnNextTick)(async()=>{let c=L.getResponseCache(b);try{await c.revalidate(aS,n,aD,!1,a=>o({span:a.span,postponed:void 0,fallbackRouteParams:aZ.length>0?(0,m.createOpaqueFallbackRouteParams)(aZ):null,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete f.cacheControl,f}}let q=ap||h||!aH?void 0:aH;if(aN&&!T&&n&&(aJ||ay)&&!j){let c=await n.get(ag,{kind:t.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});c&&c.value&&c.value.kind===t.CachedRouteKind.APP_PAGE&&(q=c.value.postponed,c&&(-1===c.isStale||!0===c.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let c=L.getResponseCache(b);try{await c.revalidate(ag,n,aD,!1,a=>p({...a,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aE||aF)&&void 0!==q)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:t.CachedRouteKind.PAGES,html:v.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let r=(k&&(0,g.getRequestMeta)(b,"renderFallbackShell")||aE&&!as)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,m.getFallbackRouteParams)(ao,L):null;if((k||aE)&&aj.cacheComponents&&!as&&(null==ar?void 0:ar.fallbackRouteParams)){let a=(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams);a&&(0,g.addRequestMeta)(b,"fallbackParams",a)}return o({span:i,postponed:q,fallbackRouteParams:r,forceStaticRender:j})}catch(a){throw(null==f?void 0:f.isStale)&&await L.onRequestError(b,a,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,e.getRevalidateReason)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),a}},q=async a=>{var e,f,h,i,j;let k,l=await L.handleResponse({cacheKey:aS,responseGenerator:b=>p({span:a,...b}),routeKind:d.RouteKind.APP_PAGE,isOnDemandRevalidate:ap,isRoutePPREnabled:aD,req:b,nextConfig:aj,prerenderManifest:ae,waitUntil:N.waitUntil,isMinimalMode:T});if(af&&c.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&c.setHeader("Cache-Control","no-cache, must-revalidate"),!l){if(aS)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=l.value)?void 0:e.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=l.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let m="string"==typeof l.value.postponed;ax&&!ay&&am&&c.setHeader(w.NEXT_NAV_DEPLOYMENT_ID_HEADER,am),aM&&!aJ&&(!m||aw)&&(T||c.setHeader("x-nextjs-cache",ap?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),c.setHeader(r.NEXT_IS_PRERENDER_HEADER,"1"));let{value:n}=l;if(aH)k={revalidate:0,expire:void 0};else if(aJ)k={revalidate:0,expire:void 0};else if(!L.isDev)if(af)k={revalidate:0,expire:void 0};else if(aM){if(l.cacheControl)if("number"==typeof l.cacheControl.revalidate){if(l.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${l.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});k={revalidate:l.cacheControl.revalidate,expire:(null==(i=l.cacheControl)?void 0:i.expire)??aj.expireTime}}else k={revalidate:w.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else c.getHeader("Cache-Control")||(k={revalidate:0,expire:void 0});if(l.cacheControl=k,"string"==typeof aK&&(null==n?void 0:n.kind)===t.CachedRouteKind.APP_PAGE&&n.segmentData){c.setHeader(r.NEXT_DID_POSTPONE_HEADER,"2");let a=null==(j=n.headers)?void 0:j[w.NEXT_CACHE_TAGS_HEADER];T&&aM&&a&&"string"==typeof a&&c.setHeader(w.NEXT_CACHE_TAGS_HEADER,a);let d=n.segmentData.get(aK);return void 0!==d?(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.fromStatic(d,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl}):(c.statusCode=204,(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl}))}let q=aN?(0,g.getRequestMeta)(b,"onCacheEntryV2")??(0,g.getRequestMeta)(b,"onCacheEntry"):(0,g.getRequestMeta)(b,"onCacheEntry");if(q&&await q(l,{url:(0,g.getRequestMeta)(b,"initURL")??b.url}))return null;if(n.headers){let a={...n.headers};for(let[b,d]of(T&&aM||delete a[w.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)c.appendHeader(b,a);else"number"==typeof d&&(d=d.toString()),c.appendHeader(b,d)}let s=null==(f=n.headers)?void 0:f[w.NEXT_CACHE_TAGS_HEADER];if(T&&aM&&s&&"string"==typeof s&&c.setHeader(w.NEXT_CACHE_TAGS_HEADER,s),!n.status||ax&&aD||(c.statusCode=n.status),!T&&n.status&&E.RedirectStatusCode[n.status]&&ax&&(c.statusCode=200),m&&!aJ&&c.setHeader(r.NEXT_DID_POSTPONE_HEADER,"1"),ax&&!af){if(void 0===n.rscData){if(n.html.contentType!==r.RSC_CONTENT_TYPE_HEADER)if(aj.cacheComponents)return c.statusCode=404,(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${n.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:n.html,cacheControl:l.cacheControl})}return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.fromStatic(n.rscData,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl})}let u=n.html;if(aC&&aE){let a=!0===L.isDev?crypto.randomUUID():null;return u.pipeThrough((0,y.createInstantTestScriptInsertionTransformStream)(a)),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})}if(!m||T||ax)return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:l.cacheControl});if(aE||aF)return u.push(new ReadableStream({start(a){a.enqueue(x.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return u.push(A.readable),o({span:a,postponed:n.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aY||!aX)return a=aW.getActiveScopeSpan(),await aW.withPropagatedContext(b.headers,()=>aW.trace(h.BaseServerSpan.handleRequest,{spanName:`${aV} ${U}`,kind:f.SpanKind.SERVER,attributes:{"http.method":aV,"http.target":b.url}},q),void 0,!aY);await q(aX)}catch(a){throw a instanceof A.NoFallbackError||await L.onRequestError(b,a,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,e.getRevalidateReason)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),a}}a.s(["__next_app__",0,K,"handler",0,M,"routeModule",0,L],98445),a.i(98445),a.s(["ClientPageRoot",()=>D.ClientPageRoot,"ClientSegmentRoot",()=>D.ClientSegmentRoot,"Fragment",()=>D.Fragment,"HTTPAccessFallbackBoundary",()=>D.HTTPAccessFallbackBoundary,"InstantValidation",()=>D.InstantValidation,"LayoutRouter",()=>D.LayoutRouter,"LoadingBoundaryProvider",()=>D.LoadingBoundaryProvider,"Postpone",()=>D.Postpone,"RenderFromTemplateContext",()=>D.RenderFromTemplateContext,"RootLayoutBoundary",()=>D.RootLayoutBoundary,"SegmentViewNode",()=>D.SegmentViewNode,"SegmentViewStateNode",()=>D.SegmentViewStateNode,"__next_app__",0,K,"actionAsyncStorage",()=>D.actionAsyncStorage,"captureOwnerStack",()=>D.captureOwnerStack,"collectPrefetchHints",()=>D.collectPrefetchHints,"collectSegmentData",()=>D.collectSegmentData,"createElement",()=>D.createElement,"createMetadataComponents",()=>D.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>D.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>D.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>D.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>D.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>D.createTemporaryReferenceSet,"decodeAction",()=>D.decodeAction,"decodeFormState",()=>D.decodeFormState,"decodeReply",()=>D.decodeReply,"handler",0,M,"patchFetch",()=>D.patchFetch,"preconnect",()=>D.preconnect,"preloadFont",()=>D.preloadFont,"preloadStyle",()=>D.preloadStyle,"prerender",()=>D.prerender,"renderToReadableStream",()=>D.renderToReadableStream,"routeModule",0,L,"serverHooks",()=>D.serverHooks,"taintObjectReference",()=>D.taintObjectReference,"workAsyncStorage",()=>D.workAsyncStorage,"workUnitAsyncStorage",()=>D.workUnitAsyncStorage],4963)}];
3
+
4
+ //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-page_0qm1-a1.js.map