wiki-viewer 1.8.4 → 1.9.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 (71) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/index.html +1 -1
  20. package/.next/standalone/.next/server/app/index.rsc +1 -1
  21. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00lep-u._.js +1 -1
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00qu86p._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__036mhjp._.js +2 -2
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05t~v6l._.js +1 -1
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09cqzem._.js +1 -1
  31. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0_601._.js +1 -1
  32. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ae3dk6._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d7x3e1._.js +1 -1
  34. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e7vs98._.js +1 -1
  35. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fxzg4v._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gda_iu._.js +1 -1
  37. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hu~q20._.js +1 -1
  38. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l-8clq._.js +1 -1
  39. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0otb8ra._.js +1 -1
  40. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p0-p__._.js +1 -1
  41. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0piofm3._.js +1 -1
  42. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rrf-jr._.js +1 -1
  43. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s6_lzw._.js +1 -1
  44. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sh13v5._.js +1 -1
  45. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ta~flu._.js +1 -1
  46. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0v4im4p._.js +1 -1
  47. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vatqe-._.js +1 -1
  48. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vdb2nr._.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__123._fe._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1377.79._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1378-ox._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13hp4tw._.js +2 -2
  53. package/.next/standalone/.next/server/edge/chunks/0p91_next_dist_0nh.6nc._.js +2 -2
  54. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  55. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  56. package/.next/standalone/.next/server/pages/404.html +1 -1
  57. package/.next/standalone/.next/server/pages/500.html +1 -1
  58. package/.next/standalone/README.md +4 -3
  59. package/.next/standalone/bin/wiki-viewer.js +6 -3
  60. package/.next/standalone/node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  61. package/.next/standalone/package.json +1 -1
  62. package/.next/standalone/packages/wiki-viewer-mcp/dist/index.js +0 -0
  63. package/.next/standalone/src/lib/auth/admin.ts +8 -0
  64. package/.next/standalone/src/lib/workspace-context.ts +13 -0
  65. package/.next/standalone/src/middleware.ts +5 -0
  66. package/README.md +4 -3
  67. package/bin/wiki-viewer.js +6 -3
  68. package/package.json +16 -10
  69. /package/.next/standalone/.next/static/{o1H_4UveBVPqClSUldzEv → YQHDns_jLqFd_bbnLafs0}/_buildManifest.js +0 -0
  70. /package/.next/standalone/.next/static/{o1H_4UveBVPqClSUldzEv → YQHDns_jLqFd_bbnLafs0}/_clientMiddlewareManifest.js +0 -0
  71. /package/.next/standalone/.next/static/{o1H_4UveBVPqClSUldzEv → YQHDns_jLqFd_bbnLafs0}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/167ph4xws_-61.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ocp.6r7w_saw.js"/><script src="/_next/static/chunks/0quh-cfcrp2ib.js" async=""></script><script src="/_next/static/chunks/06iw_iy5e90d4.js" async=""></script><script src="/_next/static/chunks/turbopack-0lf4~b-ofzbm6.js" async=""></script><script src="/_next/static/chunks/0umlolnxs~j3r.js" async=""></script><script src="/_next/static/chunks/057umwogp53v_.js" async=""></script><script src="/_next/static/chunks/0ky8fha87kp0_.js" async=""></script><script src="/_next/static/chunks/135c~rq_ux73w.js" async=""></script><script src="/_next/static/chunks/125_k3o0s4cid.js" async=""></script><script src="/_next/static/chunks/07mgvytssm8ww.js" async=""></script><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0c0a09"/><title>Wiki Viewer</title><meta name="description" content="Local file browser, viewer, and editor"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Wiki"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon-192.png"/><link rel="apple-touch-icon" href="/icon-192.png"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="inter_5901b7c6-module__ec5Qua__variable font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-screen gap-0 overflow-hidden bg-background"><div class="flex-1 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader-circle h-5 w-5 animate-spin text-muted-foreground" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/0ocp.6r7w_saw.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[427423,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ThemeProvider\"]\n3:I[902063,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\"]\n4:I[259666,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\"]\n5:I[187014,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"Toaster\"]\n6:I[687919,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ClientPageRoot\"]\n7:I[952683,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\",\"/_next/static/chunks/135c~rq_ux73w.js\",\"/_next/static/chunks/125_k3o0s4cid.js\",\"/_next/static/chunks/07mgvytssm8ww.js\"],\"default\"]\na:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ViewportBoundary\"]\nf:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"MetadataBoundary\"]\n11:I[514743,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/167ph4xws_-61.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/167ph4xws_-61.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0umlolnxs~j3r.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/057umwogp53v_.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0ky8fha87kp0_.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{\"theme\":\"system\",\"position\":\"bottom-right\",\"toastOptions\":{\"className\":\"border-border bg-card text-card-foreground\"}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/135c~rq_ux73w.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/125_k3o0s4cid.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/07mgvytssm8ww.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/167ph4xws_-61.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"o1H_4UveBVPqClSUldzEv\"}\n"])</script><script>self.__next_f.push([1,"8:{}\n9:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0c0a09\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[319772,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"IconMark\"]\nc:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"Wiki Viewer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local file browser, viewer, and editor\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Wiki\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"$L12\",\"8\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/167ph4xws_-61.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ocp.6r7w_saw.js"/><script src="/_next/static/chunks/0quh-cfcrp2ib.js" async=""></script><script src="/_next/static/chunks/06iw_iy5e90d4.js" async=""></script><script src="/_next/static/chunks/turbopack-0lf4~b-ofzbm6.js" async=""></script><script src="/_next/static/chunks/0umlolnxs~j3r.js" async=""></script><script src="/_next/static/chunks/057umwogp53v_.js" async=""></script><script src="/_next/static/chunks/0ky8fha87kp0_.js" async=""></script><script src="/_next/static/chunks/135c~rq_ux73w.js" async=""></script><script src="/_next/static/chunks/125_k3o0s4cid.js" async=""></script><script src="/_next/static/chunks/07mgvytssm8ww.js" async=""></script><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0c0a09"/><title>Wiki Viewer</title><meta name="description" content="Local file browser, viewer, and editor"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Wiki"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon-192.png"/><link rel="apple-touch-icon" href="/icon-192.png"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="inter_5901b7c6-module__ec5Qua__variable font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-screen gap-0 overflow-hidden bg-background"><div class="flex-1 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader-circle h-5 w-5 animate-spin text-muted-foreground" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/0ocp.6r7w_saw.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[427423,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ThemeProvider\"]\n3:I[902063,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\"]\n4:I[259666,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\"]\n5:I[187014,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"Toaster\"]\n6:I[687919,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ClientPageRoot\"]\n7:I[952683,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\",\"/_next/static/chunks/135c~rq_ux73w.js\",\"/_next/static/chunks/125_k3o0s4cid.js\",\"/_next/static/chunks/07mgvytssm8ww.js\"],\"default\"]\na:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"ViewportBoundary\"]\nf:I[62711,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"MetadataBoundary\"]\n11:I[514743,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/167ph4xws_-61.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/167ph4xws_-61.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0umlolnxs~j3r.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/057umwogp53v_.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0ky8fha87kp0_.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{\"theme\":\"system\",\"position\":\"bottom-right\",\"toastOptions\":{\"className\":\"border-border bg-card text-card-foreground\"}}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/135c~rq_ux73w.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/125_k3o0s4cid.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/07mgvytssm8ww.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/167ph4xws_-61.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"YQHDns_jLqFd_bbnLafs0\"}\n"])</script><script>self.__next_f.push([1,"8:{}\n9:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0c0a09\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[319772,[\"/_next/static/chunks/0umlolnxs~j3r.js\",\"/_next/static/chunks/057umwogp53v_.js\",\"/_next/static/chunks/0ky8fha87kp0_.js\"],\"IconMark\"]\nc:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"Wiki Viewer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local file browser, viewer, and editor\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Wiki\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"$L12\",\"8\",{}]]\n"])</script></body></html>
@@ -12,7 +12,7 @@ f:I[62711,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwo
12
12
  11:I[514743,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"default",1]
13
13
  :HL["/_next/static/chunks/167ph4xws_-61.css","style"]
14
14
  :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"o1H_4UveBVPqClSUldzEv"}
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"YQHDns_jLqFd_bbnLafs0"}
16
16
  8:{}
