@sleep2agi/agent-network-dashboard 0.3.2 → 0.3.4-preview.0

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 (621) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +0 -1
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/cache/.previewinfo +1 -1
  5. package/.next/cache/.rscinfo +1 -1
  6. package/.next/cache/.tsbuildinfo +1 -1
  7. package/.next/dev/types/cache-life.d.ts +145 -0
  8. package/.next/dev/types/routes.d.ts +108 -0
  9. package/.next/dev/types/validator.ts +394 -0
  10. package/.next/diagnostics/route-bundle-stats.json +28 -42
  11. package/.next/fallback-build-manifest.json +3 -3
  12. package/.next/prerender-manifest.json +3 -27
  13. package/.next/routes-manifest.json +0 -6
  14. package/.next/server/app/_global-error.html +1 -1
  15. package/.next/server/app/_global-error.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/_not-found.html +2 -2
  23. package/.next/server/app/_not-found.rsc +12 -12
  24. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  25. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  26. package/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  27. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  30. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/admin.html +2 -2
  32. package/.next/server/app/admin.rsc +14 -14
  33. package/.next/server/app/admin.segments/_full.segment.rsc +14 -14
  34. package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
  35. package/.next/server/app/admin.segments/_index.segment.rsc +7 -7
  36. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  37. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
  38. package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
  39. package/.next/server/app/api/anet/config/route.js +1 -1
  40. package/.next/server/app/api/anet/config/route.js.nft.json +1 -1
  41. package/.next/server/app/api/auth/login/route.js +1 -1
  42. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  43. package/.next/server/app/api/auth/logout/route.js +1 -1
  44. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  45. package/.next/server/app/api/auth/v3/route.js +1 -1
  46. package/.next/server/app/api/auth/v3/route.js.nft.json +1 -1
  47. package/.next/server/app/api/hub/audit-log/route.js +1 -1
  48. package/.next/server/app/api/hub/audit-log/route.js.nft.json +1 -1
  49. package/.next/server/app/api/hub/auth/route.js +1 -1
  50. package/.next/server/app/api/hub/auth/route.js.nft.json +1 -1
  51. package/.next/server/app/api/hub/broadcast/route.js +1 -1
  52. package/.next/server/app/api/hub/broadcast/route.js.nft.json +1 -1
  53. package/.next/server/app/api/hub/events/route.js +1 -1
  54. package/.next/server/app/api/hub/events/route.js.nft.json +1 -1
  55. package/.next/server/app/api/hub/health/route.js +1 -1
  56. package/.next/server/app/api/hub/health/route.js.nft.json +1 -1
  57. package/.next/server/app/api/hub/inbox/route.js +1 -1
  58. package/.next/server/app/api/hub/inbox/route.js.nft.json +1 -1
  59. package/.next/server/app/api/hub/license/route.js +1 -1
  60. package/.next/server/app/api/hub/license/route.js.nft.json +1 -1
  61. package/.next/server/app/api/hub/messages/route.js +1 -1
  62. package/.next/server/app/api/hub/messages/route.js.nft.json +1 -1
  63. package/.next/server/app/api/hub/networks/route.js +1 -1
  64. package/.next/server/app/api/hub/networks/route.js.nft.json +1 -1
  65. package/.next/server/app/api/hub/nodes/route.js +1 -1
  66. package/.next/server/app/api/hub/nodes/route.js.nft.json +1 -1
  67. package/.next/server/app/api/hub/register/route.js +1 -1
  68. package/.next/server/app/api/hub/register/route.js.nft.json +1 -1
  69. package/.next/server/app/api/hub/send/route.js +1 -1
  70. package/.next/server/app/api/hub/send/route.js.nft.json +1 -1
  71. package/.next/server/app/api/hub/server-logs/route.js +1 -1
  72. package/.next/server/app/api/hub/server-logs/route.js.nft.json +1 -1
  73. package/.next/server/app/api/hub/session/route.js +1 -1
  74. package/.next/server/app/api/hub/session/route.js.nft.json +1 -1
  75. package/.next/server/app/api/hub/stats/route.js +1 -1
  76. package/.next/server/app/api/hub/stats/route.js.nft.json +1 -1
  77. package/.next/server/app/api/hub/status/route.js +1 -1
  78. package/.next/server/app/api/hub/status/route.js.nft.json +1 -1
  79. package/.next/server/app/api/hub/task-events/route.js +1 -1
  80. package/.next/server/app/api/hub/task-events/route.js.nft.json +1 -1
  81. package/.next/server/app/api/hub/tasks/route.js +1 -1
  82. package/.next/server/app/api/hub/tasks/route.js.nft.json +1 -1
  83. package/.next/server/app/api/hub/tmux/route.js +1 -1
  84. package/.next/server/app/api/hub/tmux/route.js.nft.json +1 -1
  85. package/.next/server/app/api/hub/tokens/route.js +1 -1
  86. package/.next/server/app/api/hub/tokens/route.js.nft.json +1 -1
  87. package/.next/server/app/index.html +2 -2
  88. package/.next/server/app/index.rsc +14 -14
  89. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  90. package/.next/server/app/index.segments/_full.segment.rsc +14 -14
  91. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  92. package/.next/server/app/index.segments/_index.segment.rsc +7 -7
  93. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  94. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/login.html +2 -2
  96. package/.next/server/app/login.rsc +14 -14
  97. package/.next/server/app/login.segments/_full.segment.rsc +14 -14
  98. package/.next/server/app/login.segments/_head.segment.rsc +4 -4
  99. package/.next/server/app/login.segments/_index.segment.rsc +7 -7
  100. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  101. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  102. package/.next/server/app/login.segments/login.segment.rsc +3 -3
  103. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/logs.html +2 -2
  105. package/.next/server/app/logs.rsc +14 -14
  106. package/.next/server/app/logs.segments/_full.segment.rsc +14 -14
  107. package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
  108. package/.next/server/app/logs.segments/_index.segment.rsc +7 -7
  109. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
  111. package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
  112. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  113. package/.next/server/app/messages.html +2 -2
  114. package/.next/server/app/messages.rsc +14 -14
  115. package/.next/server/app/messages.segments/_full.segment.rsc +14 -14
  116. package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
  117. package/.next/server/app/messages.segments/_index.segment.rsc +7 -7
  118. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
  120. package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
  121. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/node.html +2 -2
  123. package/.next/server/app/node.rsc +14 -14
  124. package/.next/server/app/node.segments/_full.segment.rsc +14 -14
  125. package/.next/server/app/node.segments/_head.segment.rsc +4 -4
  126. package/.next/server/app/node.segments/_index.segment.rsc +7 -7
  127. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
  129. package/.next/server/app/node.segments/node.segment.rsc +3 -3
  130. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/nodes.html +2 -2
  132. package/.next/server/app/nodes.rsc +14 -14
  133. package/.next/server/app/nodes.segments/_full.segment.rsc +14 -14
  134. package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
  135. package/.next/server/app/nodes.segments/_index.segment.rsc +7 -7
  136. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  137. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
  138. package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
  139. package/.next/server/app/page_client-reference-manifest.js +1 -1
  140. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  141. package/.next/server/app/server-logs.html +2 -2
  142. package/.next/server/app/server-logs.rsc +14 -14
  143. package/.next/server/app/server-logs.segments/_full.segment.rsc +14 -14
  144. package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
  145. package/.next/server/app/server-logs.segments/_index.segment.rsc +7 -7
  146. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  147. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +4 -4
  148. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +3 -3
  149. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  150. package/.next/server/app/settings/networks.html +2 -2
  151. package/.next/server/app/settings/networks.rsc +14 -14
  152. package/.next/server/app/settings/networks.segments/_full.segment.rsc +14 -14
  153. package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
  154. package/.next/server/app/settings/networks.segments/_index.segment.rsc +7 -7
  155. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  156. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
  157. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
  158. package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
  159. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  161. package/.next/server/app/settings/tokens.html +2 -2
  162. package/.next/server/app/settings/tokens.rsc +14 -14
  163. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +14 -14
  164. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
  165. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +7 -7
  166. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  167. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
  168. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
  169. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
  170. package/.next/server/app/settings.html +2 -2
  171. package/.next/server/app/settings.rsc +14 -14
  172. package/.next/server/app/settings.segments/_full.segment.rsc +14 -14
  173. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  174. package/.next/server/app/settings.segments/_index.segment.rsc +7 -7
  175. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  176. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  177. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  178. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  179. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/tasks.html +2 -2
  181. package/.next/server/app/tasks.rsc +14 -14
  182. package/.next/server/app/tasks.segments/_full.segment.rsc +14 -14
  183. package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
  184. package/.next/server/app/tasks.segments/_index.segment.rsc +7 -7
  185. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  186. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
  187. package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
  188. package/.next/server/app-paths-manifest.json +0 -1
  189. package/.next/server/chunks/[root-of-the-server]__0-mykaf._.js +3 -0
  190. package/.next/server/chunks/[root-of-the-server]__0-mykaf._.js.map +1 -0
  191. package/.next/server/chunks/{[root-of-the-server]__0nsfjkb._.js → [root-of-the-server]__0.d_kqy._.js} +2 -2
  192. package/.next/server/chunks/[root-of-the-server]__02pocyg._.js +3 -0
  193. package/.next/server/chunks/[root-of-the-server]__02pocyg._.js.map +1 -0
  194. package/.next/server/chunks/[root-of-the-server]__03ueci3._.js +3 -0
  195. package/.next/server/chunks/[root-of-the-server]__03ueci3._.js.map +1 -0
  196. package/.next/server/chunks/{[root-of-the-server]__0h-9kwu._.js → [root-of-the-server]__04aud7x._.js} +2 -2
  197. package/.next/server/chunks/[root-of-the-server]__05fnt3n._.js +3 -0
  198. package/.next/server/chunks/{[root-of-the-server]__0lu__6g._.js.map → [root-of-the-server]__05fnt3n._.js.map} +1 -1
  199. package/.next/server/chunks/{[root-of-the-server]__0t0.lss._.js → [root-of-the-server]__08wy1jr._.js} +2 -2
  200. package/.next/server/chunks/[root-of-the-server]__0adhu1m._.js +3 -0
  201. package/.next/server/chunks/[root-of-the-server]__0adhu1m._.js.map +1 -0
  202. package/.next/server/chunks/[root-of-the-server]__0aqv02v._.js +3 -0
  203. package/.next/server/chunks/[root-of-the-server]__0aqv02v._.js.map +1 -0
  204. package/.next/server/chunks/[root-of-the-server]__0cawhfq._.js +3 -0
  205. package/.next/server/chunks/[root-of-the-server]__0cawhfq._.js.map +1 -0
  206. package/.next/server/chunks/[root-of-the-server]__0d_-_k.._.js +3 -0
  207. package/.next/server/chunks/[root-of-the-server]__0d_-_k.._.js.map +1 -0
  208. package/.next/server/chunks/[root-of-the-server]__0f6bxfl._.js +3 -0
  209. package/.next/server/chunks/{[root-of-the-server]__11yl3c.._.js.map → [root-of-the-server]__0f6bxfl._.js.map} +1 -1
  210. package/.next/server/chunks/[root-of-the-server]__0h15edq._.js +3 -0
  211. package/.next/server/chunks/[root-of-the-server]__0h15edq._.js.map +1 -0
  212. package/.next/server/chunks/[root-of-the-server]__0kltbce._.js +3 -0
  213. package/.next/server/chunks/[root-of-the-server]__0kltbce._.js.map +1 -0
  214. package/.next/server/chunks/[root-of-the-server]__0mn04fw._.js +3 -0
  215. package/.next/server/chunks/[root-of-the-server]__0mn04fw._.js.map +1 -0
  216. package/.next/server/chunks/[root-of-the-server]__0o29v8c._.js +3 -0
  217. package/.next/server/chunks/[root-of-the-server]__0o29v8c._.js.map +1 -0
  218. package/.next/server/chunks/[root-of-the-server]__0o4qfn9._.js +3 -0
  219. package/.next/server/chunks/[root-of-the-server]__0o4qfn9._.js.map +1 -0
  220. package/.next/server/chunks/[root-of-the-server]__0o7ya7r._.js +3 -0
  221. package/.next/server/chunks/{[root-of-the-server]__0k3eytp._.js.map → [root-of-the-server]__0o7ya7r._.js.map} +1 -1
  222. package/.next/server/chunks/{[root-of-the-server]__0ku8l.~._.js → [root-of-the-server]__0p6tutt._.js} +2 -2
  223. package/.next/server/chunks/[root-of-the-server]__0pn3wsx._.js +3 -0
  224. package/.next/server/chunks/[root-of-the-server]__0pn3wsx._.js.map +1 -0
  225. package/.next/server/chunks/{[root-of-the-server]__0kx9lo1._.js → [root-of-the-server]__0rg9ifx._.js} +2 -2
  226. package/.next/server/chunks/[root-of-the-server]__0x.a_yh._.js +3 -0
  227. package/.next/server/chunks/[root-of-the-server]__0x.a_yh._.js.map +1 -0
  228. package/.next/server/chunks/{[root-of-the-server]__10~rj8b._.js → [root-of-the-server]__0~h2uqi._.js} +2 -2
  229. package/.next/server/chunks/{[root-of-the-server]__114809t._.js → [root-of-the-server]__139~d6a._.js} +2 -2
  230. package/.next/server/chunks/ssr/[root-of-the-server]__0i1gizm._.js +1 -1
  231. package/.next/server/chunks/ssr/[root-of-the-server]__0i1gizm._.js.map +1 -1
  232. package/.next/server/middleware-build-manifest.js +3 -3
  233. package/.next/server/next-font-manifest.js +1 -1
  234. package/.next/server/next-font-manifest.json +0 -3
  235. package/.next/server/pages/404.html +2 -2
  236. package/.next/server/pages/500.html +1 -1
  237. package/.next/server/server-reference-manifest.js +1 -1
  238. package/.next/server/server-reference-manifest.json +1 -1
  239. package/.next/static/chunks/0_b22ht_r8.-s.css +2 -0
  240. package/.next/static/chunks/{16bfhcp03jjz1.js → 0gjbwb8u5wd72.js} +2 -2
  241. package/.next/trace +2 -2
  242. package/.next/trace-build +1 -1
  243. package/.next/types/routes.d.ts +1 -2
  244. package/.next/types/validator.ts +0 -9
  245. package/app/api/hub/auth/route.ts +16 -2
  246. package/app/components/Sidebar.tsx +0 -1
  247. package/app/globals.css +58 -0
  248. package/app/lib/hub.ts +3 -7
  249. package/app/settings/page.tsx +8 -1
  250. package/package.json +1 -1
  251. package/.next/server/app/docs/page/app-paths-manifest.json +0 -3
  252. package/.next/server/app/docs/page/build-manifest.json +0 -17
  253. package/.next/server/app/docs/page/next-font-manifest.json +0 -10
  254. package/.next/server/app/docs/page/react-loadable-manifest.json +0 -1
  255. package/.next/server/app/docs/page/server-reference-manifest.json +0 -4
  256. package/.next/server/app/docs/page.js +0 -14
  257. package/.next/server/app/docs/page.js.map +0 -5
  258. package/.next/server/app/docs/page.js.nft.json +0 -1
  259. package/.next/server/app/docs/page_client-reference-manifest.js +0 -3
  260. package/.next/server/app/docs.html +0 -54
  261. package/.next/server/app/docs.meta +0 -15
  262. package/.next/server/app/docs.rsc +0 -24
  263. package/.next/server/app/docs.segments/_full.segment.rsc +0 -24
  264. package/.next/server/app/docs.segments/_head.segment.rsc +0 -6
  265. package/.next/server/app/docs.segments/_index.segment.rsc +0 -8
  266. package/.next/server/app/docs.segments/_tree.segment.rsc +0 -3
  267. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +0 -9
  268. package/.next/server/app/docs.segments/docs.segment.rsc +0 -5
  269. package/.next/server/chunks/[root-of-the-server]__0.r9hpx._.js +0 -3
  270. package/.next/server/chunks/[root-of-the-server]__0.r9hpx._.js.map +0 -1
  271. package/.next/server/chunks/[root-of-the-server]__0.~awwb._.js +0 -3
  272. package/.next/server/chunks/[root-of-the-server]__0.~awwb._.js.map +0 -1
  273. package/.next/server/chunks/[root-of-the-server]__011ghni._.js +0 -3
  274. package/.next/server/chunks/[root-of-the-server]__011ghni._.js.map +0 -1
  275. package/.next/server/chunks/[root-of-the-server]__0_roltz._.js +0 -3
  276. package/.next/server/chunks/[root-of-the-server]__0_roltz._.js.map +0 -1
  277. package/.next/server/chunks/[root-of-the-server]__0ak3zmb._.js +0 -3
  278. package/.next/server/chunks/[root-of-the-server]__0ak3zmb._.js.map +0 -1
  279. package/.next/server/chunks/[root-of-the-server]__0c0_p0v._.js +0 -3
  280. package/.next/server/chunks/[root-of-the-server]__0c0_p0v._.js.map +0 -1
  281. package/.next/server/chunks/[root-of-the-server]__0c5h0a~._.js +0 -3
  282. package/.next/server/chunks/[root-of-the-server]__0c5h0a~._.js.map +0 -1
  283. package/.next/server/chunks/[root-of-the-server]__0cfodg2._.js +0 -3
  284. package/.next/server/chunks/[root-of-the-server]__0cfodg2._.js.map +0 -1
  285. package/.next/server/chunks/[root-of-the-server]__0fo7jlh._.js +0 -3
  286. package/.next/server/chunks/[root-of-the-server]__0fo7jlh._.js.map +0 -1
  287. package/.next/server/chunks/[root-of-the-server]__0hj~i84._.js +0 -3
  288. package/.next/server/chunks/[root-of-the-server]__0hj~i84._.js.map +0 -1
  289. package/.next/server/chunks/[root-of-the-server]__0hxwf9u._.js +0 -3
  290. package/.next/server/chunks/[root-of-the-server]__0hxwf9u._.js.map +0 -1
  291. package/.next/server/chunks/[root-of-the-server]__0k3eytp._.js +0 -3
  292. package/.next/server/chunks/[root-of-the-server]__0khwewd._.js +0 -3
  293. package/.next/server/chunks/[root-of-the-server]__0khwewd._.js.map +0 -1
  294. package/.next/server/chunks/[root-of-the-server]__0lu__6g._.js +0 -3
  295. package/.next/server/chunks/[root-of-the-server]__0wpe~w2._.js +0 -3
  296. package/.next/server/chunks/[root-of-the-server]__0wpe~w2._.js.map +0 -1
  297. package/.next/server/chunks/[root-of-the-server]__10ducxb._.js +0 -3
  298. package/.next/server/chunks/[root-of-the-server]__10ducxb._.js.map +0 -1
  299. package/.next/server/chunks/[root-of-the-server]__11yl3c.._.js +0 -3
  300. package/.next/server/chunks/ssr/[root-of-the-server]__0_1hjn2._.js +0 -3
  301. package/.next/server/chunks/ssr/[root-of-the-server]__0_1hjn2._.js.map +0 -1
  302. package/.next/server/chunks/ssr/_next-internal_server_app_docs_page_actions_0xq87ie.js +0 -3
  303. package/.next/server/chunks/ssr/_next-internal_server_app_docs_page_actions_0xq87ie.js.map +0 -1
  304. package/.next/server/chunks/ssr/app_docs_page_tsx_0a3qz3_._.js +0 -45
  305. package/.next/server/chunks/ssr/app_docs_page_tsx_0a3qz3_._.js.map +0 -1
  306. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qbvqbo.js +0 -4
  307. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qbvqbo.js.map +0 -1
  308. package/.next/static/chunks/06.gd_vlnz5n0.js +0 -43
  309. package/.next/static/chunks/0mz9c6--6di2j.css +0 -2
  310. package/.vercel/output/builds.json +0 -23
  311. package/.vercel/output/config.json +0 -465
  312. package/.vercel/output/diagnostics/build-diagnostics.json +0 -6
  313. package/.vercel/output/diagnostics/cli_traces.json +0 -1
  314. package/.vercel/output/diagnostics/framework.json +0 -1
  315. package/.vercel/output/diagnostics/route-bundle-stats.json +0 -198
  316. package/.vercel/output/diagnostics/trace +0 -2
  317. package/.vercel/output/diagnostics/trace-build +0 -1
  318. package/.vercel/output/diagnostics/turbopack +0 -0
  319. package/.vercel/output/functions/_global-error.prerender-config.json +0 -38
  320. package/.vercel/output/functions/_global-error.prerender-fallback.html +0 -1
  321. package/.vercel/output/functions/_global-error.rsc.func/.next/routes-manifest.json +0 -1
  322. package/.vercel/output/functions/_global-error.rsc.func/.next/server/app-paths-manifest.json +0 -1
  323. package/.vercel/output/functions/_global-error.rsc.func/.next/server/pages-manifest.json +0 -1
  324. package/.vercel/output/functions/_global-error.rsc.func/.vc-config.json +0 -799
  325. package/.vercel/output/functions/_global-error.rsc.func/___next_launcher.cjs +0 -68
  326. package/.vercel/output/functions/_global-error.rsc.prerender-config.json +0 -38
  327. package/.vercel/output/functions/_global-error.rsc.prerender-fallback.rsc +0 -15
  328. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-config.json +0 -28
  329. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -5
  330. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-config.json +0 -28
  331. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-fallback.rsc +0 -15
  332. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-config.json +0 -28
  333. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  334. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-config.json +0 -28
  335. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-fallback.rsc +0 -5
  336. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-config.json +0 -28
  337. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -1
  338. package/.vercel/output/functions/_middleware.func/.vc-config.json +0 -107
  339. package/.vercel/output/functions/_middleware.func/___next_launcher.cjs +0 -135
  340. package/.vercel/output/functions/_not-found.prerender-config.json +0 -38
  341. package/.vercel/output/functions/_not-found.prerender-fallback.html +0 -7
  342. package/.vercel/output/functions/_not-found.rsc.prerender-config.json +0 -38
  343. package/.vercel/output/functions/_not-found.rsc.prerender-fallback.rsc +0 -18
  344. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-config.json +0 -28
  345. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-fallback.rsc +0 -18
  346. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-config.json +0 -28
  347. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  348. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-config.json +0 -28
  349. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  350. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-config.json +0 -28
  351. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -5
  352. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-config.json +0 -28
  353. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-fallback.rsc +0 -5
  354. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-config.json +0 -28
  355. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -2
  356. package/.vercel/output/functions/admin.prerender-config.json +0 -37
  357. package/.vercel/output/functions/admin.prerender-fallback.html +0 -7
  358. package/.vercel/output/functions/admin.rsc.prerender-config.json +0 -38
  359. package/.vercel/output/functions/admin.rsc.prerender-fallback.rsc +0 -23
  360. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-config.json +0 -28
  361. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  362. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-config.json +0 -28
  363. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  364. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-config.json +0 -28
  365. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  366. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-config.json +0 -28
  367. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  368. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-config.json +0 -28
  369. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  370. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-config.json +0 -28
  371. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-fallback.rsc +0 -5
  372. package/.vercel/output/functions/api/anet/config.func/.next/routes-manifest.json +0 -1
  373. package/.vercel/output/functions/api/anet/config.func/.next/server/app-paths-manifest.json +0 -1
  374. package/.vercel/output/functions/api/anet/config.func/.next/server/pages-manifest.json +0 -1
  375. package/.vercel/output/functions/api/anet/config.func/.vc-config.json +0 -801
  376. package/.vercel/output/functions/api/anet/config.func/___next_launcher.cjs +0 -68
  377. package/.vercel/output/functions/docs.prerender-config.json +0 -37
  378. package/.vercel/output/functions/docs.prerender-fallback.html +0 -49
  379. package/.vercel/output/functions/docs.rsc.prerender-config.json +0 -38
  380. package/.vercel/output/functions/docs.rsc.prerender-fallback.rsc +0 -23
  381. package/.vercel/output/functions/docs.segments/_full.segment.rsc.prerender-config.json +0 -28
  382. package/.vercel/output/functions/docs.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  383. package/.vercel/output/functions/docs.segments/_head.segment.rsc.prerender-config.json +0 -28
  384. package/.vercel/output/functions/docs.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  385. package/.vercel/output/functions/docs.segments/_index.segment.rsc.prerender-config.json +0 -28
  386. package/.vercel/output/functions/docs.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  387. package/.vercel/output/functions/docs.segments/_tree.segment.rsc.prerender-config.json +0 -28
  388. package/.vercel/output/functions/docs.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  389. package/.vercel/output/functions/docs.segments/docs/__PAGE__.segment.rsc.prerender-config.json +0 -28
  390. package/.vercel/output/functions/docs.segments/docs/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  391. package/.vercel/output/functions/docs.segments/docs.segment.rsc.prerender-config.json +0 -28
  392. package/.vercel/output/functions/docs.segments/docs.segment.rsc.prerender-fallback.rsc +0 -5
  393. package/.vercel/output/functions/favicon.ico.rsc.func/.next/routes-manifest.json +0 -1
  394. package/.vercel/output/functions/favicon.ico.rsc.func/.next/server/app-paths-manifest.json +0 -1
  395. package/.vercel/output/functions/favicon.ico.rsc.func/.next/server/pages-manifest.json +0 -1
  396. package/.vercel/output/functions/favicon.ico.rsc.func/.vc-config.json +0 -710
  397. package/.vercel/output/functions/favicon.ico.rsc.func/___next_launcher.cjs +0 -68
  398. package/.vercel/output/functions/index.prerender-config.json +0 -38
  399. package/.vercel/output/functions/index.prerender-fallback.html +0 -7
  400. package/.vercel/output/functions/index.rsc.prerender-config.json +0 -38
  401. package/.vercel/output/functions/index.rsc.prerender-fallback.rsc +0 -21
  402. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-config.json +0 -28
  403. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  404. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-config.json +0 -28
  405. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-fallback.rsc +0 -21
  406. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-config.json +0 -28
  407. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  408. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-config.json +0 -28
  409. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  410. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-config.json +0 -28
  411. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  412. package/.vercel/output/functions/login.prerender-config.json +0 -37
  413. package/.vercel/output/functions/login.prerender-fallback.html +0 -1
  414. package/.vercel/output/functions/login.rsc.prerender-config.json +0 -38
  415. package/.vercel/output/functions/login.rsc.prerender-fallback.rsc +0 -23
  416. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-config.json +0 -28
  417. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  418. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-config.json +0 -28
  419. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  420. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-config.json +0 -28
  421. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  422. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-config.json +0 -28
  423. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  424. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-config.json +0 -28
  425. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  426. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-config.json +0 -28
  427. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-fallback.rsc +0 -5
  428. package/.vercel/output/functions/logs.prerender-config.json +0 -37
  429. package/.vercel/output/functions/logs.prerender-fallback.html +0 -7
  430. package/.vercel/output/functions/logs.rsc.prerender-config.json +0 -38
  431. package/.vercel/output/functions/logs.rsc.prerender-fallback.rsc +0 -23
  432. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-config.json +0 -28
  433. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  434. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-config.json +0 -28
  435. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  436. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-config.json +0 -28
  437. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  438. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-config.json +0 -28
  439. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  440. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-config.json +0 -28
  441. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  442. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-config.json +0 -28
  443. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-fallback.rsc +0 -5
  444. package/.vercel/output/functions/messages.prerender-config.json +0 -37
  445. package/.vercel/output/functions/messages.prerender-fallback.html +0 -7
  446. package/.vercel/output/functions/messages.rsc.prerender-config.json +0 -38
  447. package/.vercel/output/functions/messages.rsc.prerender-fallback.rsc +0 -23
  448. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-config.json +0 -28
  449. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  450. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-config.json +0 -28
  451. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  452. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-config.json +0 -28
  453. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  454. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-config.json +0 -28
  455. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  456. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-config.json +0 -28
  457. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  458. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-config.json +0 -28
  459. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-fallback.rsc +0 -5
  460. package/.vercel/output/functions/node.prerender-config.json +0 -37
  461. package/.vercel/output/functions/node.prerender-fallback.html +0 -7
  462. package/.vercel/output/functions/node.rsc.prerender-config.json +0 -38
  463. package/.vercel/output/functions/node.rsc.prerender-fallback.rsc +0 -23
  464. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-config.json +0 -28
  465. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  466. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-config.json +0 -28
  467. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  468. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-config.json +0 -28
  469. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  470. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-config.json +0 -28
  471. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  472. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-config.json +0 -28
  473. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  474. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-config.json +0 -28
  475. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-fallback.rsc +0 -5
  476. package/.vercel/output/functions/nodes.prerender-config.json +0 -37
  477. package/.vercel/output/functions/nodes.prerender-fallback.html +0 -7
  478. package/.vercel/output/functions/nodes.rsc.prerender-config.json +0 -38
  479. package/.vercel/output/functions/nodes.rsc.prerender-fallback.rsc +0 -23
  480. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-config.json +0 -28
  481. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  482. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-config.json +0 -28
  483. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  484. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-config.json +0 -28
  485. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  486. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-config.json +0 -28
  487. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  488. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-config.json +0 -28
  489. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  490. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-config.json +0 -28
  491. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-fallback.rsc +0 -5
  492. package/.vercel/output/functions/settings/networks.prerender-config.json +0 -37
  493. package/.vercel/output/functions/settings/networks.prerender-fallback.html +0 -7
  494. package/.vercel/output/functions/settings/networks.rsc.prerender-config.json +0 -38
  495. package/.vercel/output/functions/settings/networks.rsc.prerender-fallback.rsc +0 -23
  496. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-config.json +0 -28
  497. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  498. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-config.json +0 -28
  499. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  500. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-config.json +0 -28
  501. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  502. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-config.json +0 -28
  503. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  504. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-config.json +0 -28
  505. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  506. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-config.json +0 -28
  507. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-fallback.rsc +0 -5
  508. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-config.json +0 -28
  509. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-fallback.rsc +0 -5
  510. package/.vercel/output/functions/settings/tokens.prerender-config.json +0 -37
  511. package/.vercel/output/functions/settings/tokens.prerender-fallback.html +0 -7
  512. package/.vercel/output/functions/settings/tokens.rsc.prerender-config.json +0 -38
  513. package/.vercel/output/functions/settings/tokens.rsc.prerender-fallback.rsc +0 -23
  514. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-config.json +0 -28
  515. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  516. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-config.json +0 -28
  517. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  518. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-config.json +0 -28
  519. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  520. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-config.json +0 -28
  521. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  522. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-config.json +0 -28
  523. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  524. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-config.json +0 -28
  525. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-fallback.rsc +0 -5
  526. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-config.json +0 -28
  527. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-fallback.rsc +0 -5
  528. package/.vercel/output/functions/settings.prerender-config.json +0 -37
  529. package/.vercel/output/functions/settings.prerender-fallback.html +0 -7
  530. package/.vercel/output/functions/settings.rsc.prerender-config.json +0 -38
  531. package/.vercel/output/functions/settings.rsc.prerender-fallback.rsc +0 -23
  532. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-config.json +0 -28
  533. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  534. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-config.json +0 -28
  535. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  536. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-config.json +0 -28
  537. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  538. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-config.json +0 -28
  539. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  540. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-config.json +0 -28
  541. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  542. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-config.json +0 -28
  543. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-fallback.rsc +0 -5
  544. package/.vercel/output/functions/tasks/[id].func/.next/routes-manifest.json +0 -1
  545. package/.vercel/output/functions/tasks/[id].func/.next/server/app-paths-manifest.json +0 -1
  546. package/.vercel/output/functions/tasks/[id].func/.next/server/pages-manifest.json +0 -1
  547. package/.vercel/output/functions/tasks/[id].func/.vc-config.json +0 -712
  548. package/.vercel/output/functions/tasks/[id].func/___next_launcher.cjs +0 -68
  549. package/.vercel/output/functions/tasks.prerender-config.json +0 -37
  550. package/.vercel/output/functions/tasks.prerender-fallback.html +0 -7
  551. package/.vercel/output/functions/tasks.rsc.prerender-config.json +0 -38
  552. package/.vercel/output/functions/tasks.rsc.prerender-fallback.rsc +0 -23
  553. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-config.json +0 -28
  554. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-fallback.rsc +0 -23
  555. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-config.json +0 -28
  556. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-fallback.rsc +0 -6
  557. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-config.json +0 -28
  558. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-fallback.rsc +0 -7
  559. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-config.json +0 -28
  560. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-fallback.rsc +0 -3
  561. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-config.json +0 -28
  562. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-fallback.rsc +0 -9
  563. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-config.json +0 -28
  564. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-fallback.rsc +0 -5
  565. package/.vercel/output/static/404.html +0 -7
  566. package/.vercel/output/static/404.rsc.json +0 -1
  567. package/.vercel/output/static/404.segments/_tree.segment.rsc.json +0 -1
  568. package/.vercel/output/static/500.html +0 -1
  569. package/.vercel/output/static/500.rsc.json +0 -1
  570. package/.vercel/output/static/500.segments/_tree.segment.rsc.json +0 -1
  571. package/.vercel/output/static/_next/__private/trace +0 -2
  572. package/.vercel/output/static/_next/static/GNDo6uXTepa_YJjaEhOTZ/_buildManifest.js +0 -11
  573. package/.vercel/output/static/_next/static/GNDo6uXTepa_YJjaEhOTZ/_clientMiddlewareManifest.js +0 -42
  574. package/.vercel/output/static/_next/static/GNDo6uXTepa_YJjaEhOTZ/_ssgManifest.js +0 -1
  575. package/.vercel/output/static/_next/static/chunks/00lj3.so.3xcl.js +0 -1
  576. package/.vercel/output/static/_next/static/chunks/01bx19dpl~r6u.js +0 -43
  577. package/.vercel/output/static/_next/static/chunks/01xlw8hd842-c.js +0 -1
  578. package/.vercel/output/static/_next/static/chunks/024co7ns8w7ms.js +0 -1
  579. package/.vercel/output/static/_next/static/chunks/03~yq9q893hmn.js +0 -1
  580. package/.vercel/output/static/_next/static/chunks/0_qu9.8wo.eq1.css +0 -2
  581. package/.vercel/output/static/_next/static/chunks/0e-wrhqh4h3r5.js +0 -2
  582. package/.vercel/output/static/_next/static/chunks/0fpff4dxg3a5x.js +0 -7
  583. package/.vercel/output/static/_next/static/chunks/0gjidgcgd2ibn.js +0 -1
  584. package/.vercel/output/static/_next/static/chunks/0io~i_rk3k9q3.js +0 -7
  585. package/.vercel/output/static/_next/static/chunks/0o~g2gtcm3~v5.js +0 -1
  586. package/.vercel/output/static/_next/static/chunks/0pqt~8bl3ukh4.js +0 -4
  587. package/.vercel/output/static/_next/static/chunks/0ql1nb6991-hi.js +0 -1
  588. package/.vercel/output/static/_next/static/chunks/0s4w.hhez3.xx.js +0 -1
  589. package/.vercel/output/static/_next/static/chunks/0tb-yun7e_n3c.js +0 -1
  590. package/.vercel/output/static/_next/static/chunks/0w.7_h6kx__bg.js +0 -1
  591. package/.vercel/output/static/_next/static/chunks/0w5hxo645~s.g.js +0 -31
  592. package/.vercel/output/static/_next/static/chunks/0xqtq9944k~ek.js +0 -1
  593. package/.vercel/output/static/_next/static/chunks/0~sxxils~iff..js +0 -1
  594. package/.vercel/output/static/_next/static/chunks/11f7871-m2pu4.js +0 -1
  595. package/.vercel/output/static/_next/static/chunks/11tov78a0ymt9.js +0 -1
  596. package/.vercel/output/static/_next/static/chunks/12t1c0u8~txfo.js +0 -1
  597. package/.vercel/output/static/_next/static/chunks/15-ywchriw.vi.js +0 -1
  598. package/.vercel/output/static/_next/static/chunks/turbopack-0zklppa1rg.u8.js +0 -1
  599. package/.vercel/output/static/_next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  600. package/.vercel/output/static/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  601. package/.vercel/output/static/_next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  602. package/.vercel/output/static/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
  603. package/.vercel/output/static/_next/static/not-found.txt +0 -1
  604. package/.vercel/output/static/favicon.ico +0 -0
  605. package/.vercel/output/static/favicon.svg +0 -10
  606. package/.vercel/output/static/file.svg +0 -1
  607. package/.vercel/output/static/globe.svg +0 -1
  608. package/.vercel/output/static/next.svg +0 -1
  609. package/.vercel/output/static/vercel.svg +0 -1
  610. package/.vercel/output/static/window.svg +0 -1
  611. package/app/docs/page.tsx +0 -334
  612. /package/.next/server/chunks/{[root-of-the-server]__0nsfjkb._.js.map → [root-of-the-server]__0.d_kqy._.js.map} +0 -0
  613. /package/.next/server/chunks/{[root-of-the-server]__0h-9kwu._.js.map → [root-of-the-server]__04aud7x._.js.map} +0 -0
  614. /package/.next/server/chunks/{[root-of-the-server]__0t0.lss._.js.map → [root-of-the-server]__08wy1jr._.js.map} +0 -0
  615. /package/.next/server/chunks/{[root-of-the-server]__0ku8l.~._.js.map → [root-of-the-server]__0p6tutt._.js.map} +0 -0
  616. /package/.next/server/chunks/{[root-of-the-server]__0kx9lo1._.js.map → [root-of-the-server]__0rg9ifx._.js.map} +0 -0
  617. /package/.next/server/chunks/{[root-of-the-server]__10~rj8b._.js.map → [root-of-the-server]__0~h2uqi._.js.map} +0 -0
  618. /package/.next/server/chunks/{[root-of-the-server]__114809t._.js.map → [root-of-the-server]__139~d6a._.js.map} +0 -0
  619. /package/.next/static/{dR3GSMnwa4k46SIbP3PaK → cDL0lLOkoUg3hMg9wv7XO}/_buildManifest.js +0 -0
  620. /package/.next/static/{dR3GSMnwa4k46SIbP3PaK → cDL0lLOkoUg3hMg9wv7XO}/_clientMiddlewareManifest.js +0 -0
  621. /package/.next/static/{dR3GSMnwa4k46SIbP3PaK → cDL0lLOkoUg3hMg9wv7XO}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},71647,e=>{"use strict";var t=e.i(282);function r(){return process.env.COMMHUB_URL||"http://127.0.0.1:9200"}async function a(e,a){let n=`${r()}${e}`,s=process.env.COMMHUB_AUTH_TOKEN||"",i={},o=a?.headers;if(!o?.Authorization){try{let e=await (0,t.getV3UserToken)();e&&(i={Authorization:`Bearer ${e}`})}catch{}!i.Authorization&&s&&(i={Authorization:`Bearer ${s}`})}return fetch(n,{...a,headers:{...i,...a?.headers},next:{revalidate:0}})}r(),e.s(["hubFetch",0,a])},5793,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),x=e.i(10372),R=e.i(93695);e.i(20232);var v=e.i(220),m=e.i(282),w=e.i(71647);async function f(e){let t=await (0,m.requireDashboardAuth)();if(t)return t;let{searchParams:r}=new URL(e.url),a=r.get("limit")||"50",n=r.get("network_id")||"",s=r.get("since")||new Date(Date.now()-6048e5).toISOString().replace("T"," ").slice(0,19),i=new URLSearchParams({limit:a,since:s});n&&i.set("network_id",n);try{let e=await (0,w.hubFetch)(`/api/messages?${i.toString()}`),t=await e.json();if(n&&t.ok&&(!t.messages||0===t.messages.length)){let e=new URLSearchParams({limit:a,since:s}),t=await (0,w.hubFetch)(`/api/messages?${e.toString()}`),r=await t.json();if(r.ok&&r.messages?.length>0)return Response.json({...r,source:"global"})}return Response.json(t)}catch(e){return Response.json({ok:!1,messages:[]},{status:502})}}e.s(["GET",0,f],90865);var E=e.i(90865);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/messages/route",pathname:"/api/hub/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/messages/route.ts",nextConfigOutput:"",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=y;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/hub/messages/route";m=m.replace(/\/index$/,"")||"/";let w=await y.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:f,params:E,nextConfig:C,parsedUrl:b,isDraftMode:A,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,resolvedPathname:q,clientReferenceManifest:N,serverActionsManifest:P}=w,O=(0,o.normalizeAppPath)(m),U=!!(T.dynamicRoutes[O]||T.routes[q]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(U&&!A){let e=!!T.routes[q],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await j();throw new R.NoFallbackError}}let H=null;!U||y.isDev||A||(H="/index"===(H=q)?"/":H);let M=!0===y.isDev||!U,I=U&&!M;P&&N&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:N,serverActionsManifest:P});let D=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,C,T,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>y.onRequestError(e,t,a,n,S)},sharedContext:{buildId:f}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>y.handle(W,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${D} ${m}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&k&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!U)return await (0,c.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,S),t}},u=await y.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!U)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&U||d.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(G,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&F?await o(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,S),U)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,y,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b],5793)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0wpe~w2._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../app/lib/hub.ts","../../../app/api/hub/messages/route.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { getV3UserToken } from './dashboard-auth';\n\nfunction getHubUrl() {\n return process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n}\n\nfunction getCommHubToken() {\n return process.env.COMMHUB_AUTH_TOKEN || '';\n}\n\nexport const HUB_URL = getHubUrl();\n\nexport function hubHeaders(): Record<string, string> {\n const h: Record<string, string> = {};\n const token = getCommHubToken();\n if (token) h['Authorization'] = `Bearer ${token}`;\n return h;\n}\n\n/**\n * Fetch from CommHub. Prefers V3 user token (atok_) if logged in,\n * falls back to CommHub service token.\n */\nexport async function hubFetch(path: string, init?: RequestInit): Promise<Response> {\n const url = `${getHubUrl()}${path}`;\n const COMMHUB_TOKEN = getCommHubToken();\n\n // Build auth: prefer V3 user token, fallback to service token\n let authHeader: Record<string, string> = {};\n\n // Only try V3 token if no Authorization already in init.headers\n const initHeaders = init?.headers as Record<string, string> | undefined;\n if (!initHeaders?.['Authorization']) {\n try {\n const userToken = await getV3UserToken();\n if (userToken) {\n authHeader = { 'Authorization': `Bearer ${userToken}` };\n }\n } catch {\n // cookies() not available in this context, ignore\n }\n\n if (!authHeader['Authorization'] && COMMHUB_TOKEN) {\n authHeader = { 'Authorization': `Bearer ${COMMHUB_TOKEN}` };\n }\n }\n\n return fetch(url, {\n ...init,\n headers: { ...authHeader, ...init?.headers },\n next: { revalidate: 0 },\n } as RequestInit);\n}\n","import { requireDashboardAuth } from '@/app/lib/dashboard-auth';\nimport { hubFetch } from '@/app/lib/hub';\n\nexport async function GET(req: Request) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { searchParams } = new URL(req.url);\n const limit = searchParams.get('limit') || '50';\n const networkId = searchParams.get('network_id') || '';\n // Show last 7 days by default (server defaults to 1 hour which is too short)\n const since = searchParams.get('since') || new Date(Date.now() - 7 * 86400000).toISOString().replace('T', ' ').slice(0, 19);\n const qs = new URLSearchParams({ limit, since });\n if (networkId) qs.set('network_id', networkId);\n try {\n const res = await hubFetch(`/api/messages?${qs.toString()}`);\n const data = await res.json();\n // Fallback: if network filter returns empty, retry without filter\n if (networkId && data.ok && (!data.messages || data.messages.length === 0)) {\n const fbQs = new URLSearchParams({ limit, since });\n const fbRes = await hubFetch(`/api/messages?${fbQs.toString()}`);\n const fbData = await fbRes.json();\n if (fbData.ok && fbData.messages?.length > 0) {\n return Response.json({ ...fbData, source: 'global' });\n }\n }\n return Response.json(data);\n } catch (e: unknown) {\n return Response.json({ ok: false, messages: [] }, { status: 502 });\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta, setRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/hub/messages/route\",\n pathname: \"/api/hub/messages\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/app/api/hub/messages/route.ts\",\n nextConfigOutput,\n // The static import is used for initialization (methods, dynamic, etc.).\n userland: userland,\n // In Turbopack dev mode, also provide a getter that calls require() on every\n // request. This re-reads from devModuleCache so HMR updates are picked up,\n // and the async wrapper unwraps async-module Promises (ESM-only\n // serverExternalPackages) automatically.\n ...process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER ? {\n getUserland: ()=>import(\"INNER_APP_ROUTE\")\n } : {}\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta);\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/hub/messages/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const isWrappedByNextServer = Boolean(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer);\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'));\n const incrementalCache = getRequestMeta(req, 'incrementalCache') || await routeModule.getIncrementalCache(req, nextConfig, prerenderManifest, isMinimalMode);\n incrementalCache == null ? void 0 : incrementalCache.resetRequestCache();\n globalThis.__incrementalCache = incrementalCache;\n const context = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n let parentSpan;\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== span) {\n parentSpan.setAttribute('http.route', route);\n parentSpan.updateName(name);\n }\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan);\n } else {\n parentSpan = tracer.getActiveScopeSpan();\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse), undefined, !isWrappedByNextServer);\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":["getHubUrl","process","env","COMMHUB_URL","getCommHubToken","COMMHUB_AUTH_TOKEN","HUB_URL","hubHeaders","h","token","hubFetch","path","init","url","COMMHUB_TOKEN","authHeader","initHeaders","headers","userToken","fetch","next","revalidate","GET","req","authFailure","searchParams","URL","limit","get","networkId","since","Date","now","toISOString","replace","slice","qs","URLSearchParams","set","res","toString","data","json","ok","messages","length","fbQs","fbRes","fbData","Response","source","e","status"],"mappings":"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","ignoreList":[2]}
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},71647,e=>{"use strict";var t=e.i(282);function r(){return process.env.COMMHUB_URL||"http://127.0.0.1:9200"}async function a(e,a){let n=`${r()}${e}`,s=process.env.COMMHUB_AUTH_TOKEN||"",i={},o=a?.headers;if(!o?.Authorization){try{let e=await (0,t.getV3UserToken)();e&&(i={Authorization:`Bearer ${e}`})}catch{}!i.Authorization&&s&&(i={Authorization:`Bearer ${s}`})}return fetch(n,{...a,headers:{...i,...a?.headers},next:{revalidate:0}})}r(),e.s(["hubFetch",0,a])},69566,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),v=e.i(10372),R=e.i(93695);e.i(20232);var g=e.i(220),f=e.i(282),m=e.i(71647);async function w(e){let t=await (0,f.requireDashboardAuth)();if(t)return t;let{searchParams:r}=new URL(e.url),a=r.get("alias");if(!a)return Response.json({error:"alias required"},{status:400});try{let e=await (0,m.hubFetch)("/api/status"),t=((await e.json()).sessions||[]).find(e=>e.alias===a),r=await (0,m.hubFetch)("/mcp",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:Date.now(),method:"tools/call",params:{name:"get_inbox",arguments:{alias:a,limit:50}}})}),n=await r.text(),s=n.match(/data:\s*(\{.*\})/),i=s?JSON.parse(s[1]):JSON.parse(n),o=i?.result?.content?.[0]?.text,l=o?JSON.parse(o):{messages:[]},u=await (0,m.hubFetch)("/health"),d=await u.json();return Response.json({session:t||null,inbox:l.messages||[],sse:d.sse_sessions?.[a]||0})}catch(e){return Response.json({error:"failed",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["GET",0,w],66778);var E=e.i(66778);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/session/route",pathname:"/api/hub/session",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/session/route.ts",nextConfigOutput:"",userland:E,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:A}=y;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/hub/session/route";f=f.replace(/\/index$/,"")||"/";let m=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:S,resolvedPathname:q,clientReferenceManifest:_,serverActionsManifest:j}=m,P=(0,o.normalizeAppPath)(f),k=!!(T.dynamicRoutes[P]||T.routes[q]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!A){let e=!!T.routes[q],t=T.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let H=null;!k||y.isDev||A||(H="/index"===(H=q)?"/":H);let M=!0===y.isDev||!k,I=k&&!M;j&&_&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:_,serverActionsManifest:j});let D=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),B=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,b,T,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>y.onRequestError(e,t,a,n,N)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>y.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${D} ${f}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&O&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(G,J,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,N),t}},u=await y.handleResponse({req:e,nextConfig:b,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!k)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&k||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(G,J,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&F?await o(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,N),k)throw t;return await (0,c.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})},"routeModule",0,y,"serverHooks",0,A,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,C],69566)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__10ducxb._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../app/lib/hub.ts","../../../app/api/hub/session/route.ts","../../../node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { getV3UserToken } from './dashboard-auth';\n\nfunction getHubUrl() {\n return process.env.COMMHUB_URL || 'http://127.0.0.1:9200';\n}\n\nfunction getCommHubToken() {\n return process.env.COMMHUB_AUTH_TOKEN || '';\n}\n\nexport const HUB_URL = getHubUrl();\n\nexport function hubHeaders(): Record<string, string> {\n const h: Record<string, string> = {};\n const token = getCommHubToken();\n if (token) h['Authorization'] = `Bearer ${token}`;\n return h;\n}\n\n/**\n * Fetch from CommHub. Prefers V3 user token (atok_) if logged in,\n * falls back to CommHub service token.\n */\nexport async function hubFetch(path: string, init?: RequestInit): Promise<Response> {\n const url = `${getHubUrl()}${path}`;\n const COMMHUB_TOKEN = getCommHubToken();\n\n // Build auth: prefer V3 user token, fallback to service token\n let authHeader: Record<string, string> = {};\n\n // Only try V3 token if no Authorization already in init.headers\n const initHeaders = init?.headers as Record<string, string> | undefined;\n if (!initHeaders?.['Authorization']) {\n try {\n const userToken = await getV3UserToken();\n if (userToken) {\n authHeader = { 'Authorization': `Bearer ${userToken}` };\n }\n } catch {\n // cookies() not available in this context, ignore\n }\n\n if (!authHeader['Authorization'] && COMMHUB_TOKEN) {\n authHeader = { 'Authorization': `Bearer ${COMMHUB_TOKEN}` };\n }\n }\n\n return fetch(url, {\n ...init,\n headers: { ...authHeader, ...init?.headers },\n next: { revalidate: 0 },\n } as RequestInit);\n}\n","import { requireDashboardAuth } from '@/app/lib/dashboard-auth';\nimport { hubFetch } from '@/app/lib/hub';\n\nexport async function GET(req: Request) {\n const authFailure = await requireDashboardAuth();\n if (authFailure) return authFailure;\n\n const { searchParams } = new URL(req.url);\n const alias = searchParams.get('alias');\n if (!alias) return Response.json({ error: 'alias required' }, { status: 400 });\n\n try {\n // Get session status\n const statusRes = await hubFetch('/api/status');\n const statusData = await statusRes.json();\n const session = (statusData.sessions || []).find((s: { alias: string }) => s.alias === alias);\n\n // Get inbox messages for this session (sent TO this session)\n const inboxRes = await hubFetch('/mcp', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', 'Accept': 'application/json, text/event-stream' },\n body: JSON.stringify({\n jsonrpc: '2.0', id: Date.now(),\n method: 'tools/call',\n params: { name: 'get_inbox', arguments: { alias, limit: 50 } }\n }),\n });\n const inboxRaw = await inboxRes.text();\n const inboxMatch = inboxRaw.match(/data:\\s*(\\{.*\\})/);\n const inboxData = inboxMatch ? JSON.parse(inboxMatch[1]) : JSON.parse(inboxRaw);\n const inboxContent = inboxData?.result?.content?.[0]?.text;\n const inboxParsed = inboxContent ? JSON.parse(inboxContent) : { messages: [] };\n\n // Get health for SSE info\n const healthRes = await hubFetch('/health');\n const healthData = await healthRes.json();\n\n return Response.json({\n session: session || null,\n inbox: inboxParsed.messages || [],\n sse: healthData.sse_sessions?.[alias] || 0,\n });\n } catch (e: unknown) {\n return Response.json({ error: 'failed', detail: e instanceof Error ? e.message : String(e) }, { status: 502 });\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta, setRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/hub/session/route\",\n pathname: \"/api/hub/session\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/app/api/hub/session/route.ts\",\n nextConfigOutput,\n // The static import is used for initialization (methods, dynamic, etc.).\n userland: userland,\n // In Turbopack dev mode, also provide a getter that calls require() on every\n // request. This re-reads from devModuleCache so HMR updates are picked up,\n // and the async wrapper unwraps async-module Promises (ESM-only\n // serverExternalPackages) automatically.\n ...process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER ? {\n getUserland: ()=>import(\"INNER_APP_ROUTE\")\n } : {}\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta);\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/hub/session/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const isWrappedByNextServer = Boolean(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer);\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'));\n const incrementalCache = getRequestMeta(req, 'incrementalCache') || await routeModule.getIncrementalCache(req, nextConfig, prerenderManifest, isMinimalMode);\n incrementalCache == null ? void 0 : incrementalCache.resetRequestCache();\n globalThis.__incrementalCache = incrementalCache;\n const context = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n let parentSpan;\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== span) {\n parentSpan.setAttribute('http.route', route);\n parentSpan.updateName(name);\n }\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan);\n } else {\n parentSpan = tracer.getActiveScopeSpan();\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse), undefined, !isWrappedByNextServer);\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":["getHubUrl","process","env","COMMHUB_URL","getCommHubToken","COMMHUB_AUTH_TOKEN","HUB_URL","hubHeaders","h","token","hubFetch","path","init","url","COMMHUB_TOKEN","authHeader","initHeaders","headers","userToken","fetch","next","revalidate","GET","req","authFailure","searchParams","URL","alias","get","Response","json","error","status","statusRes","statusData","content","session","sessions","find","s","inboxRes","method","body","JSON","stringify","jsonrpc","id","Date","now","params","name","arguments","limit","inboxRaw","text","inboxMatch","match","inboxData","parse","inboxContent","result","inboxParsed","messages","healthRes","healthData","inbox","sse","sse_sessions","e","detail","Error","message","String"],"mappings":"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","ignoreList":[2]}
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},71647,e=>{"use strict";var t=e.i(282);function r(){return process.env.COMMHUB_URL||"http://127.0.0.1:9200"}async function a(e,a){let n=`${r()}${e}`,i=process.env.COMMHUB_AUTH_TOKEN||"",o={},s=a?.headers;if(!s?.Authorization){try{let e=await (0,t.getV3UserToken)();e&&(o={Authorization:`Bearer ${e}`})}catch{}!o.Authorization&&i&&(o={Authorization:`Bearer ${i}`})}return fetch(n,{...a,headers:{...o,...a?.headers},next:{revalidate:0}})}r(),e.s(["hubFetch",0,a])},50980,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),R=e.i(10372),v=e.i(93695);e.i(20232);var g=e.i(220),f=e.i(282),w=e.i(71647);async function m(e){let t=await (0,f.requireDashboardAuth)();if(t)return t;let{searchParams:r}=new URL(e.url),a=new URLSearchParams;for(let e of["limit","action","user_id","network_id"]){let t=r.get(e);t&&a.set(e,t)}let n=r.get("token")||"";try{let e={};n&&(e.headers={Authorization:`Bearer ${n}`});let t=await (0,w.hubFetch)(`/api/audit-log?${a.toString()}`,e),r=t.headers.get("content-type")||"";if(t.ok&&r.includes("application/json"))return Response.json(await t.json());let i=await t.text().catch(()=>"");return Response.json({ok:!1,logs:[],count:0,error:i||`status ${t.status}`})}catch(e){return Response.json({error:"failed",detail:e instanceof Error?e.message:String(e)},{status:502})}}e.s(["GET",0,m],28539);var E=e.i(28539);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/hub/audit-log/route",pathname:"/api/hub/audit-log",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/hub/audit-log/route.ts",nextConfigOutput:"",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:b}=y;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/hub/audit-log/route";f=f.replace(/\/index$/,"")||"/";let w=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:m,params:E,nextConfig:C,parsedUrl:A,isDraftMode:b,prerenderManifest:T,routerServerContext:_,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:S}=w,O=(0,s.normalizeAppPath)(f),U=!!(T.dynamicRoutes[O]||T.routes[N]),j=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!b){let e=!!T.routes[N],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await j();throw new v.NoFallbackError}}let H=null;!U||y.isDev||b||(H="/index"===(H=N)?"/":H);let M=!0===y.isDev||!U,I=U&&!M;S&&P&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:P,serverActionsManifest:S});let $=e.method||"GET",D=(0,i.getTracer)(),B=D.getActiveScopeSpan(),F=!!(null==_?void 0:_.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,C,T,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>y.onRequestError(e,t,a,n,_)},sharedContext:{buildId:m}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>y.handle(W,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${$} ${f}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!K&&k&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let l=z.renderOpts.collectedTags;if(!U)return await (0,c.sendResponse)(G,V,i,z.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,_),t}},u=await y.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!U)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&U||d.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(G,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await s(B):(n=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},s),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,_),U)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,y,"serverHooks",0,b,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],50980)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__11yl3c.._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},26758,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},38872,a=>{"use strict";let b={src:a.i(26758).default,width:256,height:256};a.s(["default",0,b])},31220,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/docs/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/docs/page.tsx <module evaluation>","default")},76533,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/docs/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/docs/page.tsx","default")},29844,a=>{"use strict";a.i(31220);var b=a.i(76533);a.n(b)},57331,a=>{a.n(a.i(29844))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0_1hjn2._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../app/docs/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/app/docs/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/app/docs/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,mRAAqR,EAClT,kDACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,+PAAiQ,EAC9R,8BACA","ignoreList":[1]}
@@ -1,3 +0,0 @@
1
- module.exports=[92810,(a,b,c)=>{}];
2
-
3
- //# sourceMappingURL=_next-internal_server_app_docs_page_actions_0xq87ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- module.exports=[19407,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[{id:"overview",label:"概览"},{id:"login",label:"登录与注册"},{id:"dashboard",label:"Overview 首页"},{id:"chat",label:"ChatPanel 对话"},{id:"nodes",label:"Nodes 节点管理"},{id:"tasks",label:"Tasks 任务流水"},{id:"messages",label:"Messages 消息"},{id:"networks",label:"Networks 网络管理"},{id:"admin",label:"Admin 管理"},{id:"cli",label:"CLI 命令参考"},{id:"config",label:"配置说明"},{id:"api",label:"API 参考"},{id:"faq",label:"常见问题"}];function e({id:a,title:c,children:d}){return(0,b.jsxs)("section",{id:a,className:"mb-12 scroll-mt-8",children:[(0,b.jsx)("h2",{className:"text-xl font-bold text-white mb-4 pb-2 border-b border-[#2a2a4a]",children:c}),(0,b.jsx)("div",{className:"text-gray-300 text-sm leading-relaxed space-y-3",children:d})]})}function f({children:a,lang:d}){let[e,g]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"mt-3 rounded-xl overflow-hidden border border-[#2a2a4a]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between bg-[#0d0d1a] px-4 py-1.5 border-b border-[#2a2a4a]",children:[(0,b.jsx)("span",{className:"text-[10px] text-gray-600",children:d||"code"}),(0,b.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(a),g(!0),setTimeout(()=>g(!1),2e3)},className:"text-[10px] text-gray-500 hover:text-gray-300 transition-colors",children:e?"✓ Copied":"Copy"})]}),(0,b.jsx)("pre",{className:"bg-[#050510] px-4 py-3 text-[12px] text-green-300 overflow-x-auto leading-relaxed",children:(0,b.jsx)("code",{children:a})})]})}function g({steps:a}){return(0,b.jsx)("div",{className:"mt-3 space-y-2",children:a.map((c,d)=>(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center",children:[(0,b.jsx)("div",{className:"w-6 h-6 rounded-full bg-cyan-500/20 border border-cyan-500/30 flex items-center justify-center text-[10px] text-cyan-300 font-bold shrink-0",children:d+1}),d<a.length-1&&(0,b.jsx)("div",{className:"w-0.5 flex-1 mt-1 bg-[#2a2a4a]"})]}),(0,b.jsx)("div",{className:"text-sm text-gray-300 pt-0.5",children:c})]},d))})}function h({features:a}){return(0,b.jsx)("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-2",children:a.map(a=>(0,b.jsxs)("div",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl px-4 py-3",children:[(0,b.jsx)("div",{className:"text-sm text-white font-medium",children:a.title}),(0,b.jsx)("div",{className:"text-xs text-gray-500 mt-0.5",children:a.desc})]},a.title))})}function i({children:a,type:c}){return(0,b.jsxs)("div",{className:`mt-3 px-4 py-2.5 rounded-xl border text-xs ${"warning"===c?"border-yellow-500/20 bg-yellow-500/5 text-yellow-300":"border-blue-500/20 bg-blue-500/5 text-blue-300"}`,children:["warning"===c?"⚠️ ":"ℹ️ ",a]})}function j({q:a,a:d}){let[e,f]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"mb-2 bg-[#111128] rounded-xl border border-[#2a2a4a] overflow-hidden",children:[(0,b.jsxs)("button",{onClick:()=>f(!e),className:"w-full flex items-center justify-between px-4 py-3 text-left",children:[(0,b.jsx)("span",{className:"text-sm text-cyan-400 font-medium",children:a}),(0,b.jsx)("svg",{className:`w-4 h-4 text-gray-600 transition-transform ${e?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),e&&(0,b.jsx)("div",{className:"px-4 pb-3 text-sm text-gray-400",children:d})]})}a.s(["default",0,function(){let[a,k]=(0,c.useState)("overview"),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)("");(0,c.useEffect)(()=>{let a=new IntersectionObserver(a=>{a.forEach(a=>{a.isIntersecting&&k(a.target.id)})},{rootMargin:"-20% 0px -70% 0px"});return d.forEach(b=>{let c=document.getElementById(b.id);c&&a.observe(c)}),()=>a.disconnect()},[]);let p=n?d.filter(a=>a.label.toLowerCase().includes(n.toLowerCase())):d;return(0,b.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex",children:[(0,b.jsxs)("aside",{className:"hidden lg:block w-64 shrink-0 border-r border-[#2a2a4a] bg-[#0d0d1a] sticky top-0 h-screen overflow-y-auto",children:[(0,b.jsxs)("div",{className:"p-4 border-b border-[#2a2a4a]",children:[(0,b.jsx)("h2",{className:"text-sm font-bold text-white",children:"文档"}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600 mt-0.5",children:"Agent Network Dashboard"})]}),(0,b.jsx)("div",{className:"px-3 py-2",children:(0,b.jsx)("input",{type:"text",value:n,onChange:a=>o(a.target.value),placeholder:"搜索文档...",className:"w-full bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-1.5 text-xs text-white placeholder-gray-600 focus:border-cyan-500/40 focus:outline-none"})}),(0,b.jsx)("nav",{className:"px-2 pb-4",children:p.map(c=>(0,b.jsx)("a",{href:`#${c.id}`,className:`block px-3 py-1.5 rounded-lg text-xs transition-colors ${a===c.id?"bg-cyan-500/10 text-cyan-300 border-l-2 border-cyan-400":"text-gray-500 hover:text-gray-300 hover:bg-[#1a1a2a]"}`,children:c.label},c.id))})]}),(0,b.jsx)("button",{onClick:()=>m(!l),className:"lg:hidden fixed bottom-4 right-4 z-50 w-12 h-12 bg-cyan-600 rounded-full shadow-lg flex items-center justify-center text-white",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h7"})})}),l&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"lg:hidden fixed inset-0 bg-black/50 z-40",onClick:()=>m(!1)}),(0,b.jsxs)("div",{className:"lg:hidden fixed left-0 top-0 h-full w-64 bg-[#0d0d1a] border-r border-[#2a2a4a] z-50 overflow-y-auto p-4",children:[(0,b.jsx)("h2",{className:"text-sm font-bold text-white mb-3",children:"目录"}),d.map(c=>(0,b.jsx)("a",{href:`#${c.id}`,onClick:()=>m(!1),className:`block px-3 py-2 rounded-lg text-sm ${a===c.id?"text-cyan-300 bg-cyan-500/10":"text-gray-400"}`,children:c.label},c.id))]})]}),(0,b.jsxs)("main",{className:"flex-1 max-w-3xl mx-auto px-4 sm:px-8 py-8 lg:ml-0 ml-10",children:[(0,b.jsx)("h1",{className:"text-3xl font-bold text-white mb-1",children:"Agent Network Dashboard"}),(0,b.jsx)("p",{className:"text-gray-500 text-sm mb-10",children:"企业级 AI Agent 军团管控平台 · 使用指南"}),(0,b.jsxs)(e,{id:"overview",title:"概览",children:[(0,b.jsx)("p",{children:"Agent Network 是基于 MCP (Model Context Protocol) 的多智能体协作基础设施。通过 CommHub Server 实现 Agent 间的任务派发、状态同步、消息路由。"}),(0,b.jsx)(g,{steps:["查看所有 Agent 节点的实时状态","通过 ChatPanel 直接与任意 Agent 对话","派发任务、查看执行结果","管理网络、成员、权限","查看审计日志和通信记录"]})]}),(0,b.jsxs)(e,{id:"login",title:"登录与注册",children:[(0,b.jsx)("p",{children:"首次使用需注册账号。第一个注册的用户自动成为 admin。"}),(0,b.jsx)(f,{lang:"bash",children:`# 注册
2
- Username: 自定义
3
- Password: 至少 6 位
4
-
5
- # 登录后自动跳转到 Overview 首页`}),(0,b.jsx)(i,{type:"warning",children:"HTTP 环境下 cookie 不带 Secure 标志(已适配 Docker 场景)。"})]}),(0,b.jsxs)(e,{id:"dashboard",title:"Overview 首页",children:[(0,b.jsx)("p",{children:"首页展示军团全貌:"}),(0,b.jsx)(h,{features:[{title:"Stats 卡片",desc:"Online / Working / Offline / Total 实时计数"},{title:"拓扑图",desc:"节点关系可视化(桌面端)"},{title:"Agent 卡片",desc:"alias、status、runtime、SSE 状态"},{title:"Chat 按钮",desc:"点击任意卡片发任务"},{title:"⚡ Dispatch",desc:"多选 Agent 批量派发"},{title:"Quick Actions",desc:"Nodes / Tasks / Messages 快速跳转"}]})]}),(0,b.jsxs)(e,{id:"chat",title:"ChatPanel 对话",children:[(0,b.jsxs)("p",{children:["点击 Agent 卡片上的 ",(0,b.jsx)("span",{className:"text-cyan-400 font-medium",children:"Chat"})," 按钮打开聊天面板:"]}),(0,b.jsx)(g,{steps:["输入任务内容 → Cmd+Enter 或点 Send 发送","实时状态追踪:created → delivered → running → replied","回复内容支持 Markdown 渲染(代码块、粗体)","输入 @ 可选择其他节点,跨节点通信","CommandCenter:多 tab 并行与多个 Agent 对话"]})]}),(0,b.jsxs)(e,{id:"nodes",title:"Nodes 节点管理",children:[(0,b.jsxs)("p",{children:["查看所有在线节点。支持 ",(0,b.jsx)("span",{className:"text-cyan-400",children:"Grid"})," / ",(0,b.jsx)("span",{className:"text-cyan-400",children:"List"})," 视图。"]}),(0,b.jsx)("p",{className:"mt-2",children:"点击节点进入详情页,三个 Tab:"}),(0,b.jsx)(h,{features:[{title:"💬 Chat",desc:"与该节点对话(全宽聊天区域)"},{title:"📋 Events",desc:"任务事件时间线(分组、颜色编码)"},{title:"📊 Info",desc:"Runtime / Model / Server / Session ID"}]})]}),(0,b.jsx)(e,{id:"tasks",title:"Tasks 任务流水",children:(0,b.jsx)(g,{steps:["Tab 筛选:All / created / delivered / running / replied / failed","按 From / To 节点过滤","点击展开 TaskDrawer:输入、输出、时长、事件时间线","Failed 任务一键 Retry"]})}),(0,b.jsx)(e,{id:"messages",title:"Messages 消息",children:(0,b.jsx)(h,{features:[{title:"Timeline / Grouped",desc:"按时间线或对话对分组"},{title:"类型过滤",desc:"task / message / broadcast / reply"},{title:"搜索高亮",desc:"关键词黄色高亮"},{title:"导出 MD",desc:"下载 Markdown 格式"}]})}),(0,b.jsxs)(e,{id:"networks",title:"Networks 网络管理",children:[(0,b.jsx)("p",{children:"不同网络的 Agent 互不可见。"}),(0,b.jsx)(g,{steps:["创建网络(名称 + 描述)","管理成员(owner / admin / member / viewer)","侧栏点击切换网络","生成邀请码分享"]})]}),(0,b.jsx)(e,{id:"admin",title:"Admin 管理",children:(0,b.jsx)(h,{features:[{title:"Broadcast",desc:"群发消息给所有在线节点"},{title:"DispatchPanel",desc:"多选 Agent 批量派发任务"},{title:"User Register",desc:"注册新用户"},{title:"Stats",desc:"系统统计概览"}]})}),(0,b.jsx)(e,{id:"cli",title:"CLI 命令参考",children:(0,b.jsx)(f,{lang:"bash",children:`# 安装
6
- npm i -g @sleep2agi/agent-network
7
-
8
- # 快速开始
9
- anet quickstart
10
-
11
- # 创建 + 启动节点
12
- anet create my-bot --runtime codex-sdk
13
- anet start my-bot
14
-
15
- # 网络管理
16
- anet network create my-project
17
- anet network invite <network-id>
18
- anet network join <invite-code>
19
-
20
- # 状态
21
- anet whoami
22
- anet status`})}),(0,b.jsxs)(e,{id:"config",title:"配置说明",children:[(0,b.jsx)("p",{children:"优先级:CLI 参数 > 环境变量 > 项目 config > 全局 config"}),(0,b.jsx)(f,{lang:"json",children:`// ~/.anet/config.json
23
- {
24
- "hub": "http://127.0.0.1:9200",
25
- "token": "ntok_xxx"
26
- }
27
-
28
- // 节点配置 .anet/nodes/<name>/config.json
29
- {
30
- "runtime": "codex-sdk",
31
- "model": "gpt-5.4",
32
- "tools": ["Read", "Write", "Bash"]
33
- }`}),(0,b.jsx)(f,{lang:"bash",children:`# 环境变量
34
- COMMHUB_URL=http://127.0.0.1:9200
35
- COMMHUB_TOKEN=ntok_xxx`})]}),(0,b.jsxs)(e,{id:"api",title:"API 参考",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-white mt-4 mb-3",children:"MCP Tools"}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:[["report_status","心跳 + 状态上报"],["report_completion","任务完成汇报"],["get_inbox","拉取待办"],["ack_inbox","确认收到"],["send_task","派发任务"],["send_message","发消息"],["send_reply","回复任务"],["broadcast","群发"],["get_all_status","全局状态"],["get_session_status","单节点状态"],["retry_task","重试任务"],["cancel_task","取消任务"]].map(([a,c])=>(0,b.jsxs)("div",{className:"flex items-center gap-3 bg-[#111128] rounded-lg px-3 py-2 border border-[#2a2a4a]",children:[(0,b.jsx)("code",{className:"text-cyan-400 text-xs shrink-0",children:a}),(0,b.jsx)("span",{className:"text-gray-500 text-xs",children:c})]},a))}),(0,b.jsx)("h3",{className:"text-base font-semibold text-white mt-6 mb-3",children:"REST API"}),(0,b.jsx)(f,{lang:"http",children:`POST /api/auth/register — 注册
36
- POST /api/auth/login — 登录
37
- GET /api/auth/me — 当前用户
38
- GET /api/status — 全局状态
39
- GET /api/tasks — 任务列表
40
- GET /api/nodes — 节点列表
41
- GET /api/stats — 统计
42
- GET /api/audit-log — 审计日志
43
- GET /health — 健康检查`})]}),(0,b.jsxs)(e,{id:"faq",title:"常见问题",children:[(0,b.jsx)(j,{q:"ChatPanel 发消息没反应?",a:"检查节点是否在线(Overview 页绿色圆点)。MiniMax 节点响应较慢(30-60秒正常)。"}),(0,b.jsx)(j,{q:"Tasks 页为空?",a:"确保通过 ChatPanel 或 MCP send_task 发送过任务。"}),(0,b.jsx)(j,{q:"切换网络后数据为空?",a:"新网络没有 Agent 注册。需要用该网络的 ntok_ 启动 Agent。"}),(0,b.jsx)(j,{q:"侧栏看不到新建的网络?",a:"侧栏每 15s 自动刷新。稍等或手动刷新页面。"}),(0,b.jsx)(j,{q:"Codex 节点报错?",a:"宿主机执行 codex auth login 刷新 token。"})]}),(0,b.jsx)("div",{className:"mt-16 pt-6 border-t border-[#2a2a4a] text-center text-xs text-gray-600",children:"Agent Network Dashboard · Powered by Sleep2AGI"})]})]})}])}];
44
-
45
- //# sourceMappingURL=app_docs_page_tsx_0a3qz3_._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../app/docs/page.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useEffect, useRef } from 'react';\n\nconst TOC = [\n { id: 'overview', label: '概览' },\n { id: 'login', label: '登录与注册' },\n { id: 'dashboard', label: 'Overview 首页' },\n { id: 'chat', label: 'ChatPanel 对话' },\n { id: 'nodes', label: 'Nodes 节点管理' },\n { id: 'tasks', label: 'Tasks 任务流水' },\n { id: 'messages', label: 'Messages 消息' },\n { id: 'networks', label: 'Networks 网络管理' },\n { id: 'admin', label: 'Admin 管理' },\n { id: 'cli', label: 'CLI 命令参考' },\n { id: 'config', label: '配置说明' },\n { id: 'api', label: 'API 参考' },\n { id: 'faq', label: '常见问题' },\n];\n\nexport default function DocsPage() {\n const [active, setActive] = useState('overview');\n const [tocOpen, setTocOpen] = useState(false);\n const [search, setSearch] = useState('');\n\n // Scroll spy\n useEffect(() => {\n const observer = new IntersectionObserver(entries => {\n entries.forEach(e => { if (e.isIntersecting) setActive(e.target.id); });\n }, { rootMargin: '-20% 0px -70% 0px' });\n TOC.forEach(t => { const el = document.getElementById(t.id); if (el) observer.observe(el); });\n return () => observer.disconnect();\n }, []);\n\n const filteredToc = search ? TOC.filter(t => t.label.toLowerCase().includes(search.toLowerCase())) : TOC;\n\n return (\n <div className=\"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex\">\n {/* Left sidebar TOC — desktop */}\n <aside className=\"hidden lg:block w-64 shrink-0 border-r border-[#2a2a4a] bg-[#0d0d1a] sticky top-0 h-screen overflow-y-auto\">\n <div className=\"p-4 border-b border-[#2a2a4a]\">\n <h2 className=\"text-sm font-bold text-white\">文档</h2>\n <p className=\"text-[10px] text-gray-600 mt-0.5\">Agent Network Dashboard</p>\n </div>\n <div className=\"px-3 py-2\">\n <input type=\"text\" value={search} onChange={e => setSearch(e.target.value)} placeholder=\"搜索文档...\"\n className=\"w-full bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-1.5 text-xs text-white placeholder-gray-600 focus:border-cyan-500/40 focus:outline-none\" />\n </div>\n <nav className=\"px-2 pb-4\">\n {filteredToc.map(t => (\n <a key={t.id} href={`#${t.id}`}\n className={`block px-3 py-1.5 rounded-lg text-xs transition-colors ${\n active === t.id ? 'bg-cyan-500/10 text-cyan-300 border-l-2 border-cyan-400' : 'text-gray-500 hover:text-gray-300 hover:bg-[#1a1a2a]'\n }`}>{t.label}</a>\n ))}\n </nav>\n </aside>\n\n {/* Mobile TOC toggle */}\n <button onClick={() => setTocOpen(!tocOpen)}\n className=\"lg:hidden fixed bottom-4 right-4 z-50 w-12 h-12 bg-cyan-600 rounded-full shadow-lg flex items-center justify-center text-white\">\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4 6h16M4 12h16M4 18h7\" />\n </svg>\n </button>\n {tocOpen && (\n <>\n <div className=\"lg:hidden fixed inset-0 bg-black/50 z-40\" onClick={() => setTocOpen(false)} />\n <div className=\"lg:hidden fixed left-0 top-0 h-full w-64 bg-[#0d0d1a] border-r border-[#2a2a4a] z-50 overflow-y-auto p-4\">\n <h2 className=\"text-sm font-bold text-white mb-3\">目录</h2>\n {TOC.map(t => (\n <a key={t.id} href={`#${t.id}`} onClick={() => setTocOpen(false)}\n className={`block px-3 py-2 rounded-lg text-sm ${active === t.id ? 'text-cyan-300 bg-cyan-500/10' : 'text-gray-400'}`}>{t.label}</a>\n ))}\n </div>\n </>\n )}\n\n {/* Content */}\n <main className=\"flex-1 max-w-3xl mx-auto px-4 sm:px-8 py-8 lg:ml-0 ml-10\">\n <h1 className=\"text-3xl font-bold text-white mb-1\">Agent Network Dashboard</h1>\n <p className=\"text-gray-500 text-sm mb-10\">企业级 AI Agent 军团管控平台 · 使用指南</p>\n\n <Section id=\"overview\" title=\"概览\">\n <p>Agent Network 是基于 MCP (Model Context Protocol) 的多智能体协作基础设施。通过 CommHub Server 实现 Agent 间的任务派发、状态同步、消息路由。</p>\n <StepList steps={['查看所有 Agent 节点的实时状态','通过 ChatPanel 直接与任意 Agent 对话','派发任务、查看执行结果','管理网络、成员、权限','查看审计日志和通信记录']} />\n </Section>\n\n <Section id=\"login\" title=\"登录与注册\">\n <p>首次使用需注册账号。第一个注册的用户自动成为 admin。</p>\n <CodeBlock lang=\"bash\">{`# 注册\nUsername: 自定义\nPassword: 至少 6 位\n\n# 登录后自动跳转到 Overview 首页`}</CodeBlock>\n <Callout type=\"warning\">HTTP 环境下 cookie 不带 Secure 标志(已适配 Docker 场景)。</Callout>\n </Section>\n\n <Section id=\"dashboard\" title=\"Overview 首页\">\n <p>首页展示军团全貌:</p>\n <FeatureGrid features={[\n { title: 'Stats 卡片', desc: 'Online / Working / Offline / Total 实时计数' },\n { title: '拓扑图', desc: '节点关系可视化(桌面端)' },\n { title: 'Agent 卡片', desc: 'alias、status、runtime、SSE 状态' },\n { title: 'Chat 按钮', desc: '点击任意卡片发任务' },\n { title: '⚡ Dispatch', desc: '多选 Agent 批量派发' },\n { title: 'Quick Actions', desc: 'Nodes / Tasks / Messages 快速跳转' },\n ]} />\n </Section>\n\n <Section id=\"chat\" title=\"ChatPanel 对话\">\n <p>点击 Agent 卡片上的 <span className=\"text-cyan-400 font-medium\">Chat</span> 按钮打开聊天面板:</p>\n <StepList steps={[\n '输入任务内容 → Cmd+Enter 或点 Send 发送',\n '实时状态追踪:created → delivered → running → replied',\n '回复内容支持 Markdown 渲染(代码块、粗体)',\n '输入 @ 可选择其他节点,跨节点通信',\n 'CommandCenter:多 tab 并行与多个 Agent 对话',\n ]} />\n </Section>\n\n <Section id=\"nodes\" title=\"Nodes 节点管理\">\n <p>查看所有在线节点。支持 <span className=\"text-cyan-400\">Grid</span> / <span className=\"text-cyan-400\">List</span> 视图。</p>\n <p className=\"mt-2\">点击节点进入详情页,三个 Tab:</p>\n <FeatureGrid features={[\n { title: '💬 Chat', desc: '与该节点对话(全宽聊天区域)' },\n { title: '📋 Events', desc: '任务事件时间线(分组、颜色编码)' },\n { title: '📊 Info', desc: 'Runtime / Model / Server / Session ID' },\n ]} />\n </Section>\n\n <Section id=\"tasks\" title=\"Tasks 任务流水\">\n <StepList steps={[\n 'Tab 筛选:All / created / delivered / running / replied / failed',\n '按 From / To 节点过滤',\n '点击展开 TaskDrawer:输入、输出、时长、事件时间线',\n 'Failed 任务一键 Retry',\n ]} />\n </Section>\n\n <Section id=\"messages\" title=\"Messages 消息\">\n <FeatureGrid features={[\n { title: 'Timeline / Grouped', desc: '按时间线或对话对分组' },\n { title: '类型过滤', desc: 'task / message / broadcast / reply' },\n { title: '搜索高亮', desc: '关键词黄色高亮' },\n { title: '导出 MD', desc: '下载 Markdown 格式' },\n ]} />\n </Section>\n\n <Section id=\"networks\" title=\"Networks 网络管理\">\n <p>不同网络的 Agent 互不可见。</p>\n <StepList steps={[\n '创建网络(名称 + 描述)',\n '管理成员(owner / admin / member / viewer)',\n '侧栏点击切换网络',\n '生成邀请码分享',\n ]} />\n </Section>\n\n <Section id=\"admin\" title=\"Admin 管理\">\n <FeatureGrid features={[\n { title: 'Broadcast', desc: '群发消息给所有在线节点' },\n { title: 'DispatchPanel', desc: '多选 Agent 批量派发任务' },\n { title: 'User Register', desc: '注册新用户' },\n { title: 'Stats', desc: '系统统计概览' },\n ]} />\n </Section>\n\n <Section id=\"cli\" title=\"CLI 命令参考\">\n <CodeBlock lang=\"bash\">{`# 安装\nnpm i -g @sleep2agi/agent-network\n\n# 快速开始\nanet quickstart\n\n# 创建 + 启动节点\nanet create my-bot --runtime codex-sdk\nanet start my-bot\n\n# 网络管理\nanet network create my-project\nanet network invite <network-id>\nanet network join <invite-code>\n\n# 状态\nanet whoami\nanet status`}</CodeBlock>\n </Section>\n\n <Section id=\"config\" title=\"配置说明\">\n <p>优先级:CLI 参数 &gt; 环境变量 &gt; 项目 config &gt; 全局 config</p>\n <CodeBlock lang=\"json\">{`// ~/.anet/config.json\n{\n \"hub\": \"http://127.0.0.1:9200\",\n \"token\": \"ntok_xxx\"\n}\n\n// 节点配置 .anet/nodes/<name>/config.json\n{\n \"runtime\": \"codex-sdk\",\n \"model\": \"gpt-5.4\",\n \"tools\": [\"Read\", \"Write\", \"Bash\"]\n}`}</CodeBlock>\n <CodeBlock lang=\"bash\">{`# 环境变量\nCOMMHUB_URL=http://127.0.0.1:9200\nCOMMHUB_TOKEN=ntok_xxx`}</CodeBlock>\n </Section>\n\n <Section id=\"api\" title=\"API 参考\">\n <h3 className=\"text-base font-semibold text-white mt-4 mb-3\">MCP Tools</h3>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-2\">\n {[\n ['report_status', '心跳 + 状态上报'], ['report_completion', '任务完成汇报'],\n ['get_inbox', '拉取待办'], ['ack_inbox', '确认收到'],\n ['send_task', '派发任务'], ['send_message', '发消息'],\n ['send_reply', '回复任务'], ['broadcast', '群发'],\n ['get_all_status', '全局状态'], ['get_session_status', '单节点状态'],\n ['retry_task', '重试任务'], ['cancel_task', '取消任务'],\n ].map(([name, desc]) => (\n <div key={name} className=\"flex items-center gap-3 bg-[#111128] rounded-lg px-3 py-2 border border-[#2a2a4a]\">\n <code className=\"text-cyan-400 text-xs shrink-0\">{name}</code>\n <span className=\"text-gray-500 text-xs\">{desc}</span>\n </div>\n ))}\n </div>\n\n <h3 className=\"text-base font-semibold text-white mt-6 mb-3\">REST API</h3>\n <CodeBlock lang=\"http\">{`POST /api/auth/register — 注册\nPOST /api/auth/login — 登录\nGET /api/auth/me — 当前用户\nGET /api/status — 全局状态\nGET /api/tasks — 任务列表\nGET /api/nodes — 节点列表\nGET /api/stats — 统计\nGET /api/audit-log — 审计日志\nGET /health — 健康检查`}</CodeBlock>\n </Section>\n\n <Section id=\"faq\" title=\"常见问题\">\n <FAQ q=\"ChatPanel 发消息没反应?\" a=\"检查节点是否在线(Overview 页绿色圆点)。MiniMax 节点响应较慢(30-60秒正常)。\" />\n <FAQ q=\"Tasks 页为空?\" a=\"确保通过 ChatPanel 或 MCP send_task 发送过任务。\" />\n <FAQ q=\"切换网络后数据为空?\" a=\"新网络没有 Agent 注册。需要用该网络的 ntok_ 启动 Agent。\" />\n <FAQ q=\"侧栏看不到新建的网络?\" a=\"侧栏每 15s 自动刷新。稍等或手动刷新页面。\" />\n <FAQ q=\"Codex 节点报错?\" a=\"宿主机执行 codex auth login 刷新 token。\" />\n </Section>\n\n {/* Page nav */}\n <div className=\"mt-16 pt-6 border-t border-[#2a2a4a] text-center text-xs text-gray-600\">\n Agent Network Dashboard · Powered by Sleep2AGI\n </div>\n </main>\n </div>\n );\n}\n\nfunction Section({ id, title, children }: { id: string; title: string; children: React.ReactNode }) {\n return (\n <section id={id} className=\"mb-12 scroll-mt-8\">\n <h2 className=\"text-xl font-bold text-white mb-4 pb-2 border-b border-[#2a2a4a]\">{title}</h2>\n <div className=\"text-gray-300 text-sm leading-relaxed space-y-3\">{children}</div>\n </section>\n );\n}\n\nfunction CodeBlock({ children, lang }: { children: string; lang?: string }) {\n const [copied, setCopied] = useState(false);\n const copy = () => {\n navigator.clipboard.writeText(children);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n return (\n <div className=\"mt-3 rounded-xl overflow-hidden border border-[#2a2a4a]\">\n <div className=\"flex items-center justify-between bg-[#0d0d1a] px-4 py-1.5 border-b border-[#2a2a4a]\">\n <span className=\"text-[10px] text-gray-600\">{lang || 'code'}</span>\n <button onClick={copy} className=\"text-[10px] text-gray-500 hover:text-gray-300 transition-colors\">\n {copied ? '✓ Copied' : 'Copy'}\n </button>\n </div>\n <pre className=\"bg-[#050510] px-4 py-3 text-[12px] text-green-300 overflow-x-auto leading-relaxed\">\n <code>{children}</code>\n </pre>\n </div>\n );\n}\n\nfunction StepList({ steps }: { steps: string[] }) {\n return (\n <div className=\"mt-3 space-y-2\">\n {steps.map((step, i) => (\n <div key={i} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <div className=\"w-6 h-6 rounded-full bg-cyan-500/20 border border-cyan-500/30 flex items-center justify-center text-[10px] text-cyan-300 font-bold shrink-0\">{i + 1}</div>\n {i < steps.length - 1 && <div className=\"w-0.5 flex-1 mt-1 bg-[#2a2a4a]\" />}\n </div>\n <div className=\"text-sm text-gray-300 pt-0.5\">{step}</div>\n </div>\n ))}\n </div>\n );\n}\n\nfunction FeatureGrid({ features }: { features: { title: string; desc: string }[] }) {\n return (\n <div className=\"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-2\">\n {features.map(f => (\n <div key={f.title} className=\"bg-[#111128] border border-[#2a2a4a] rounded-xl px-4 py-3\">\n <div className=\"text-sm text-white font-medium\">{f.title}</div>\n <div className=\"text-xs text-gray-500 mt-0.5\">{f.desc}</div>\n </div>\n ))}\n </div>\n );\n}\n\nfunction Callout({ children, type }: { children: React.ReactNode; type: 'info' | 'warning' }) {\n const colors = type === 'warning' ? 'border-yellow-500/20 bg-yellow-500/5 text-yellow-300' : 'border-blue-500/20 bg-blue-500/5 text-blue-300';\n return <div className={`mt-3 px-4 py-2.5 rounded-xl border text-xs ${colors}`}>{type === 'warning' ? '⚠️ ' : 'ℹ️ '}{children}</div>;\n}\n\nfunction FAQ({ q, a }: { q: string; a: string }) {\n const [open, setOpen] = useState(false);\n return (\n <div className=\"mb-2 bg-[#111128] rounded-xl border border-[#2a2a4a] overflow-hidden\">\n <button onClick={() => setOpen(!open)} className=\"w-full flex items-center justify-between px-4 py-3 text-left\">\n <span className=\"text-sm text-cyan-400 font-medium\">{q}</span>\n <svg className={`w-4 h-4 text-gray-600 transition-transform ${open ? 'rotate-180' : ''}`} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n {open && <div className=\"px-4 pb-3 text-sm text-gray-400\">{a}</div>}\n </div>\n );\n}\n"],"names":["TOC","id","label","DocsPage","active","setActive","tocOpen","setTocOpen","search","setSearch","observer","IntersectionObserver","entries","forEach","e","isIntersecting","target","rootMargin","t","el","document","getElementById","observe","disconnect","filteredToc","filter","toLowerCase","includes","className","type","value","onChange","placeholder","map","href","onClick","fill","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","Section","title","StepList","steps","CodeBlock","lang","Callout","FeatureGrid","features","desc","name","FAQ","q","a","children","copied","setCopied","copy","navigator","clipboard","writeText","setTimeout","step","i","length","f","colors","open","setOpen"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- module.exports=[73350,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:["docs",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(57331),"[project]/app/docs/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:"/docs/page",pathname:"/docs",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="/docs/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],32734),a.i(32734),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],73350)}];
3
-
4
- //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-page_0qbvqbo.js.map