17
17
  9:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
18
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0c0a09"}]]
@@ -3,7 +3,7 @@
3
3
  3:I[952683,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js","/_next/static/chunks/135c~rq_ux73w.js","/_next/static/chunks/125_k3o0s4cid.js","/_next/static/chunks/07mgvytssm8ww.js"],"default"]
4
4
  6:I[62711,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"o1H_4UveBVPqClSUldzEv"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"YQHDns_jLqFd_bbnLafs0"}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null
@@ -12,7 +12,7 @@ f:I[62711,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwo
12
12
  11:I[514743,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"default",1]
13
13
  :HL["/_next/static/chunks/167ph4xws_-61.css","style"]
14
14
  :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"o1H_4UveBVPqClSUldzEv"}
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/135c~rq_ux73w.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/125_k3o0s4cid.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/07mgvytssm8ww.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"YQHDns_jLqFd_bbnLafs0"}
16
16
  8:{}
17
17
  9:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
18
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0c0a09"}]]
@@ -3,4 +3,4 @@
3
3
  3:I[62711,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[319772,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0c0a09"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Wiki Viewer"}],["$","meta","1",{"name":"description","content":"Local file browser, viewer, and editor"}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","meta","3",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","4",{"name":"apple-mobile-web-app-title","content":"Wiki"}],["$","meta","5",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","6",{"rel":"icon","href":"/icon-192.png"}],["$","link","7",{"rel":"apple-touch-icon","href":"/icon-192.png"}],["$","$L5","8",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"o1H_4UveBVPqClSUldzEv"}
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0c0a09"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Wiki Viewer"}],["$","meta","1",{"name":"description","content":"Local file browser, viewer, and editor"}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","meta","3",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","4",{"name":"apple-mobile-web-app-title","content":"Wiki"}],["$","meta","5",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","6",{"rel":"icon","href":"/icon-192.png"}],["$","link","7",{"rel":"apple-touch-icon","href":"/icon-192.png"}],["$","$L5","8",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"YQHDns_jLqFd_bbnLafs0"}
@@ -4,4 +4,4 @@
4
4
  4:I[259666,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"default"]
5
5
  5:I[187014,["/_next/static/chunks/0umlolnxs~j3r.js","/_next/static/chunks/057umwogp53v_.js","/_next/static/chunks/0ky8fha87kp0_.js"],"Toaster"]
6
6
  :HL["/_next/static/chunks/167ph4xws_-61.css","style"]
7
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"o1H_4UveBVPqClSUldzEv"}
7
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/167ph4xws_-61.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0umlolnxs~j3r.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/057umwogp53v_.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0ky8fha87kp0_.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"inter_5901b7c6-module__ec5Qua__variable font-sans antialiased","children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L5",null,{"theme":"system","position":"bottom-right","toastOptions":{"className":"border-border bg-card text-card-foreground"}}]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"YQHDns_jLqFd_bbnLafs0"}
@@ -1,3 +1,3 @@
1
1
  :HL["/_next/static/chunks/167ph4xws_-61.css","style"]
2
2
  :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"o1H_4UveBVPqClSUldzEv"}
3
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"YQHDns_jLqFd_bbnLafs0"}
@@ -1,3 +1,3 @@
1
- module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function a(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=s().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(s().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let r=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(r=!0,{...t,adminUserIds:[e]})),r&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){let t=await (0,r.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,a,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),s=e.i(798003);async function n(){return(await (0,s.readConfig)()).workspaces??[]}async function a(e){return(await n()).find(t=>t.id===e)??null}async function i(e){let n=t.default.resolve(e.rootDir),a={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,s.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}function o(e,t){return(0,s.updateConfig)(r=>{let s=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:s}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,s.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let f=!1;async function h(){if(f)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,s.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let a=null;await (0,s.updateConfig)(s=>{let n=s.workspaces??[],i=e(s);if(n.length>0||!i)return s;let o=t.default.resolve(i);return a={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:s.pinnedPaths},{...s,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),f=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,a,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,h,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,r){if(!e)return null;if(!r||"."===r)return e;let s=t.default.resolve(e,r);return s===e||s.startsWith(e+t.default.sep)?s:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let r=globalThis;!r.__wikiRootDir&&process.env.ROOT_DIR&&(r.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){r.__wikiRootDir=void 0},"getRootDir",0,function(){return r.__wikiRootDir??""},"isRootDirSet",0,function(){return!!r.__wikiRootDir},"setRootDir",0,function(e){r.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),r=e.i(254226),s=e.i(583627),n=e.i(504445),a=e.i(359211);async function i(e){await (0,a.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)return await (0,a.getWorkspace)(r)??null;let s=await (0,a.listWorkspaces)();if(0===s.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return s.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,s=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return s!==r?s-r:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){let t=await (0,r.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,s.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await i(e);return l?(0,a.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await i(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let s=e.headers.get("origin"),n=e.headers.get("referer");if(!s&&!n)return null;let a=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let s=new Set;for(let e of t)for(let t of["http","https"])for(let n of r)s.add(`${t}://${e}${n}`);return s}(e.headers.get("host")??"");if(s)return a.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(a.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},345212,e=>{"use strict";var t=e.i(874533),r=e.i(902157),s=e.i(761095),n=e.i(750227);let a=new Map;function i(e,t){return new Promise(r=>{let n=(0,s.createConnection)(e,t);n.setTimeout(800),n.on("connect",()=>{n.destroy(),r(!0)}),n.on("error",()=>{n.destroy(),r(!1)}),n.on("timeout",()=>{n.destroy(),r(!1)})})}async function o(e,t=3e4){let r=Date.now()+t;for(;Date.now()<r;){let[t,r]=await Promise.all([i(e,"127.0.0.1"),i(e,"::1")]);if(t||r)return!0;await new Promise(e=>setTimeout(e,400))}return!1}function l(e){let t=n.default.join(e,"package.json");if(!(0,r.existsSync)(t))return null;try{return JSON.parse((0,r.readFileSync)(t,"utf-8"))}catch{return null}}function u(e,t){return t.start?"start":t.preview&&(0,r.existsSync)(n.default.join(e,"dist"))?"preview":t.dev?"dev":null}async function c(e,i,c){let d=a.get(e);if(d&&"stopped"!==d.status&&"error"!==d.status)return{port:d.port};let p=await new Promise((e,t)=>{let r=(0,s.createServer)();r.listen(0,"127.0.0.1",()=>{let t=r.address(),s="object"==typeof t&&t?t.port:0;r.close(()=>e(s))}),r.on("error",t)}),f=(0,r.existsSync)(n.default.join(i,"pnpm-lock.yaml"))?"pnpm":(0,r.existsSync)(n.default.join(i,"yarn.lock"))?"yarn":"npm",h=function(e,t,r){let s=l(e);if(!s)return null;let n=s.scripts??{},a=Object.keys({...s.dependencies,...s.devDependencies}).some(e=>"vite"===e||e.includes("vite")),i=(e,r=[])=>({bin:t,args:["run",e,...r.length?["--",...r]:[]],isVite:a});if(r&&n[r])return i(r);let o=u(e,n);return o?i(o):s.main?{bin:"node",args:[s.main],isVite:!1}:null}(i,f,c);if(!h)throw Error("No runnable script found in package.json (need start, preview, or dev)");let w={port:p,process:null,status:"installing",logs:[]};a.set(e,w);let g=e=>{w.logs.push(e),w.logs.length>200&&w.logs.shift()};if(!(0,r.existsSync)(n.default.join(i,"node_modules")))try{g(`[wiki-viewer] Running ${f} install…`),await new Promise((e,r)=>{let s=(0,t.spawn)(f,["install"],{cwd:i,stdio:"pipe"});s.on("exit",t=>0===t?e():r(Error(`${f} install failed (exit ${t})`))),s.on("error",r)})}catch(e){return w.status="error",w.error=String(e),{port:p}}w.status="starting",g(`[wiki-viewer] Starting on port ${p}: ${h.bin} ${h.args.join(" ")}`);let m=h.isVite?["--port",String(p)]:[],v=(0,t.spawn)(h.bin,[...h.args,...m],{cwd:i,stdio:"pipe",env:{...process.env,PORT:String(p),VITE_PORT:String(p)}});w.process=v;let R=e=>{for(let t of e.toString().split("\n"))t.trim()&&g(t)};return v.stdout?.on("data",R),v.stderr?.on("data",R),v.on("exit",t=>{let r=a.get(e);r?.process===v&&(r.status=0===t||null===t?"stopped":"error",r.error=t?`Process exited with code ${t}`:void 0)}),o(p).then(t=>{let r=a.get(e);r?.process===v&&(r.status=t?"running":"error",t||(r.error="Port never became reachable (30 s timeout)"))}),{port:p}}e.s(["getScripts",0,function(e){let t=l(e);if(!t)return{scripts:[],defaultScript:null};let r=t.scripts??{};return{scripts:Object.keys(r),defaultScript:u(e,r)}},"getStatus",0,function(e){let t=a.get(e);return t?{status:t.status,port:t.port||void 0,error:t.error,logs:t.logs}:{status:"stopped",logs:[]}},"resolveByPrefix",0,function(e){for(let t=e.length;t>0;t--){let r=e.slice(0,t).join("/"),s=a.get(r);if(s&&"running"===s.status&&s.port){let n="/"+e.slice(t).join("/");return{relPath:r,port:s.port,rest:n}}}return null},"startApp",0,c,"stopApp",0,function(e){let t=a.get(e);if(t?.process){try{t.process.kill("SIGTERM")}catch{}t.status="stopped"}}])},80520,e=>{"use strict";var t=e.i(364564),r=e.i(102095),s=e.i(691091),n=e.i(475331),a=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),w=e.i(844146),g=e.i(193695);e.i(105888);var m=e.i(530564),v=e.i(702414),R=e.i(402662),_=e.i(660038),k=e.i(359211),y=e.i(345212);async function A(e){let t=await (0,_.resolveWorkspaceForUser)(e);if(!t.ok)return v.NextResponse.json({error:t.code},{status:t.status});let{searchParams:r}=new URL(e.url),s=r.get("path")??"",n=(0,y.getStatus)(s),a=(0,k.safeWorkspacePath)(t.rootDir,s),i=a?(0,y.getScripts)(a):{scripts:[],defaultScript:null};return v.NextResponse.json({...n,...i})}async function S(e){let t=(0,R.checkOrigin)(e);if(t)return t;let r=await (0,_.resolveWorkspaceForUser)(e);if(!r.ok)return v.NextResponse.json({error:r.code},{status:r.status});let{rootDir:s}=r,n=await e.json(),a=n.path;if(!a||"string"!=typeof a)return v.NextResponse.json({error:"Missing path"},{status:400});let i=(0,k.safeWorkspacePath)(s,a);if(!i)return v.NextResponse.json({error:"Invalid path"},{status:400});try{let e=await (0,y.startApp)(a,i,n.script);return v.NextResponse.json(e)}catch(e){return v.NextResponse.json({error:String(e)},{status:500})}}async function O(e){let t=(0,R.checkOrigin)(e);if(t)return t;let r=await (0,_.resolveWorkspaceForUser)(e);if(!r.ok)return v.NextResponse.json({error:r.code},{status:r.status});let s=(await e.json()).path;return s&&"string"==typeof s?((0,y.stopApp)(s),v.NextResponse.json({ok:!0})):v.NextResponse.json({error:"Missing path"},{status:400})}e.s(["DELETE",0,O,"GET",0,A,"POST",0,S],41743);var E=e.i(41743);let D=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/app/route",pathname:"/api/wiki/app",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/app/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:x,serverHooks:C}=D;async function P(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),D.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wiki/app/route";v=v.replace(/\/index$/,"")||"/";let R=await D.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:_,params:k,nextConfig:y,parsedUrl:A,isDraftMode:S,prerenderManifest:O,routerServerContext:E,isOnDemandRevalidate:I,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:P,serverActionsManifest:N}=R,T=(0,o.normalizeAppPath)(v),U=!!(O.dynamicRoutes[T]||O.routes[C]),j=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!S){let e=!!O.routes[C],t=O.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new g.NoFallbackError}}let b=null;!U||D.isDev||S||(b="/index"===(b=C)?"/":b);let W=!0===D.isDev||!U,q=U&&!W;N&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:N});let M=e.method||"GET",$=(0,a.getTracer)(),B=$.getActiveScopeSpan(),H=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await D.getIncrementalCache(e,y,O,F);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:k,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:W,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>D.onRequestError(e,t,s,n,E)},sharedContext:{buildId:_}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>D.handle(G,L).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")!==c.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 s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async n=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&I&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,V,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,s=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await D.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:I})},!1,E),t}},u=await D.handleResponse({req:e,nextConfig:y,cacheKey:b,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:F});if(!U)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.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});F||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&U||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};H&&B?await o(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof g.NoFallbackError||await D.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:I})},!1,E),U)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:x})},"routeModule",0,D,"serverHooks",0,C,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,x],80520)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function a(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=s().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(s().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let r=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(r=!0,{...t,adminUserIds:[e]})),r&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,a,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),s=e.i(798003);async function n(){return(await (0,s.readConfig)()).workspaces??[]}async function a(e){return(await n()).find(t=>t.id===e)??null}async function i(e){let n=t.default.resolve(e.rootDir),a={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,s.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}function o(e,t){return(0,s.updateConfig)(r=>{let s=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:s}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,s.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let f=!1;async function h(){if(f)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,s.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let a=null;await (0,s.updateConfig)(s=>{let n=s.workspaces??[],i=e(s);if(n.length>0||!i)return s;let o=t.default.resolve(i);return a={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:s.pinnedPaths},{...s,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),f=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,a,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,h,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,r){if(!e)return null;if(!r||"."===r)return e;let s=t.default.resolve(e,r);return s===e||s.startsWith(e+t.default.sep)?s:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let r=globalThis;!r.__wikiRootDir&&process.env.ROOT_DIR&&(r.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){r.__wikiRootDir=void 0},"getRootDir",0,function(){return r.__wikiRootDir??""},"isRootDirSet",0,function(){return!!r.__wikiRootDir},"setRootDir",0,function(e){r.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),r=e.i(254226),s=e.i(583627),n=e.i(504445),a=e.i(359211);async function i(e){await (0,a.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)return await (0,a.getWorkspace)(r)??null;let s=await (0,a.listWorkspaces)();if(0===s.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return s.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,s=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return s!==r?s-r:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){if("1"===process.env.WIKI_NO_AUTH){let t=await i(e);return t?{ok:!0,ws:t,rootDir:t.rootDir,userId:"local",isAdmin:!0}:{ok:!1,status:400,code:"WORKSPACE_REQUIRED"}}let t=await (0,r.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,s.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await i(e);return l?(0,a.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await i(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let s=e.headers.get("origin"),n=e.headers.get("referer");if(!s&&!n)return null;let a=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let s=new Set;for(let e of t)for(let t of["http","https"])for(let n of r)s.add(`${t}://${e}${n}`);return s}(e.headers.get("host")??"");if(s)return a.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(a.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},345212,e=>{"use strict";var t=e.i(874533),r=e.i(902157),s=e.i(761095),n=e.i(750227);let a=new Map;function i(e,t){return new Promise(r=>{let n=(0,s.createConnection)(e,t);n.setTimeout(800),n.on("connect",()=>{n.destroy(),r(!0)}),n.on("error",()=>{n.destroy(),r(!1)}),n.on("timeout",()=>{n.destroy(),r(!1)})})}async function o(e,t=3e4){let r=Date.now()+t;for(;Date.now()<r;){let[t,r]=await Promise.all([i(e,"127.0.0.1"),i(e,"::1")]);if(t||r)return!0;await new Promise(e=>setTimeout(e,400))}return!1}function l(e){let t=n.default.join(e,"package.json");if(!(0,r.existsSync)(t))return null;try{return JSON.parse((0,r.readFileSync)(t,"utf-8"))}catch{return null}}function u(e,t){return t.start?"start":t.preview&&(0,r.existsSync)(n.default.join(e,"dist"))?"preview":t.dev?"dev":null}async function c(e,i,c){let d=a.get(e);if(d&&"stopped"!==d.status&&"error"!==d.status)return{port:d.port};let p=await new Promise((e,t)=>{let r=(0,s.createServer)();r.listen(0,"127.0.0.1",()=>{let t=r.address(),s="object"==typeof t&&t?t.port:0;r.close(()=>e(s))}),r.on("error",t)}),f=(0,r.existsSync)(n.default.join(i,"pnpm-lock.yaml"))?"pnpm":(0,r.existsSync)(n.default.join(i,"yarn.lock"))?"yarn":"npm",h=function(e,t,r){let s=l(e);if(!s)return null;let n=s.scripts??{},a=Object.keys({...s.dependencies,...s.devDependencies}).some(e=>"vite"===e||e.includes("vite")),i=(e,r=[])=>({bin:t,args:["run",e,...r.length?["--",...r]:[]],isVite:a});if(r&&n[r])return i(r);let o=u(e,n);return o?i(o):s.main?{bin:"node",args:[s.main],isVite:!1}:null}(i,f,c);if(!h)throw Error("No runnable script found in package.json (need start, preview, or dev)");let w={port:p,process:null,status:"installing",logs:[]};a.set(e,w);let g=e=>{w.logs.push(e),w.logs.length>200&&w.logs.shift()};if(!(0,r.existsSync)(n.default.join(i,"node_modules")))try{g(`[wiki-viewer] Running ${f} install…`),await new Promise((e,r)=>{let s=(0,t.spawn)(f,["install"],{cwd:i,stdio:"pipe"});s.on("exit",t=>0===t?e():r(Error(`${f} install failed (exit ${t})`))),s.on("error",r)})}catch(e){return w.status="error",w.error=String(e),{port:p}}w.status="starting",g(`[wiki-viewer] Starting on port ${p}: ${h.bin} ${h.args.join(" ")}`);let m=h.isVite?["--port",String(p)]:[],v=(0,t.spawn)(h.bin,[...h.args,...m],{cwd:i,stdio:"pipe",env:{...process.env,PORT:String(p),VITE_PORT:String(p)}});w.process=v;let R=e=>{for(let t of e.toString().split("\n"))t.trim()&&g(t)};return v.stdout?.on("data",R),v.stderr?.on("data",R),v.on("exit",t=>{let r=a.get(e);r?.process===v&&(r.status=0===t||null===t?"stopped":"error",r.error=t?`Process exited with code ${t}`:void 0)}),o(p).then(t=>{let r=a.get(e);r?.process===v&&(r.status=t?"running":"error",t||(r.error="Port never became reachable (30 s timeout)"))}),{port:p}}e.s(["getScripts",0,function(e){let t=l(e);if(!t)return{scripts:[],defaultScript:null};let r=t.scripts??{};return{scripts:Object.keys(r),defaultScript:u(e,r)}},"getStatus",0,function(e){let t=a.get(e);return t?{status:t.status,port:t.port||void 0,error:t.error,logs:t.logs}:{status:"stopped",logs:[]}},"resolveByPrefix",0,function(e){for(let t=e.length;t>0;t--){let r=e.slice(0,t).join("/"),s=a.get(r);if(s&&"running"===s.status&&s.port){let n="/"+e.slice(t).join("/");return{relPath:r,port:s.port,rest:n}}}return null},"startApp",0,c,"stopApp",0,function(e){let t=a.get(e);if(t?.process){try{t.process.kill("SIGTERM")}catch{}t.status="stopped"}}])},80520,e=>{"use strict";var t=e.i(364564),r=e.i(102095),s=e.i(691091),n=e.i(475331),a=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),w=e.i(844146),g=e.i(193695);e.i(105888);var m=e.i(530564),v=e.i(702414),R=e.i(402662),_=e.i(660038),k=e.i(359211),y=e.i(345212);async function A(e){let t=await (0,_.resolveWorkspaceForUser)(e);if(!t.ok)return v.NextResponse.json({error:t.code},{status:t.status});let{searchParams:r}=new URL(e.url),s=r.get("path")??"",n=(0,y.getStatus)(s),a=(0,k.safeWorkspacePath)(t.rootDir,s),i=a?(0,y.getScripts)(a):{scripts:[],defaultScript:null};return v.NextResponse.json({...n,...i})}async function O(e){let t=(0,R.checkOrigin)(e);if(t)return t;let r=await (0,_.resolveWorkspaceForUser)(e);if(!r.ok)return v.NextResponse.json({error:r.code},{status:r.status});let{rootDir:s}=r,n=await e.json(),a=n.path;if(!a||"string"!=typeof a)return v.NextResponse.json({error:"Missing path"},{status:400});let i=(0,k.safeWorkspacePath)(s,a);if(!i)return v.NextResponse.json({error:"Invalid path"},{status:400});try{let e=await (0,y.startApp)(a,i,n.script);return v.NextResponse.json(e)}catch(e){return v.NextResponse.json({error:String(e)},{status:500})}}async function S(e){let t=(0,R.checkOrigin)(e);if(t)return t;let r=await (0,_.resolveWorkspaceForUser)(e);if(!r.ok)return v.NextResponse.json({error:r.code},{status:r.status});let s=(await e.json()).path;return s&&"string"==typeof s?((0,y.stopApp)(s),v.NextResponse.json({ok:!0})):v.NextResponse.json({error:"Missing path"},{status:400})}e.s(["DELETE",0,S,"GET",0,A,"POST",0,O],41743);var E=e.i(41743);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/app/route",pathname:"/api/wiki/app",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/app/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:x,serverHooks:C}=I;async function P(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wiki/app/route";v=v.replace(/\/index$/,"")||"/";let R=await I.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:_,params:k,nextConfig:y,parsedUrl:A,isDraftMode:O,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:D,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:P,serverActionsManifest:N}=R,T=(0,o.normalizeAppPath)(v),U=!!(S.dynamicRoutes[T]||S.routes[C]),j=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!O){let e=!!S.routes[C],t=S.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new g.NoFallbackError}}let b=null;!U||I.isDev||O||(b="/index"===(b=C)?"/":b);let W=!0===I.isDev||!U,q=U&&!W;N&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:N});let M=e.method||"GET",$=(0,a.getTracer)(),H=$.getActiveScopeSpan(),B=!!(null==E?void 0:E.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,y,S,K);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let L={params:k,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:W,incrementalCache:F,cacheLifeProfiles:y.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>I.onRequestError(e,t,s,n,E)},sharedContext:{buildId:_}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>I.handle(G,L).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")!==c.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 s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async n=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&D&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,V,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,s=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),t}},u=await I.handleResponse({req:e,nextConfig:y,cacheKey:b,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:K});if(!U)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.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",D?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&U||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&H?await o(H):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof g.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),U)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:x})},"routeModule",0,I,"serverHooks",0,C,"workAsyncStorage",0,D,"workUnitAsyncStorage",0,x],80520)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__00lep-u._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[583627,e=>{"use strict";var t=e.i(798003),a=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,a){if(a){let e=r();if(e.length>0&&e.includes(a.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function i(){return(await (0,t.readConfig)()).adminUserIds??[]}async function s(e){await (0,t.updateConfig)(t=>{let a=t.adminUserIds??[];return a.includes(e)?t:{...t,adminUserIds:[...a,e]}})}async function o(e){let a=r().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||a?{...t,adminUserIds:r}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let a=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(a=!0,{...t,adminUserIds:[e]})),a&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){let t=await (0,a.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,s,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,i,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),a=e.i(666680),r=e.i(798003);async function n(){return(await (0,r.readConfig)()).workspaces??[]}async function i(e){return(await n()).find(t=>t.id===e)??null}async function s(e){let n=t.default.resolve(e.rootDir),i={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,r.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],i]})),i}function o(e,t){return(0,r.updateConfig)(a=>{let r=(a.workspaces??[]).map(a=>a.id===e?t(a):a);return{...a,workspaces:r}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,r.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:a}=await e.A(754121);await a(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let f=!1;async function h(){if(f)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,r.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let i=null;await (0,r.updateConfig)(r=>{let n=r.workspaces??[],s=e(r);if(n.length>0||!s)return r;let o=t.default.resolve(s);return i={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:r.pinnedPaths},{...r,workspaces:[i]}}),i&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${i.name}" (${i.id})`),f=!0}e.s(["createWorkspace",0,s,"getWorkspace",0,i,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,h,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,a){if(!e)return null;if(!a||"."===a)return e;let r=t.default.resolve(e,a);return r===e||r.startsWith(e+t.default.sep)?r:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,a){return!!a||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let a=globalThis;!a.__wikiRootDir&&process.env.ROOT_DIR&&(a.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){a.__wikiRootDir=void 0},"getRootDir",0,function(){return a.__wikiRootDir??""},"isRootDirSet",0,function(){return!!a.__wikiRootDir},"setRootDir",0,function(e){a.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),a=e.i(254226),r=e.i(583627),n=e.i(504445),i=e.i(359211);async function s(e){await (0,i.migrateConfigToWorkspaces)();let a=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(a)return await (0,i.getWorkspace)(a)??null;let r=await (0,i.listWorkspaces)();if(0===r.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return r.slice().sort((e,t)=>{let a=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==a?r-a:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){let t=await (0,a.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,r.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await s(e);return l?(0,i.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await s(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(660526),n=e.i(750227),i=e.i(832852);let s="__registry__",o=new Map;function l(){let e=process.env.HOME??r.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function f(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let a=await d();if(!a)return null;let r=c(e);for(let e of a.agents)if(function(e,a){let r=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(a.padEnd(64,"0"),"utf8");return r.length===n.length&&(0,t.timingSafeEqual)(r,n)&&e.length===a.length}(e.tokenHash,r))return e;return null}async function g(e){await (0,i.withFileMutex)(s,async()=>{let t=await f(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function m(e){return(0,i.withFileMutex)(s,async()=>{let t=await d();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,i.withFileMutex)(s,async()=>{let t=await d();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,m,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var r=e.i(254226);async function n(e){let a=await (0,r.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",i=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let s=await (0,t.lookupAgentByToken)(i);if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==s.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(s.id),{ok:!0,agent:s}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:r}=e;return void 0!==r.workspaceId&&void 0!==t.workspaceId&&r.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${r.workspaceId}")`}:r.ops.includes(t.op)?t.filePath&&!r.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function i(e,t){if(!e)return null;let i=r.default.normalize(t);if(i.startsWith("..")||r.default.isAbsolute(i)||n(i))return null;let s=r.default.join(e,i);if(s!==e&&!s.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(s);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(s);if(t!==s)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return s}let s={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",i=await (0,a.open)(n,"w",r);try{await i.write(t),await i.datasync()}finally{await i.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return s[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,i,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},81111,(e,t,a)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,a)=>{t.exports=e.x("node:events",()=>require("node:events"))},275859,e=>{"use strict";var t=e.i(912714),a=e.i(750227);async function r(e,r){try{let n=a.default.join(e,r,"package.json");return(await (0,t.stat)(n)).isFile()}catch{return!1}}async function n(e,r){try{let n=a.default.join(e,r,"index.html");return(await (0,t.stat)(n)).isFile()}catch{return!1}}e.s(["isAppFolder",0,n,"isNodeApp",0,r])},308900,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),i=e.i(490301),s=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),g=e.i(844146),m=e.i(193695);e.i(105888);var w=e.i(530564),y=e.i(912714),k=e.i(437856),v=e.i(750227),R=e.i(702414),A=e.i(215043),_=e.i(660038),x=e.i(359211),I=e.i(719126),D=e.i(552350);function E(e,t,a){return R.NextResponse.json({error:e,message:t},{status:a})}let O=new Set([".proof",".git","node_modules",".next"]);async function*N(e,t){let a;try{a=await (0,y.readdir)(v.default.join(e,t),{withFileTypes:!0})}catch{return}for(let r of a){if(O.has(r.name))continue;let a=t?`${t}/${r.name}`:r.name;r.isDirectory()?yield*N(e,a):(r.isFile()||r.isSymbolicLink())&&(yield a)}}async function S(e,t,a,r,n,i,s){let o;try{o=RegExp(a,"d")}catch{try{o=new RegExp(a)}catch{throw Error("Invalid regex pattern")}}let l=[],u=0;for await(let a of N(e,t)){let t;if(l.length>=r||Date.now()>i)return{matches:l,truncated:!0};if(!(0,A.enforceScope)(n,{filePath:a,op:"read",workspaceId:s}).ok)continue;try{t=await (0,y.readFile)(v.default.join(e,a))}catch{continue}if((u+=t.length)>0x3200000)return{matches:l,truncated:!0};if((0,I.looksLikeBinary)(t))continue;let c=t.toString("utf-8").split("\n");for(let e=0;e<c.length;e++){if(l.length>=r)return{matches:l,truncated:!0};let t=c[e];o.lastIndex=0;let n=o.exec(t);n&&l.push({path:a,line:e+1,col:(n.index??0)+1,text:t})}}return{matches:l,truncated:!1}}async function P(e,t,a,r,n,i,s){let o=[];for await(let l of N(e,t)){if(o.length>=r||Date.now()>i)return{matches:o,truncated:!0};let e=v.default.basename(l);((0,D.matchGlob)(a,l)||(0,D.matchGlob)(a,e))&&(0,A.enforceScope)(n,{filePath:l,op:"read",workspaceId:s}).ok&&o.push({path:l})}return{matches:o,truncated:!1}}async function C(e){let t,a,r=await (0,A.checkAuth)(e);if(!r.ok)return E("UNAUTHORIZED",r.message??"Unauthorized",401);try{t=await e.json()}catch{return E("INVALID_PAYLOAD","Invalid JSON body",400)}if("grep"!==t.kind&&"glob"!==t.kind&&"fts"!==t.kind)return E("INVALID_PAYLOAD",'kind must be "grep", "glob", or "fts"',400);if("string"!=typeof t.query||"fts"!==t.kind&&!t.query)return E("INVALID_PAYLOAD","query (string) required",400);let n=t.kind,i=t.query,s="string"==typeof t.path?t.path:"",o=Math.min("number"==typeof t.limit?t.limit:200,2e3),l=await (0,_.resolveWorkspaceForAgent)(e);if(!l.ok)return E(l.code,l.code,l.status);let{ws:u,rootDir:c}=l;if(s){if(!(0,x.safeWorkspacePath)(c,s))return E("INVALID_PATH","path: traversal rejected",400);if(!await (0,I.safeAbsPath)(c,s))return E("INVALID_PATH","path: rejected (symlink escape or denied)",400)}if(s)try{if(!(await (0,y.stat)(v.default.join(c,s))).isDirectory())return E("NOT_A_DIRECTORY","path must be a directory",400)}catch(e){if("ENOENT"===e.code)return E("NOT_FOUND","Start path not found",404);throw e}if("fts"===n){let e=(0,A.enforceScope)(r.agent,{op:"read",workspaceId:u.id});if(!e.ok)return E("FORBIDDEN",e.message??"Forbidden",403);(0,k.ensureIndexer)(u.id,c).catch(e=>console.error("[search] ensureIndexer failed",e));let t=s?`${s.replace(/\/+$/,"")}/`:"",a=(0,k.ftsSearch)(u.id,i,Math.min(4*o,2e3)),l=a.matches.filter(e=>(!t||!!e.path.startsWith(t))&&(0,A.enforceScope)(r.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok),d=l.slice(0,o).map(e=>({path:e.path,score:e.score,snippet:e.snippet})),p=a.truncated||l.length>o;return R.NextResponse.json({kind:n,query:i,matches:d,truncated:p})}let d=Date.now()+1e4;try{a="grep"===n?await S(c,s,i,o,r.agent,d,u.id):await P(c,s,i,o,r.agent,d,u.id)}catch(e){return E("SEARCH_ERROR",e.message,400)}return R.NextResponse.json({kind:n,query:i,matches:a.matches,truncated:a.truncated})}e.s(["POST",0,C,"runtime",0,"nodejs"],128310);var T=e.i(128310);let U=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/fs/search/route",pathname:"/api/agent/fs/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/fs/search/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:q}=U;async function W(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),U.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/agent/fs/search/route";y=y.replace(/\/index$/,"")||"/";let k=await U.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:A,parsedUrl:_,isDraftMode:x,prerenderManifest:I,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,resolvedPathname:N,clientReferenceManifest:S,serverActionsManifest:P}=k,C=(0,o.normalizeAppPath)(y),T=!!(I.dynamicRoutes[C]||I.routes[N]),b=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,_,!1):t.end("This page could not be found"),null);if(T&&!x){let e=!!I.routes[N],t=I.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await b();throw new m.NoFallbackError}}let j=null;!T||U.isDev||x||(j="/index"===(j=N)?"/":j);let q=!0===U.isDev||!T,W=T&&!q;P&&S&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:S,serverActionsManifest:P});let F=e.method||"GET",B=(0,i.getTracer)(),H=B.getActiveScopeSpan(),M=!!(null==D?void 0:D.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await U.getIncrementalCache(e,A,I,L);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let K={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:$,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>U.onRequestError(e,t,r,n,D)},sharedContext:{buildId:v}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>U.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${F} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!L&&E&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(z,G,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:E})},!1,D),t}},u=await U.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!T)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.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});L||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&T||c.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};M&&H?await o(H):(n=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof m.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:E})},!1,D),T)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,W,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})},"routeModule",0,U,"serverHooks",0,q,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,j],308900)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(e=>Promise.resolve().then(()=>e(437856)))}];
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),a=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,a){if(a){let e=r();if(e.length>0&&e.includes(a.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function i(){return(await (0,t.readConfig)()).adminUserIds??[]}async function s(e){await (0,t.updateConfig)(t=>{let a=t.adminUserIds??[];return a.includes(e)?t:{...t,adminUserIds:[...a,e]}})}async function o(e){let a=r().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||a?{...t,adminUserIds:r}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let a=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(a=!0,{...t,adminUserIds:[e]})),a&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,a.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,s,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,i,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),a=e.i(666680),r=e.i(798003);async function n(){return(await (0,r.readConfig)()).workspaces??[]}async function i(e){return(await n()).find(t=>t.id===e)??null}async function s(e){let n=t.default.resolve(e.rootDir),i={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,r.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],i]})),i}function o(e,t){return(0,r.updateConfig)(a=>{let r=(a.workspaces??[]).map(a=>a.id===e?t(a):a);return{...a,workspaces:r}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,r.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:a}=await e.A(754121);await a(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let f=!1;async function h(){if(f)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,r.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let i=null;await (0,r.updateConfig)(r=>{let n=r.workspaces??[],s=e(r);if(n.length>0||!s)return r;let o=t.default.resolve(s);return i={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:r.pinnedPaths},{...r,workspaces:[i]}}),i&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${i.name}" (${i.id})`),f=!0}e.s(["createWorkspace",0,s,"getWorkspace",0,i,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,h,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,a){if(!e)return null;if(!a||"."===a)return e;let r=t.default.resolve(e,a);return r===e||r.startsWith(e+t.default.sep)?r:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,a){return!!a||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let a=globalThis;!a.__wikiRootDir&&process.env.ROOT_DIR&&(a.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){a.__wikiRootDir=void 0},"getRootDir",0,function(){return a.__wikiRootDir??""},"isRootDirSet",0,function(){return!!a.__wikiRootDir},"setRootDir",0,function(e){a.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),a=e.i(254226),r=e.i(583627),n=e.i(504445),i=e.i(359211);async function s(e){await (0,i.migrateConfigToWorkspaces)();let a=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(a)return await (0,i.getWorkspace)(a)??null;let r=await (0,i.listWorkspaces)();if(0===r.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return r.slice().sort((e,t)=>{let a=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==a?r-a:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){if("1"===process.env.WIKI_NO_AUTH){let t=await s(e);return t?{ok:!0,ws:t,rootDir:t.rootDir,userId:"local",isAdmin:!0}:{ok:!1,status:400,code:"WORKSPACE_REQUIRED"}}let t=await (0,a.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,r.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await s(e);return l?(0,i.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await s(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(660526),n=e.i(750227),i=e.i(832852);let s="__registry__",o=new Map;function l(){let e=process.env.HOME??r.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function f(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let a=await d();if(!a)return null;let r=c(e);for(let e of a.agents)if(function(e,a){let r=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(a.padEnd(64,"0"),"utf8");return r.length===n.length&&(0,t.timingSafeEqual)(r,n)&&e.length===a.length}(e.tokenHash,r))return e;return null}async function g(e){await (0,i.withFileMutex)(s,async()=>{let t=await f(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function m(e){return(0,i.withFileMutex)(s,async()=>{let t=await d();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,i.withFileMutex)(s,async()=>{let t=await d();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,m,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var r=e.i(254226);async function n(e){let a=await (0,r.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",i=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let s=await (0,t.lookupAgentByToken)(i);if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==s.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(s.id),{ok:!0,agent:s}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:r}=e;return void 0!==r.workspaceId&&void 0!==t.workspaceId&&r.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${r.workspaceId}")`}:r.ops.includes(t.op)?t.filePath&&!r.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function i(e,t){if(!e)return null;let i=r.default.normalize(t);if(i.startsWith("..")||r.default.isAbsolute(i)||n(i))return null;let s=r.default.join(e,i);if(s!==e&&!s.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(s);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(s);if(t!==s)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return s}let s={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",i=await (0,a.open)(n,"w",r);try{await i.write(t),await i.datasync()}finally{await i.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return s[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,i,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},81111,(e,t,a)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,a)=>{t.exports=e.x("node:events",()=>require("node:events"))},275859,e=>{"use strict";var t=e.i(912714),a=e.i(750227);async function r(e,r){try{let n=a.default.join(e,r,"package.json");return(await (0,t.stat)(n)).isFile()}catch{return!1}}async function n(e,r){try{let n=a.default.join(e,r,"index.html");return(await (0,t.stat)(n)).isFile()}catch{return!1}}e.s(["isAppFolder",0,n,"isNodeApp",0,r])},308900,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),i=e.i(490301),s=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),g=e.i(844146),m=e.i(193695);e.i(105888);var w=e.i(530564),k=e.i(912714),y=e.i(437856),v=e.i(750227),R=e.i(702414),A=e.i(215043),_=e.i(660038),x=e.i(359211),I=e.i(719126),D=e.i(552350);function E(e,t,a){return R.NextResponse.json({error:e,message:t},{status:a})}let O=new Set([".proof",".git","node_modules",".next"]);async function*N(e,t){let a;try{a=await (0,k.readdir)(v.default.join(e,t),{withFileTypes:!0})}catch{return}for(let r of a){if(O.has(r.name))continue;let a=t?`${t}/${r.name}`:r.name;r.isDirectory()?yield*N(e,a):(r.isFile()||r.isSymbolicLink())&&(yield a)}}async function S(e,t,a,r,n,i,s){let o;try{o=RegExp(a,"d")}catch{try{o=new RegExp(a)}catch{throw Error("Invalid regex pattern")}}let l=[],u=0;for await(let a of N(e,t)){let t;if(l.length>=r||Date.now()>i)return{matches:l,truncated:!0};if(!(0,A.enforceScope)(n,{filePath:a,op:"read",workspaceId:s}).ok)continue;try{t=await (0,k.readFile)(v.default.join(e,a))}catch{continue}if((u+=t.length)>0x3200000)return{matches:l,truncated:!0};if((0,I.looksLikeBinary)(t))continue;let c=t.toString("utf-8").split("\n");for(let e=0;e<c.length;e++){if(l.length>=r)return{matches:l,truncated:!0};let t=c[e];o.lastIndex=0;let n=o.exec(t);n&&l.push({path:a,line:e+1,col:(n.index??0)+1,text:t})}}return{matches:l,truncated:!1}}async function P(e,t,a,r,n,i,s){let o=[];for await(let l of N(e,t)){if(o.length>=r||Date.now()>i)return{matches:o,truncated:!0};let e=v.default.basename(l);((0,D.matchGlob)(a,l)||(0,D.matchGlob)(a,e))&&(0,A.enforceScope)(n,{filePath:l,op:"read",workspaceId:s}).ok&&o.push({path:l})}return{matches:o,truncated:!1}}async function C(e){let t,a,r=await (0,A.checkAuth)(e);if(!r.ok)return E("UNAUTHORIZED",r.message??"Unauthorized",401);try{t=await e.json()}catch{return E("INVALID_PAYLOAD","Invalid JSON body",400)}if("grep"!==t.kind&&"glob"!==t.kind&&"fts"!==t.kind)return E("INVALID_PAYLOAD",'kind must be "grep", "glob", or "fts"',400);if("string"!=typeof t.query||"fts"!==t.kind&&!t.query)return E("INVALID_PAYLOAD","query (string) required",400);let n=t.kind,i=t.query,s="string"==typeof t.path?t.path:"",o=Math.min("number"==typeof t.limit?t.limit:200,2e3),l=await (0,_.resolveWorkspaceForAgent)(e);if(!l.ok)return E(l.code,l.code,l.status);let{ws:u,rootDir:c}=l;if(s){if(!(0,x.safeWorkspacePath)(c,s))return E("INVALID_PATH","path: traversal rejected",400);if(!await (0,I.safeAbsPath)(c,s))return E("INVALID_PATH","path: rejected (symlink escape or denied)",400)}if(s)try{if(!(await (0,k.stat)(v.default.join(c,s))).isDirectory())return E("NOT_A_DIRECTORY","path must be a directory",400)}catch(e){if("ENOENT"===e.code)return E("NOT_FOUND","Start path not found",404);throw e}if("fts"===n){let e=(0,A.enforceScope)(r.agent,{op:"read",workspaceId:u.id});if(!e.ok)return E("FORBIDDEN",e.message??"Forbidden",403);(0,y.ensureIndexer)(u.id,c).catch(e=>console.error("[search] ensureIndexer failed",e));let t=s?`${s.replace(/\/+$/,"")}/`:"",a=(0,y.ftsSearch)(u.id,i,Math.min(4*o,2e3)),l=a.matches.filter(e=>(!t||!!e.path.startsWith(t))&&(0,A.enforceScope)(r.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok),d=l.slice(0,o).map(e=>({path:e.path,score:e.score,snippet:e.snippet})),p=a.truncated||l.length>o;return R.NextResponse.json({kind:n,query:i,matches:d,truncated:p})}let d=Date.now()+1e4;try{a="grep"===n?await S(c,s,i,o,r.agent,d,u.id):await P(c,s,i,o,r.agent,d,u.id)}catch(e){return E("SEARCH_ERROR",e.message,400)}return R.NextResponse.json({kind:n,query:i,matches:a.matches,truncated:a.truncated})}e.s(["POST",0,C,"runtime",0,"nodejs"],128310);var T=e.i(128310);let U=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/fs/search/route",pathname:"/api/agent/fs/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/fs/search/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:q}=U;async function W(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),U.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let k="/api/agent/fs/search/route";k=k.replace(/\/index$/,"")||"/";let y=await U.prepare(e,t,{srcPage:k,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:A,parsedUrl:_,isDraftMode:x,prerenderManifest:I,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,resolvedPathname:N,clientReferenceManifest:S,serverActionsManifest:P}=y,C=(0,o.normalizeAppPath)(k),T=!!(I.dynamicRoutes[C]||I.routes[N]),b=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,_,!1):t.end("This page could not be found"),null);if(T&&!x){let e=!!I.routes[N],t=I.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await b();throw new m.NoFallbackError}}let j=null;!T||U.isDev||x||(j="/index"===(j=N)?"/":j);let q=!0===U.isDev||!T,W=T&&!q;P&&S&&(0,s.setManifestsSingleton)({page:k,clientReferenceManifest:S,serverActionsManifest:P});let H=e.method||"GET",F=(0,i.getTracer)(),B=F.getActiveScopeSpan(),M=!!(null==D?void 0:D.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await U.getIncrementalCache(e,A,I,L);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let K={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:$,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>U.onRequestError(e,t,r,n,D)},sharedContext:{buildId:v}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>U.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${H} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${H} ${k}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!L&&E&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(z,G,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:E})},!1,D),t}},u=await U.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!T)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.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});L||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&T||c.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};M&&B?await o(B):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${k}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof m.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:E})},!1,D),T)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,W,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})},"routeModule",0,U,"serverHooks",0,q,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,j],308900)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(e=>Promise.resolve().then(()=>e(437856)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__00qu86p._.js.map
@@ -1,5 +1,5 @@
1
- module.exports=[583627,e=>{"use strict";var t=e.i(798003),a=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,a){if(a){let e=r();if(e.length>0&&e.includes(a.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function s(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let a=t.adminUserIds??[];return a.includes(e)?t:{...t,adminUserIds:[...a,e]}})}async function o(e){let a=r().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||a?{...t,adminUserIds:r}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let a=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(a=!0,{...t,adminUserIds:[e]})),a&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){let t=await (0,a.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,s,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),a=e.i(666680),r=e.i(798003);async function n(){return(await (0,r.readConfig)()).workspaces??[]}async function s(e){return(await n()).find(t=>t.id===e)??null}async function i(e){let n=t.default.resolve(e.rootDir),s={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,r.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],s]})),s}function o(e,t){return(0,r.updateConfig)(a=>{let r=(a.workspaces??[]).map(a=>a.id===e?t(a):a);return{...a,workspaces:r}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,r.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:a}=await e.A(754121);await a(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let h=!1;async function f(){if(h)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,r.readConfig)();if((n.workspaces??[]).length>0||!e(n)){h=!0;return}let s=null;await (0,r.updateConfig)(r=>{let n=r.workspaces??[],i=e(r);if(n.length>0||!i)return r;let o=t.default.resolve(i);return s={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:r.pinnedPaths},{...r,workspaces:[s]}}),s&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${s.name}" (${s.id})`),h=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,s,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,f,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,a){if(!e)return null;if(!a||"."===a)return e;let r=t.default.resolve(e,a);return r===e||r.startsWith(e+t.default.sep)?r:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,a){return!!a||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let a=globalThis;!a.__wikiRootDir&&process.env.ROOT_DIR&&(a.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){a.__wikiRootDir=void 0},"getRootDir",0,function(){return a.__wikiRootDir??""},"isRootDirSet",0,function(){return!!a.__wikiRootDir},"setRootDir",0,function(e){a.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),a=e.i(254226),r=e.i(583627),n=e.i(504445),s=e.i(359211);async function i(e){await (0,s.migrateConfigToWorkspaces)();let a=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(a)return await (0,s.getWorkspace)(a)??null;let r=await (0,s.listWorkspaces)();if(0===r.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return r.slice().sort((e,t)=>{let a=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==a?r-a:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){let t=await (0,a.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,r.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await i(e);return l?(0,s.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await i(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function s(e,t){if(!e)return null;let s=r.default.normalize(t);if(s.startsWith("..")||r.default.isAbsolute(s)||n(s))return null;let i=r.default.join(e,s);if(i!==e&&!i.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(i);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(i);if(t!==i)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,a.open)(n,"w",r);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,s,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},81111,(e,t,a)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,a)=>{t.exports=e.x("node:events",()=>require("node:events"))},275859,e=>{"use strict";var t=e.i(912714),a=e.i(750227);async function r(e,r){try{let n=a.default.join(e,r,"package.json");return(await (0,t.stat)(n)).isFile()}catch{return!1}}async function n(e,r){try{let n=a.default.join(e,r,"index.html");return(await (0,t.stat)(n)).isFile()}catch{return!1}}e.s(["isAppFolder",0,n,"isNodeApp",0,r])},735049,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),w=e.i(844146),m=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(660038),_=e.i(922239),R=e.i(437856);async function y(e){let t=await (0,v.resolveWorkspaceForUser)(e);if(!t.ok)return new Response(t.code,{status:t.status});let{ws:a,rootDir:r}=t;(0,R.ensureIndexer)(a.id,r).catch(e=>console.error("[search] ensureIndexer failed",e));let n=new TextEncoder,s=null,i=null,o=null;return new Response(new ReadableStream({start(e){o=e,s=(0,_.subscribe)(a.id,r,(e,t)=>{if(o)try{o.enqueue(n.encode(`data: ${JSON.stringify({type:e,path:t})}
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),a=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,a){if(a){let e=r();if(e.length>0&&e.includes(a.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function s(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let a=t.adminUserIds??[];return a.includes(e)?t:{...t,adminUserIds:[...a,e]}})}async function o(e){let a=r().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||a?{...t,adminUserIds:r}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let a=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(a=!0,{...t,adminUserIds:[e]})),a&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,a.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,s,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),a=e.i(666680),r=e.i(798003);async function n(){return(await (0,r.readConfig)()).workspaces??[]}async function s(e){return(await n()).find(t=>t.id===e)??null}async function i(e){let n=t.default.resolve(e.rootDir),s={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(n),rootDir:n,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,r.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],s]})),s}function o(e,t){return(0,r.updateConfig)(a=>{let r=(a.workspaces??[]).map(a=>a.id===e?t(a):a);return{...a,workspaces:r}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,r.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)}));try{let{purgeWorkspace:a}=await e.A(754121);await a(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function c(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await o(e,e=>({...e,pinnedPaths:t}))}async function p(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let h=!1;async function f(){if(h)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),n=await (0,r.readConfig)();if((n.workspaces??[]).length>0||!e(n)){h=!0;return}let s=null;await (0,r.updateConfig)(r=>{let n=r.workspaces??[],i=e(r);if(n.length>0||!i)return r;let o=t.default.resolve(i);return s={id:"ws_"+(0,a.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:r.pinnedPaths},{...r,workspaces:[s]}}),s&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${s.name}" (${s.id})`),h=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,s,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,f,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,a){if(!e)return null;if(!a||"."===a)return e;let r=t.default.resolve(e,a);return r===e||r.startsWith(e+t.default.sep)?r:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,p,"userCanAccess",0,function(e,t,a){return!!a||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}])},504445,e=>{"use strict";var t=e.i(750227);let a=globalThis;!a.__wikiRootDir&&process.env.ROOT_DIR&&(a.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){a.__wikiRootDir=void 0},"getRootDir",0,function(){return a.__wikiRootDir??""},"isRootDirSet",0,function(){return!!a.__wikiRootDir},"setRootDir",0,function(e){a.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),a=e.i(254226),r=e.i(583627),n=e.i(504445),s=e.i(359211);async function i(e){await (0,s.migrateConfigToWorkspaces)();let a=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(a)return await (0,s.getWorkspace)(a)??null;let r=await (0,s.listWorkspaces)();if(0===r.length){let e;return(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return r.slice().sort((e,t)=>{let a=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==a?r-a:e.id<t.id?-1:+(e.id>t.id)})[0]}async function o(e){if("1"===process.env.WIKI_NO_AUTH){let t=await i(e);return t?{ok:!0,ws:t,rootDir:t.rootDir,userId:"local",isAdmin:!0}:{ok:!1,status:400,code:"WORKSPACE_REQUIRED"}}let t=await (0,a.requireUser)(e);if(!t.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let n=await (0,r.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,l=await i(e);return l?(0,s.userCanAccess)(l,t.user.id,n)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:n}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:o?404:400,code:o?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e){let t=await i(e);if(!t){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return{ok:!0,ws:t,rootDir:t.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function s(e,t){if(!e)return null;let s=r.default.normalize(t);if(s.startsWith("..")||r.default.isAbsolute(s)||n(s))return null;let i=r.default.join(e,s);if(i!==e&&!i.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(i);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(i);if(t!==i)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,a.open)(n,"w",r);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,s,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},81111,(e,t,a)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,a)=>{t.exports=e.x("node:events",()=>require("node:events"))},275859,e=>{"use strict";var t=e.i(912714),a=e.i(750227);async function r(e,r){try{let n=a.default.join(e,r,"package.json");return(await (0,t.stat)(n)).isFile()}catch{return!1}}async function n(e,r){try{let n=a.default.join(e,r,"index.html");return(await (0,t.stat)(n)).isFile()}catch{return!1}}e.s(["isAppFolder",0,n,"isNodeApp",0,r])},735049,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),m=e.i(844146),w=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(660038),_=e.i(922239),R=e.i(437856);async function k(e){let t=await (0,v.resolveWorkspaceForUser)(e);if(!t.ok)return new Response(t.code,{status:t.status});let{ws:a,rootDir:r}=t;(0,R.ensureIndexer)(a.id,r).catch(e=>console.error("[search] ensureIndexer failed",e));let n=new TextEncoder,s=null,i=null,o=null;return new Response(new ReadableStream({start(e){o=e,s=(0,_.subscribe)(a.id,r,(e,t)=>{if(o)try{o.enqueue(n.encode(`data: ${JSON.stringify({type:e,path:t})}
2
2
 
3
- `))}catch{}}),i=setInterval(()=>{try{e.enqueue(n.encode(": heartbeat\n\n"))}catch{null!==i&&clearInterval(i)}},15e3)},cancel(){o=null,null!==i&&clearInterval(i),s?.()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}})}e.s(["GET",0,y,"runtime",0,"nodejs"],197405);var k=e.i(197405);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/wiki/watch/route",pathname:"/api/wiki/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/watch/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:I}=x;async function E(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wiki/watch/route";v=v.replace(/\/index$/,"")||"/";let _=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:k,parsedUrl:A,isDraftMode:C,prerenderManifest:I,routerServerContext:E,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:U}=_,b=(0,o.normalizeAppPath)(v),T=!!(I.dynamicRoutes[b]||I.routes[P]),j=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(T&&!C){let e=!!I.routes[P],t=I.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await j();throw new m.NoFallbackError}}let N=null;!T||x.isDev||C||(N="/index"===(N=P)?"/":N);let W=!0===x.isDev||!T,q=T&&!W;U&&S&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:U});let M=e.method||"GET",H=(0,s.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==E?void 0:E.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,k,I,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let $={params:y,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:W,incrementalCache:L,cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,E)},sharedContext:{buildId:R}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>x.handle(X,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!K&&D&&O&&!a)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=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(z,G,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),t}},u=await x.handleResponse({req:e,nextConfig:k,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:K});if(!T)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",D?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&T||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&B?await o(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),T)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,x,"serverHooks",0,I,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],735049)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/07~4_next_dist_server_app-render_after-task-async-storage_external_0lathp_.js","server/chunks/0p91_next_dist_0yrhsoz._.js","server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(e=>Promise.resolve().then(()=>e(437856)))}];
3
+ `))}catch{}}),i=setInterval(()=>{try{e.enqueue(n.encode(": heartbeat\n\n"))}catch{null!==i&&clearInterval(i)}},15e3)},cancel(){o=null,null!==i&&clearInterval(i),s?.()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}})}e.s(["GET",0,k,"runtime",0,"nodejs"],197405);var y=e.i(197405);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/wiki/watch/route",pathname:"/api/wiki/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/watch/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:I,serverHooks:C}=x;async function E(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/wiki/watch/route";v=v.replace(/\/index$/,"")||"/";let _=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:y,parsedUrl:A,isDraftMode:I,prerenderManifest:C,routerServerContext:E,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:U}=_,T=(0,o.normalizeAppPath)(v),b=!!(C.dynamicRoutes[T]||C.routes[P]),j=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(b&&!I){let e=!!C.routes[P],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new w.NoFallbackError}}let N=null;!b||x.isDev||I||(N="/index"===(N=P)?"/":N);let W=!0===x.isDev||!b,q=b&&!W;U&&S&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:U});let M=e.method||"GET",H=(0,s.getTracer)(),B=H.getActiveScopeSpan(),K=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,y,C,F);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let $={params:k,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:W,incrementalCache:L,cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,E)},sharedContext:{buildId:R}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),Q=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>x.handle(Q,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!F&&D&&O&&!a)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=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!b)return await (0,p.sendResponse)(z,G,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),t}},u=await x.handleResponse({req:e,nextConfig:y,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:F});if(!b)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});F||t.setHeader("x-nextjs-cache",D?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&b||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&B?await o(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),b)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:I})},"routeModule",0,x,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,I],735049)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/07~4_next_dist_server_app-render_after-task-async-storage_external_0lathp_.js","server/chunks/0p91_next_dist_0yrhsoz._.js","server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},754121,e=>{e.v(e=>Promise.resolve().then(()=>e(437856)))}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__036mhjp._.js.map