wiki-viewer 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +3 -0
  3. package/.next/standalone/.next/build-manifest.json +5 -5
  4. package/.next/standalone/.next/routes-manifest.json +22 -0
  5. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  6. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  16. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/agent/admin/agents/[agentId]/revoke/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/agent/admin/agents/[agentId]/revoke/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/agent/admin/agents/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/agent/admin/agents/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js +3 -4
  33. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js +10 -11
  35. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js +4 -5
  37. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js +3 -4
  40. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js +1 -1
  42. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/agent/internal/span/route.js +3 -4
  44. package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js +3 -4
  47. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/auth/[...all]/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/share/[token]/route/app-paths-manifest.json +3 -0
  54. package/.next/standalone/.next/server/app/api/share/[token]/route/build-manifest.json +9 -0
  55. package/.next/standalone/.next/server/app/api/share/[token]/route/server-reference-manifest.json +4 -0
  56. package/.next/standalone/.next/server/app/api/share/[token]/route.js +14 -0
  57. package/.next/standalone/.next/server/app/api/share/[token]/route.js.map +5 -0
  58. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -0
  59. package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +3 -0
  60. package/.next/standalone/.next/server/app/api/share/route/app-paths-manifest.json +3 -0
  61. package/.next/standalone/.next/server/app/api/share/route/build-manifest.json +9 -0
  62. package/.next/standalone/.next/server/app/api/share/route/server-reference-manifest.json +4 -0
  63. package/.next/standalone/.next/server/app/api/share/route.js +14 -0
  64. package/.next/standalone/.next/server/app/api/share/route.js.map +5 -0
  65. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -0
  66. package/.next/standalone/.next/server/app/api/share/route_client-reference-manifest.js +3 -0
  67. package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/system/clear-root/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/system/root-status/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/system/set-root/route.js +2 -2
  72. package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/wiki/watch/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/index.html +1 -1
  93. package/.next/standalone/.next/server/app/index.rsc +3 -3
  94. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  95. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  96. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  98. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  100. package/.next/standalone/.next/server/app/page.js +1 -1
  101. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/s/[token]/page/app-paths-manifest.json +3 -0
  104. package/.next/standalone/.next/server/app/s/[token]/page/build-manifest.json +16 -0
  105. package/.next/standalone/.next/server/app/s/[token]/page/next-font-manifest.json +10 -0
  106. package/.next/standalone/.next/server/app/s/[token]/page/react-loadable-manifest.json +1 -0
  107. package/.next/standalone/.next/server/app/s/[token]/page/server-reference-manifest.json +4 -0
  108. package/.next/standalone/.next/server/app/s/[token]/page.js +14 -0
  109. package/.next/standalone/.next/server/app/s/[token]/page.js.map +5 -0
  110. package/.next/standalone/.next/server/app/s/[token]/page.js.nft.json +1 -0
  111. package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +3 -0
  112. package/.next/standalone/.next/server/app/signin/page/build-manifest.json +2 -2
  113. package/.next/standalone/.next/server/app/signin/page.js +2 -2
  114. package/.next/standalone/.next/server/app/signin/page.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app-paths-manifest.json +3 -0
  117. package/.next/standalone/.next/server/chunks/0dti_kysely_dist_esm_0u.fq2l._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0d2jbo5.js +1 -1
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01hp8ax._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02scxiu._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07nnfjx._.js +16 -0
  122. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12q8ch8._.js → [root-of-the-server]__08n~vj1._.js} +2 -2
  123. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09s9qkd._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__12ee_s6._.js → [root-of-the-server]__0bfl4v7._.js} +2 -2
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n3i3vu._.js +16 -0
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ncjv3e._.js +3 -0
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s8ovh5._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0~.-3yk._.js → [root-of-the-server]__0x3m4up._.js} +2 -2
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yzle76._.js +20 -0
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0z.pwwj._.js +20 -0
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zgb.q2._.js +3 -0
  132. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00qu86p._.js → [root-of-the-server]__0zq0rlw._.js} +2 -2
  133. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0-inabx._.js → [root-of-the-server]__12y5z5j._.js} +2 -2
  134. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_share_[token]_route_actions_0~m-o26.js +3 -0
  135. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_share_route_actions_0gz4h.j.js +3 -0
  136. package/.next/standalone/.next/server/chunks/node_modules__pnpm_0aj5g-w._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/src_lib_auth_admin_ts_0g4i6v_._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/ssr/08s9_dagre-d3-es_src_dagre_index_0iwjukf.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/0p91_next_dist_esm_build_templates_app-page_0p1dt3f.js +4 -0
  140. package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_0hyln.b._.js → 0~w0_katex_dist_katex_mjs_03gdxkb._.js} +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_diagram-OG6HWLK6_mjs_0t5sus6._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_erDiagram-TEJ5UH35_mjs_0v6rnqy._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_sankeyDiagram-5OEKKPKP_mjs_11ifrnu._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_mermaid_core_mjs_0hj_n-~._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00lk0r~._.js → [root-of-the-server]__06mzg2t._.js} +2 -2
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oh...2._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0osa2xb._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__02twzph._.js → [root-of-the-server]__0xwdc44._.js} +2 -2
  149. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0du58sw._.js → [root-of-the-server]__0~2q.a0._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/ssr/_0r9zg10._.js +115 -0
  151. package/.next/standalone/.next/server/chunks/ssr/_0wmhtx3._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/ssr/_0~a9dyk._.js +115 -0
  153. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_s_[token]_page_actions_0bubzp7.js +3 -0
  154. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0s4yn43._.js → node_modules__pnpm_0-w6~h.._.js} +1 -1
  155. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0fh.6ir._.js → node_modules__pnpm_0.eeqiu._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0d~ida~._.js → node_modules__pnpm_016w5te._.js} +1 -1
  157. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0iikbcy._.js → node_modules__pnpm_04o4n28._.js} +1 -1
  158. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0elpfsb._.js → node_modules__pnpm_05bngu6._.js} +2 -2
  159. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0xa.ko1._.js → node_modules__pnpm_05cs0sp._.js} +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_05~w-ok._.js → node_modules__pnpm_05w~588._.js} +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_00y7foi._.js → node_modules__pnpm_05~bobn._.js} +2 -2
  162. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0arbjru._.js → node_modules__pnpm_07jyfax._.js} +1 -1
  163. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0s8fvbn._.js → node_modules__pnpm_07s54yb._.js} +1 -1
  164. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0c7u76a._.js → node_modules__pnpm_09ygxyg._.js} +2 -2
  165. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0aq-myi._.js +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_12.ymhl._.js → node_modules__pnpm_0dx-.0x._.js} +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0beormu._.js → node_modules__pnpm_0e.k7ds._.js} +2 -2
  168. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_03.1jli._.js → node_modules__pnpm_0fvoxey._.js} +1 -1
  169. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0.kyqfq._.js → node_modules__pnpm_0klv8-e._.js} +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0lzb-n~._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0.~goq~._.js → node_modules__pnpm_0m4c6iy._.js} +2 -2
  172. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0dbr7c2._.js → node_modules__pnpm_0ms-2au._.js} +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0vyv.lz._.js → node_modules__pnpm_0nni9e7._.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_09d5yyu._.js → node_modules__pnpm_0oihvhk._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0b5fla7._.js → node_modules__pnpm_0q0mf37._.js} +2 -2
  176. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_03z3na-._.js → node_modules__pnpm_0q2jvgv._.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0mvih7b._.js → node_modules__pnpm_0qy4lz-._.js} +2 -2
  178. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_09eo8jh._.js → node_modules__pnpm_0uea699._.js} +2 -2
  179. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0qd2ovj._.js → node_modules__pnpm_0xxpa5a._.js} +2 -2
  180. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0adm8h6._.js → node_modules__pnpm_0z4ojf1._.js} +1 -1
  181. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0tq8zs6._.js → node_modules__pnpm_11u67yf._.js} +1 -1
  182. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0fm6wcx._.js → node_modules__pnpm_13fk5i4._.js} +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/src_app_page_tsx_0ss2.w7._.js +19 -0
  184. package/.next/standalone/.next/server/edge/chunks/0p91_next_dist_0nh.6nc._.js +1 -1
  185. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  186. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  187. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  188. package/.next/standalone/.next/server/next-font-manifest.json +3 -0
  189. package/.next/standalone/.next/server/pages/404.html +1 -1
  190. package/.next/standalone/.next/server/pages/500.html +1 -1
  191. package/.next/standalone/.next/static/chunks/03zepg.10g9nk.js +21 -0
  192. package/.next/standalone/.next/static/chunks/07pa3l2g0aoxc.css +2 -0
  193. package/.next/standalone/.next/static/chunks/07rj172u~.3lw.js +113 -0
  194. package/.next/standalone/.next/static/chunks/0cre2g95gqnc_.js +1 -0
  195. package/.next/standalone/.next/static/chunks/{144e01xuvhx~x.js → 0g5dv59skfo1z.js} +1 -1
  196. package/.next/standalone/.next/static/chunks/0l794ei7~55us.js +17 -0
  197. package/.next/standalone/.next/static/chunks/{14n5cp8rr-k_b.js → 0qiz7kkyaxa93.js} +1 -1
  198. package/.next/standalone/.next/static/chunks/0r9y0mkr29ns6.js +113 -0
  199. package/.next/standalone/.next/static/chunks/0vhw1us0pjfdy.js +1 -0
  200. package/.next/standalone/.next/static/chunks/{06iw_iy5e90d4.js → 0vp-ahhagxptc.js} +1 -1
  201. package/.next/standalone/.next/static/chunks/0xpx9ekm-~h19.js +1 -0
  202. package/.next/standalone/.next/static/chunks/{0b84.439zffwm.js → 0yhis._5rr6tc.js} +1 -1
  203. package/.next/standalone/.next/static/chunks/139g2hzko-flp.js +1 -0
  204. package/.next/standalone/.next/static/chunks/{turbopack-0lf4~b-ofzbm6.js → turbopack-12~z-mr7b9b50.js} +1 -1
  205. package/.next/standalone/README.md +1 -0
  206. package/.next/standalone/bin/wiki-viewer.js +7 -0
  207. package/.next/standalone/package.json +1 -1
  208. package/.next/standalone/src/app/api/share/[token]/route.ts +269 -0
  209. package/.next/standalone/src/app/api/share/route.ts +127 -0
  210. package/.next/standalone/src/app/globals.css +2 -0
  211. package/.next/standalone/src/app/page.tsx +21 -0
  212. package/.next/standalone/src/app/s/[token]/page.tsx +357 -0
  213. package/.next/standalone/src/components/share-dialog.tsx +307 -0
  214. package/.next/standalone/src/components/ui/switch.tsx +1 -1
  215. package/.next/standalone/src/lib/shared-docs/db.ts +177 -0
  216. package/.next/standalone/src/middleware.ts +1 -0
  217. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  218. package/README.md +1 -0
  219. package/bin/wiki-viewer.js +7 -0
  220. package/package.json +1 -1
  221. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-244bv._.js +0 -16
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__012753j._.js +0 -3
  223. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03p0ob1._.js +0 -16
  224. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gda_iu._.js +0 -3
  225. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jk1uf4._.js +0 -3
  226. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nd.b_c._.js +0 -3
  227. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13aid91._.js +0 -3
  228. package/.next/standalone/.next/server/chunks/ssr/_0pqaawz._.js +0 -131
  229. package/.next/standalone/.next/static/chunks/09-jtayuhrq~b.js +0 -1
  230. package/.next/standalone/.next/static/chunks/0vp2gi~fq70je.js +0 -21
  231. package/.next/standalone/.next/static/chunks/125_k3o0s4cid.js +0 -129
  232. package/.next/standalone/.next/static/chunks/135c~rq_ux73w.js +0 -1
  233. package/.next/standalone/.next/static/chunks/167ph4xws_-61.css +0 -2
  234. /package/.next/standalone/.next/static/{YQHDns_jLqFd_bbnLafs0 → 30WI22NYlyxn2Cei0x9Om}/_buildManifest.js +0 -0
  235. /package/.next/standalone/.next/static/{YQHDns_jLqFd_bbnLafs0 → 30WI22NYlyxn2Cei0x9Om}/_clientMiddlewareManifest.js +0 -0
  236. /package/.next/standalone/.next/static/{YQHDns_jLqFd_bbnLafs0 → 30WI22NYlyxn2Cei0x9Om}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function n(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function s(e,r){if(r){let e=n();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=n().length>0,s=!1;if(await (0,t.updateConfig)(t=>{let n=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==n.length||r?{...t,adminUserIds:n}:(s=!0,t)}),s)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(n().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 s(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,s,"listAdmins",0,a,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),n=e.i(798003);async function s(){return(await (0,n.readConfig)()).workspaces??[]}async function a(e){return(await s()).find(t=>t.id===e)??null}async function i(e){let s=t.default.resolve(e.rootDir),a={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(s),rootDir:s,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,n.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}function o(e,t){return(0,n.updateConfig)(r=>{let n=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:n}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,n.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 f(e){await o(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}let p=!1;async function g(){if(p)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?t.default.resolve(process.env.ROOT_DIR):null),s=await (0,n.readConfig)();if((s.workspaces??[]).length>0||!e(s)){p=!0;return}let a=null;await (0,n.updateConfig)(n=>{let s=n.workspaces??[],i=e(n);if(s.length>0||!i)return n;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:n.pinnedPaths},{...n,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),p=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,a,"listWorkspaces",0,s,"migrateConfigToWorkspaces",0,g,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,r){if(!e)return null;if(!r||"."===r)return e;let n=t.default.resolve(e,r);return n===e||n.startsWith(e+t.default.sep)?n:null},"setWorkspaceAccess",0,c,"setWorkspacePins",0,d,"touchWorkspace",0,f,"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),n=e.i(583627),s=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 n=await (0,a.listWorkspaces)();if(0===n.length){let e;return(e=(0,s.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return n.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,n=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return n!==r?n-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 s=await (0,n.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,s)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:s}:{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])},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var n=e.i(857764);e.s(["urlToPath",()=>n.fileURLToPath],316552)},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},889264,e=>{"use strict";let t=globalThis;function r(){return t.__wikiLeaseStore}function n(e,t){return`${e}\u0000${t}`}function s(e,t){let s=r(),a=n(e,t),i=s.leases.get(a);return!!i&&(!(Date.now()>=i.expiresAt)||(s.leases.delete(a),s.generations.set(a,(s.generations.get(a)??0)+1),!1))}t.__wikiLeaseStore||(t.__wikiLeaseStore={leases:new Map,generations:new Map}),e.s(["clearLease",0,function(e,t,s){let a=r(),i=n(e,t),o=a.leases.get(i);o&&o.userId===s&&(a.leases.delete(i),a.generations.set(i,(a.generations.get(i)??0)+1))},"hasActiveLease",0,function(e,t){return s(e,t)},"leaseGeneration",0,function(e,t){let s=n(e,t);return r().generations.get(s)??0},"setLease",0,function(e,t,a,i=9e4){let o=r(),l=n(e,t),u=s(e,t);o.leases.set(l,{userId:a,expiresAt:Date.now()+i}),u||o.generations.set(l,(o.generations.get(l)??0)+1)}])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(660526),s=e.i(750227),a=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return s.default.join(e,".wiki-viewer")}function u(){return s.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,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function f(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function p(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function g(e){let r=await d();if(!r)return null;let n=c(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),s=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===s.length&&(0,t.timingSafeEqual)(n,s)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function m(e){await (0,a.withFileMutex)(i,async()=>{let t=await p(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await f(t)})}async function w(e){return(0,a.withFileMutex)(i,async()=>{let t=await d();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await f(t),!0)})}async function h(e){Date.now()-(o.get(e)??0)<3e4||await (0,a.withFileMutex)(i,async()=>{let t=await d();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await f(t))})}e.s(["addAgent",0,m,"hashToken",0,c,"lookupAgentByToken",0,g,"readRegistry",0,d,"removeAgent",0,w,"updateLastSeen",0,h])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var n=e.i(254226);async function s(e){let r=await (0,n.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let s=e.headers.get("authorization")??"",a=s.startsWith("Bearer ")?s.slice(7).trim():"";if(!a)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(a);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{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,s,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>r(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)},973909,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function n(e,t){return r.default.join(e,".proof",t+".json")}async function s(e,r){let s=n(e,r);try{let e=await (0,t.readFile)(s,"utf-8"),r=JSON.parse(e);if(1!==r.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${r.schemaVersion}`);return r}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function a(e,s,a){let i=n(e,s);await (0,t.mkdir)(r.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,s,a){let i=n(e,s),o=n(e,a);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,r){let s=n(e,r);try{await (0,t.unlink)(s)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,s,"writeSidecar",0,a])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,s=e.events.length-t,a=e.events.filter((e,t)=>t>=s||e.id>n);e.events=a}])},850948,e=>{"use strict";function t(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}e.s(["newSpanId",0,function(){let e=Math.floor(65535*Math.random()).toString(16).padStart(4,"0");return`p${e}`},"revertProofSpan",0,function(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=RegExp(`<proof-span\\b[^>]*\\bid="${r}"[^>]*>[\\s\\S]*?<\\/proof-span>`,"g");return e.replace(n,"")},"wrapAsProofSpan",0,function(e,r){let n,s=(n=[`id="${t(r.spanId)}"`,`origin="${r.origin}"`],r.basis&&n.push(`basis="${t(r.basis)}"`),r.basisDetail&&n.push(`basis-detail="${t(r.basisDetail)}"`),n.push(`by="${t(r.by)}"`),n.push(`at="${t(r.at)}"`),r.inResponseTo&&n.push(`in-response-to="${t(r.inResponseTo)}"`),n.join(" ")),a=e.trim();if(a.startsWith("```")||a.startsWith("~~~")||a.startsWith("<")&&!a.startsWith("<proof-span")||/^[-*_]{3,}\s*$/.test(a))return null;let i=a.split("\n")[0];if(i.includes("|")&&/^\|.*\|/.test(i))return null;let o=a.match(/^(#{1,6})\s+(.+)$/);if(o){let e=o[1],t=o[2].trimEnd();return`${e} <proof-span ${s}>${t}</proof-span>`}return a.startsWith(">")?a.split("\n").map(e=>{let t=e.match(/^(>\s?)(.*)/);if(!t)return e;let r=t[1],n=t[2];return n.trim()?`${r}<proof-span ${s}>${n}</proof-span>`:e}).join("\n"):/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/.test(a.split("\n")[0])?a.split("\n").map(e=>{let t=e.match(/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/);if(!t)return e;let r=t[1],n=t[2];return n.trim()?`${r}<proof-span ${s}>${n}</proof-span>`:e}).join("\n"):`<proof-span ${s}>${a}</proof-span>`}])},517387,e=>{"use strict";var t=e.i(794776);let r=new Map;e.s(["checkAndConsume",0,function(e,n=1){let s=Date.now(),a=t.OPS_PER_MINUTE,i=r.get(e);i||(i={tokens:a,lastRefill:s},r.set(e,i));let o=Math.floor((s-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(a,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<n)?{ok:!1,retryAfterMs:Math.max(1,1e3*(n-i.tokens)-(s-i.lastRefill))}:(i.tokens-=n,{ok:!0})}])},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
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0ncjv3e._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function a(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=a();if(e.length>0&&e.includes(r.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 r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=a().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let a=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==a.length||r?{...t,adminUserIds:a}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function u(e){if(a().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 l(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,u,"isAdmin",0,n,"listAdmins",0,s,"removeAdmin",0,o,"requireAdmin",0,l])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),a=e.i(798003);async function n(){return(await (0,a.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,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,a.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],s]})),s}function o(e,t){return(0,a.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function u(e,t){await o(e,e=>({...e,name:t}))}async function l(t){await (0,a.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 d(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function c(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,a.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let s=null;await (0,a.updateConfig)(a=>{let n=a.workspaces??[],i=e(a);if(n.length>0||!i)return a;let o=t.default.resolve(i);return s={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:a.pinnedPaths},{...a,workspaces:[s]}}),s&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${s.name}" (${s.id})`),f=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,s,"listWorkspaces",0,n,"migrateConfigToWorkspaces",0,h,"removeWorkspace",0,l,"renameWorkspace",0,u,"safeWorkspacePath",0,function(e,r){if(!e)return null;if(!r||"."===r)return e;let a=t.default.resolve(e,r);return a===e||a.startsWith(e+t.default.sep)?a:null},"setWorkspaceAccess",0,d,"setWorkspacePins",0,c,"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),a=e.i(583627),n=e.i(504445),s=e.i(359211);async function i(e){await (0,s.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)return await (0,s.getWorkspace)(r)??null;let a=await (0,s.listWorkspaces)();if(0===a.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 a.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,a=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return a!==r?a-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,a.isAdmin)(t.user.id,t.user.email),o=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,u=await i(e);return u?(0,s.userCanAccess)(u,t.user.id,n)?{ok:!0,ws:u,rootDir:u.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 u(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,u,"resolveWorkspaceForUser",0,o])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function u(){let e=process.env.HOME??a.default.homedir();return n.default.join(e,".wiki-viewer")}function l(){return n.default.join(u(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,r.readFile)(l(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,r.mkdir)(u(),{recursive:!0});let t=l()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,l())}async function f(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let r=await c();if(!r)return null;let a=d(e);for(let e of r.agents)if(function(e,r){let a=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(r.padEnd(64,"0"),"utf8");return a.length===n.length&&(0,t.timingSafeEqual)(a,n)&&e.length===r.length}(e.tokenHash,a))return e;return null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await f(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await p(t)})}async function g(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentByToken",0,h,"readRegistry",0,c,"removeAgent",0,g,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var a=e.i(254226);async function n(e){let r=await (0,a.getSessionFromRequest)(e);if(r?.user){let e=r.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")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{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:a}=e;return void 0!==a.workspaceId&&void 0!==t.workspaceId&&a.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${a.workspaceId}")`}:a.ops.includes(t.op)?t.filePath&&!a.paths.some(e=>r(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)},973909,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e,t){return r.default.join(e,".proof",t+".json")}async function n(e,r){let n=a(e,r);try{let e=await (0,t.readFile)(n,"utf-8"),r=JSON.parse(e);if(1!==r.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${r.schemaVersion}`);return r}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function s(e,n,s){let i=a(e,n);await (0,t.mkdir)(r.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(s,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,n,s){let i=a(e,n),o=a(e,s);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,r){let n=a(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,n,"writeSidecar",0,s])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let a of t){let t={...a,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),a=r.length>0?Math.min(...r):1/0,n=e.events.length-t,s=e.events.filter((e,t)=>t>=n||e.id>a);e.events=s}])},463,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),u=e.i(243133),l=e.i(404870),d=e.i(420180),c=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),m=e.i(844146),g=e.i(193695);e.i(105888);var w=e.i(530564),v=e.i(702414),k=e.i(215043),R=e.i(973909),A=e.i(307764),_=e.i(832852),I=e.i(660038),y=e.i(359211);function N(e){return e.endsWith(".md")||e.endsWith(".markdown")}async function E(e,{params:t}){let r=await (0,k.checkAuth)(e);if(!r.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,I.resolveWorkspaceForAgent)(e);if(!a.ok)return v.NextResponse.json({error:a.code},{status:a.status});let{ws:n,rootDir:s}=a,{path:i}=await t,o=i.join("/");if(o.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!N(o))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,y.safeWorkspacePath)(s,o))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let u=(0,k.enforceScope)(r.agent,{filePath:o,op:"read",workspaceId:n.id});if(!u.ok)return v.NextResponse.json({error:u.code,message:u.message},{status:403});let{searchParams:l}=new URL(e.url),d=l.get("after"),c=l.get("limit"),p=null!==d?parseInt(d,10):0,f=null!==c?parseInt(c,10):100;if(Number.isNaN(p)||p<0)return v.NextResponse.json({error:"INVALID_PARAM",message:"after must be a non-negative integer"},{status:400});(Number.isNaN(f)||f<=0)&&(f=100),f>1e3&&(f=1e3);let h=await (0,R.readSidecar)(s,o)??(0,R.emptySidecar)(o),m=(0,A.pollEvents)(h,p,f),g=h.nextEventId-1;return v.NextResponse.json({events:m,lastEventId:g})}async function D(e,{params:t}){let r,a=await (0,k.checkAuth)(e);if(!a.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let n=await (0,I.resolveWorkspaceForAgent)(e);if(!n.ok)return v.NextResponse.json({error:n.code},{status:n.status});let{ws:s,rootDir:i}=n,{path:o}=await t,u=o.join("/");if(u.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!N(u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,y.safeWorkspacePath)(i,u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let l=(0,k.enforceScope)(a.agent,{filePath:u,op:"mutate",workspaceId:s.id});if(!l.ok)return v.NextResponse.json({error:l.code,message:l.message},{status:403});try{r=await e.json()}catch{return v.NextResponse.json({error:"INVALID_PAYLOAD",message:"Invalid JSON"},{status:400})}if("number"!=typeof r.upToId)return v.NextResponse.json({error:"INVALID_PAYLOAD",message:"upToId (number) required"},{status:400});if("string"!=typeof r.by||!r.by)return v.NextResponse.json({error:"INVALID_PAYLOAD",message:"by (string) required"},{status:400});let d=(0,k.verifyBy)(a.agent,r.by);if(!d.ok)return v.NextResponse.json({error:d.code,message:d.message},{status:403});let c=r.upToId,p=r.by;return await (0,_.withFileMutex)(`${i}\0${u}`,async()=>{let e=await (0,R.readSidecar)(i,u)??(0,R.emptySidecar)(u);e.lastAck[p]=c,await (0,R.writeSidecar)(i,u,e)}),v.NextResponse.json({ok:!0})}e.s(["GET",0,E,"POST",0,D,"runtime",0,"nodejs"],644628);var O=e.i(644628);let x=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/events/[...path]/route",pathname:"/api/agent/events/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/events/[...path]/route.ts",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:P,serverHooks:T}=x;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/events/[...path]/route";v=v.replace(/\/index$/,"")||"/";let k=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:A,nextConfig:_,parsedUrl:I,isDraftMode:y,prerenderManifest:N,routerServerContext:E,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:T}=k,C=(0,o.normalizeAppPath)(v),U=!!(N.dynamicRoutes[C]||N.routes[S]),b=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(U&&!y){let e=!!N.routes[S],t=N.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await b();throw new g.NoFallbackError}}let j=null;!U||x.isDev||y||(j="/index"===(j=S)?"/":j);let W=!0===x.isDev||!U,q=U&&!W;T&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:T});let H=e.method||"GET",M=(0,s.getTracer)(),B=M.getActiveScopeSpan(),F=!!(null==E?void 0:E.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,_,N,L);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let K={params:A,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:W,incrementalCache:$,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,E)},sharedContext:{buildId:R}},V=new u.NodeNextRequest(e),Z=new u.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t));try{let n,i=async e=>x.handle(z,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async n=>{var s,o;let u=async({previousCacheEntry:r})=>{try{if(!L&&D&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let u=K.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(V,Z,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),t}},l=await x.handleResponse({req:e,nextConfig:_,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:L});if(!U)return null;if((null==l||null==(s=l.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",D?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return L&&U||d.delete(m.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(V,Z,new Response(l.value.body,{headers:d,status:l.value.status||200})),null};F&&B?await o(B):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,E),U)throw t;return await (0,p.sendResponse)(V,Z,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:P})},"routeModule",0,x,"serverHooks",0,T,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,P],463)},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
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0s8ovh5._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[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),n=e.i(660526),r=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return r.default.join(e,".wiki-viewer")}function u(){return r.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){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 h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function g(e){let a=await c();if(!a)return null;let n=d(e);for(let e of a.agents)if(function(e,a){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),r=Buffer.from(a.padEnd(64,"0"),"utf8");return n.length===r.length&&(0,t.timingSafeEqual)(n,r)&&e.length===a.length}(e.tokenHash,n))return e;return null}async function v(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function f(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();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 m(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();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,v,"hashToken",0,d,"lookupAgentByToken",0,g,"readRegistry",0,c,"removeAgent",0,f,"updateLastSeen",0,m])},411220,e=>{"use strict";var t=e.i(364564),a=e.i(102095),n=e.i(691091),r=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),c=e.i(867883),p=e.i(336708),h=e.i(682278),g=e.i(157569),v=e.i(844146),f=e.i(193695);e.i(105888);var m=e.i(530564),w=e.i(702414),R=e.i(254226),_=e.i(228064);async function y(e,{params:t}){let a=await (0,R.requireUser)(e);if(!a.ok)return w.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{agentId:n}=await t,r=await (0,_.readRegistry)(),s=(r?.agents??[]).find(e=>e.id===n);return s?void 0!==s.ownerUserId&&s.ownerUserId!==a.user.id?w.NextResponse.json({error:"FORBIDDEN",message:"You do not own this agent"},{status:403}):await (0,_.removeAgent)(n)?w.NextResponse.json({ok:!0}):w.NextResponse.json({error:"NOT_FOUND",message:"Agent not found"},{status:404}):w.NextResponse.json({error:"NOT_FOUND",message:"Agent not found"},{status:404})}e.s(["POST",0,y,"runtime",0,"nodejs"],779012);var x=e.i(779012);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/admin/agents/[agentId]/revoke/route",pathname:"/api/agent/admin/agents/[agentId]/revoke",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/admin/agents/[agentId]/revoke/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:N,serverHooks:C}=E;async function k(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/admin/agents/[agentId]/revoke/route";w=w.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:x,parsedUrl:A,isDraftMode:N,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:q,clientReferenceManifest:T,serverActionsManifest:S}=R,b=(0,o.normalizeAppPath)(w),j=!!(C.dynamicRoutes[b]||C.routes[q]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!N){let e=!!C.routes[q],t=C.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await I();throw new f.NoFallbackError}}let U=null;!j||E.isDev||N||(U="/index"===(U=q)?"/":U);let D=!0===E.isDev||!j,H=j&&!D;S&&T&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:T,serverActionsManifest:S});let M=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),K=!!(null==k?void 0:k.isWrappedByNextServer),$=!!(0,r.getRequestMeta)(e,"minimalMode"),z=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,x,C,$);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let L={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:D,incrementalCache:z,cacheLifeProfiles:x.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>E.onRequestError(e,t,n,r,k)},sharedContext:{buildId:_}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let r,i=async e=>E.handle(W,L).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")!==d.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 n=a.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${M} ${w}`)}),o=async r=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!$&&O&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(r);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(G,V,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,k),t}},u=await E.handleResponse({req:e,nextConfig:x,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:$});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return $&&j||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};K&&B?await o(B):(r=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,k),j)throw t;return await (0,p.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:N})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,N],411220)},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)))}];
1
+ module.exports=[814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},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),n=e.i(660526),r=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return r.default.join(e,".wiki-viewer")}function u(){return r.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){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 h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function g(e){let a=await c();if(!a)return null;let n=d(e);for(let e of a.agents)if(function(e,a){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),r=Buffer.from(a.padEnd(64,"0"),"utf8");return n.length===r.length&&(0,t.timingSafeEqual)(n,r)&&e.length===a.length}(e.tokenHash,n))return e;return null}async function v(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function f(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();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 m(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();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,v,"hashToken",0,d,"lookupAgentByToken",0,g,"readRegistry",0,c,"removeAgent",0,f,"updateLastSeen",0,m])},411220,e=>{"use strict";var t=e.i(364564),a=e.i(102095),n=e.i(691091),r=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),c=e.i(867883),p=e.i(336708),h=e.i(682278),g=e.i(157569),v=e.i(844146),f=e.i(193695);e.i(105888);var m=e.i(530564),w=e.i(702414),R=e.i(254226),_=e.i(228064);async function y(e,{params:t}){let a=await (0,R.requireUser)(e);if(!a.ok)return w.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{agentId:n}=await t,r=await (0,_.readRegistry)(),s=(r?.agents??[]).find(e=>e.id===n);return s?void 0!==s.ownerUserId&&s.ownerUserId!==a.user.id?w.NextResponse.json({error:"FORBIDDEN",message:"You do not own this agent"},{status:403}):await (0,_.removeAgent)(n)?w.NextResponse.json({ok:!0}):w.NextResponse.json({error:"NOT_FOUND",message:"Agent not found"},{status:404}):w.NextResponse.json({error:"NOT_FOUND",message:"Agent not found"},{status:404})}e.s(["POST",0,y,"runtime",0,"nodejs"],779012);var x=e.i(779012);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/admin/agents/[agentId]/revoke/route",pathname:"/api/agent/admin/agents/[agentId]/revoke",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/admin/agents/[agentId]/revoke/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:N,serverHooks:C}=E;async function k(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/admin/agents/[agentId]/revoke/route";w=w.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:x,parsedUrl:A,isDraftMode:N,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:q,clientReferenceManifest:T,serverActionsManifest:S}=R,b=(0,o.normalizeAppPath)(w),j=!!(C.dynamicRoutes[b]||C.routes[q]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!N){let e=!!C.routes[q],t=C.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await I();throw new f.NoFallbackError}}let U=null;!j||E.isDev||N||(U="/index"===(U=q)?"/":U);let D=!0===E.isDev||!j,H=j&&!D;S&&T&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:T,serverActionsManifest:S});let M=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),K=!!(null==k?void 0:k.isWrappedByNextServer),$=!!(0,r.getRequestMeta)(e,"minimalMode"),z=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,x,C,$);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let L={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:D,incrementalCache:z,cacheLifeProfiles:x.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>E.onRequestError(e,t,n,r,k)},sharedContext:{buildId:_}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let r,i=async e=>E.handle(W,L).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")!==d.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 n=a.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${M} ${w}`)}),o=async r=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!$&&O&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(r);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(G,V,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,k),t}},u=await E.handleResponse({req:e,nextConfig:x,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:$});if(!j)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return $&&j||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};K&&B?await o(B):(r=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,k),j)throw t;return await (0,p.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:N})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,N],411220)},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)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0~.-3yk._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0x3m4up._.js.map
@@ -0,0 +1,20 @@
1
+ module.exports=[359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),s=e.i(798003);async function a(){return(await (0,s.readConfig)()).workspaces??[]}async function n(e){return(await a()).find(t=>t.id===e)??null}async function o(e){let a=t.default.resolve(e.rootDir),n={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(a),rootDir:a,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,s.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],n]})),n}function i(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 i(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 i(e,e=>({...e,allowedUserIds:t}))}async function d(e,t){await i(e,e=>({...e,pinnedPaths:t}))}async function p(e){await i(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),a=await (0,s.readConfig)();if((a.workspaces??[]).length>0||!e(a)){h=!0;return}let n=null;await (0,s.updateConfig)(s=>{let a=s.workspaces??[],o=e(s);if(a.length>0||!o)return s;let i=t.default.resolve(o);return n={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(i),rootDir:i,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:s.pinnedPaths},{...s,workspaces:[n]}}),n&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${n.name}" (${n.id})`),h=!0}e.s(["createWorkspace",0,o,"getWorkspace",0,n,"listWorkspaces",0,a,"migrateConfigToWorkspaces",0,f,"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)}])},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"),a=e.headers.get("referer");if(!s&&!a)return null;let n=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 a of r)s.add(`${t}://${e}${a}`);return s}(e.headers.get("host")??"");if(s)return n.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(a){try{let{protocol:e,host:t}=new URL(a);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),s=e.i(750227);function a(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function n(e,t){if(!e)return null;let n=s.default.normalize(t);if(n.startsWith("..")||s.default.isAbsolute(n)||a(n))return null;let o=s.default.join(e,n);if(o!==e&&!o.startsWith(e+s.default.sep))return null;try{let t=await (0,r.realpath)(o);if(t!==e&&!t.startsWith(e+s.default.sep))return null}catch{let t=s.default.dirname(o);if(t!==o)try{let a=await (0,r.realpath)(t);if(a!==e&&!a.startsWith(e+s.default.sep))return null}catch{}}return o}let o={".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 i(e,t){let s=420;try{let t=await (0,r.stat)(e);s=511&t.mode}catch{}let a=e+".~"+process.pid+"."+Date.now()+".tmp",n=await (0,r.open)(a,"w",s);try{await n.write(t),await n.datasync()}finally{await n.close()}await (0,r.rename)(a,e)}async function l(e,t){let a=s.default.dirname(e);if(t)return await (0,r.mkdir)(a,{recursive:!0}),!0;try{return await (0,r.stat)(a),!0}catch{return!1}}e.s(["atomicWrite",0,i,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,a,"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 o[s.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,n,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},517387,e=>{"use strict";var t=e.i(794776);let r=new Map;e.s(["checkAndConsume",0,function(e,s=1){let a=Date.now(),n=t.OPS_PER_MINUTE,o=r.get(e);o||(o={tokens:n,lastRefill:a},r.set(e,o));let i=Math.floor((a-o.lastRefill)/1e3);return(i>0&&(o.tokens=Math.min(n,o.tokens+i),o.lastRefill=o.lastRefill+1e3*i),o.tokens<s)?{ok:!1,retryAfterMs:Math.max(1,1e3*(s-o.tokens)-(a-o.lastRefill))}:(o.tokens-=s,{ok:!0})}])},97082,e=>{"use strict";var t=e.i(286607),r=e.i(750227),s=e.i(660526),a=e.i(902157),n=e.i(666680);let o=null;function i(){if(o)return o;let e=r.default.join(process.env.HOME??s.default.homedir(),".wiki-viewer");return(0,a.mkdirSync)(e,{recursive:!0}),(o=new t.default(r.default.join(e,"shared.db"))).pragma("journal_mode = WAL"),o.pragma("synchronous = NORMAL"),o.exec(`
2
+ CREATE TABLE IF NOT EXISTS shared_docs (
3
+ id TEXT PRIMARY KEY,
4
+ workspace_id TEXT NOT NULL,
5
+ file_path TEXT NOT NULL,
6
+ token TEXT NOT NULL UNIQUE,
7
+ password_hash TEXT,
8
+ expires_at TEXT,
9
+ created_by TEXT NOT NULL,
10
+ created_at TEXT NOT NULL,
11
+ view_count INTEGER NOT NULL DEFAULT 0,
12
+ is_revoked INTEGER NOT NULL DEFAULT 0
13
+ );
14
+ CREATE INDEX IF NOT EXISTS shared_docs_token_idx ON shared_docs(token);
15
+ CREATE INDEX IF NOT EXISTS shared_docs_file_idx ON shared_docs(workspace_id, file_path);
16
+ `),o}function l(e){return{id:e.id,workspaceId:e.workspace_id,filePath:e.file_path,token:e.token,passwordHash:e.password_hash??null,expiresAt:e.expires_at??null,createdBy:e.created_by,createdAt:e.created_at,viewCount:e.view_count??0,isRevoked:1===e.is_revoked}}e.s(["createShare",0,function(e){var t;let r,s,a=i(),o="shr_"+(0,n.randomBytes)(8).toString("base64url"),l=(0,n.randomBytes)(16).toString("base64url"),u=e.password?(t=e.password,r=(0,n.randomBytes)(16).toString("hex"),s=(0,n.scryptSync)(t,r,64).toString("hex"),`${r}:${s}`):null,c={id:o,workspaceId:e.workspaceId,filePath:e.filePath,token:l,passwordHash:u,expiresAt:e.expiresAt??null,createdBy:e.createdBy,createdAt:new Date().toISOString(),viewCount:0,isRevoked:!1},d={...c,isRevoked:+!!c.isRevoked};return a.prepare(`INSERT INTO shared_docs
17
+ (id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
18
+ VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(d),c},"getShareByToken",0,function(e){let t=i().prepare("SELECT * FROM shared_docs WHERE token = ?").get(e);return t?l(t):null},"incrementViewCount",0,function(e){i().prepare("UPDATE shared_docs SET view_count = view_count + 1 WHERE token = ?").run(e)},"isExpired",0,function(e){return!!e.expiresAt&&new Date(e.expiresAt)<new Date},"listSharesForFile",0,function(e,t){return i().prepare("SELECT * FROM shared_docs WHERE workspace_id = ? AND file_path = ? AND is_revoked = 0 ORDER BY created_at DESC").all(e,t).map(l)},"revokeShare",0,function(e){i().prepare("UPDATE shared_docs SET is_revoked = 1 WHERE id = ?").run(e)},"verifyPassword",0,function(e,t){let[r,s]=t.split(":"),a=(0,n.scryptSync)(e,r,64),o=Buffer.from(s,"hex");return a.length===o.length&&(0,n.timingSafeEqual)(a,o)}])},687458,e=>{"use strict";var t=e.i(364564),r=e.i(102095),s=e.i(691091),a=e.i(475331),n=e.i(490301),o=e.i(670943),i=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 _=e.i(530564),g=e.i(702414),v=e.i(402662),k=e.i(254226),R=e.i(359211),x=e.i(719126),E=e.i(517387),y=e.i(97082);async function T(t){let r,s=(0,y.getShareByToken)(t);if(!s)return{ok:!1,response:g.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(s.isRevoked)return{ok:!1,response:g.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,y.isExpired)(s))return{ok:!1,response:g.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let a=await (0,R.getWorkspace)(s.workspaceId);if(!a)return{ok:!1,response:g.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let n=await (0,x.safeAbsPath)(a.rootDir,s.filePath);if(!n)return{ok:!1,response:g.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};let{readFile:o,stat:i}=await e.A(687903);try{if((await i(n)).size>1048576)return{ok:!1,response:g.NextResponse.json({error:"too_large",message:"File too large to share (max 1MB)"},{status:413})}}catch{return{ok:!1,response:g.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}try{r=(await o(n)).toString("utf-8")}catch(e){return console.error("[share] readFile(%s) %s",n,e instanceof Error?e.message:String(e)),{ok:!1,response:g.NextResponse.json({error:"read_error",message:"Failed to read file"},{status:500})}}return(0,y.incrementViewCount)(t),{ok:!0,content:r,filename:s.filePath.split("/").pop()??s.filePath,viewCount:s.viewCount+1}}async function N(e,{params:t}){let{token:r}=await t,s=(0,E.checkAndConsume)(`share:${r}`,1);if(!s.ok)return g.NextResponse.json({error:"rate_limited",message:"Too many requests"},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let a=(0,y.getShareByToken)(r);if(!a)return g.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404});if(a.isRevoked)return g.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410});if((0,y.isExpired)(a))return g.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410});if(a.passwordHash)return g.NextResponse.json({protected:!0,message:"This document is password-protected"},{status:401});let n=await T(r);return n.ok?g.NextResponse.json({content:n.content,filename:n.filename,viewCount:n.viewCount}):n.response}async function S(e,{params:t}){let{token:r}=await t,s=(0,y.getShareByToken)(r);if(!s)return g.NextResponse.json({error:"not_found"},{status:404});if(s.isRevoked)return g.NextResponse.json({error:"revoked"},{status:410});if((0,y.isExpired)(s))return g.NextResponse.json({error:"expired"},{status:410});if(!s.passwordHash)return g.NextResponse.json({error:"not_protected"},{status:400});let a=(0,E.checkAndConsume)(`share-pwd:${r}`,1);if(!a.ok)return g.NextResponse.json({error:"rate_limited",message:"Too many attempts. Try again later."},{status:429,headers:{"Retry-After":String(Math.ceil(a.retryAfterMs/1e3))}});let n=await e.json();if(!n.password||"string"!=typeof n.password)return g.NextResponse.json({error:"missing_password"},{status:400});if(!(0,y.verifyPassword)(n.password,s.passwordHash))return g.NextResponse.json({error:"wrong_password",message:"Incorrect password"},{status:403});let o=await T(r);return o.ok?g.NextResponse.json({content:o.content,filename:o.filename,viewCount:o.viewCount}):o.response}async function A(t,{params:r}){let{token:s}=await r,a=(0,v.checkOrigin)(t);if(a)return a;let n=await (0,k.requireUser)(t);if(!n.ok)return g.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let o=(0,y.getShareByToken)(s);if(!o)return g.NextResponse.json({error:"not_found"},{status:404});if(o.createdBy!==n.user.id){let{isAdmin:t}=await e.A(919623);if(!await t(n.user.id,n.user.email))return g.NextResponse.json({error:"FORBIDDEN"},{status:403})}return(0,y.revokeShare)(o.id),g.NextResponse.json({ok:!0})}e.s(["DELETE",0,A,"GET",0,N,"POST",0,S],998553);var j=e.i(998553);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/[token]/route",pathname:"/api/share/[token]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/[token]/route.ts",nextConfigOutput:"standalone",userland:j,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:I,serverHooks:P}=C;async function D(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/share/[token]/route";g=g.replace(/\/index$/,"")||"/";let v=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:k,params:R,nextConfig:x,parsedUrl:E,isDraftMode:y,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,resolvedPathname:j,clientReferenceManifest:O,serverActionsManifest:I}=v,P=(0,i.normalizeAppPath)(g),D=!!(T.dynamicRoutes[P]||T.routes[j]),b=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!y){let e=!!T.routes[j],t=T.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await b();throw new w.NoFallbackError}}let U=null;!D||C.isDev||y||(U="/index"===(U=j)?"/":U);let M=!0===C.isDev||!D,B=D&&!M;I&&O&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:I});let H=e.method||"GET",L=(0,n.getTracer)(),W=L.getActiveScopeSpan(),q=!!(null==N?void 0:N.isWrappedByNextServer),F=!!(0,a.getRequestMeta)(e,"minimalMode"),$=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,x,T,F);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let X={params:R,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:x.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>C.onRequestError(e,t,s,a,N)},sharedContext:{buildId:k}},z=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(G,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.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=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${H} ${g}`)}),i=async a=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!F&&S&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=X.renderOpts.fetchMetrics;let i=X.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,K,n,X.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,s=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:S})},!1,N),t}},u=await C.handleResponse({req:e,nextConfig:x,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:F});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&D||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,K,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};q&&W?await i(W):(a=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},i),void 0,!q))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:S})},!1,N),D)throw t;return await (0,p.sendResponse)(z,K,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:I})},"routeModule",0,C,"serverHooks",0,P,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,I],687458)},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]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},919623,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_admin_ts_0g4i6v_._.js"].map(t=>e.l(t))).then(()=>t(583627)))}];
19
+
20
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0yzle76._.js.map
@@ -0,0 +1,20 @@
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function a(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function s(e,r){if(r){let e=a();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function n(){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=a().length>0,s=!1;if(await (0,t.updateConfig)(t=>{let a=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==a.length||r?{...t,adminUserIds:a}:(s=!0,t)}),s)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(a().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 s(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,s,"listAdmins",0,n,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),a=e.i(798003);async function s(){return(await (0,a.readConfig)()).workspaces??[]}async function n(e){return(await s()).find(t=>t.id===e)??null}async function i(e){let s=t.default.resolve(e.rootDir),n={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:e.name??t.default.basename(s),rootDir:s,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,a.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],n]})),n}function o(e,t){return(0,a.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,a.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 d(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function c(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),s=await (0,a.readConfig)();if((s.workspaces??[]).length>0||!e(s)){h=!0;return}let n=null;await (0,a.updateConfig)(a=>{let s=a.workspaces??[],i=e(a);if(s.length>0||!i)return a;let o=t.default.resolve(i);return n={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:a.pinnedPaths},{...a,workspaces:[n]}}),n&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${n.name}" (${n.id})`),h=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,n,"listWorkspaces",0,s,"migrateConfigToWorkspaces",0,f,"removeWorkspace",0,u,"renameWorkspace",0,l,"safeWorkspacePath",0,function(e,r){if(!e)return null;if(!r||"."===r)return e;let a=t.default.resolve(e,r);return a===e||a.startsWith(e+t.default.sep)?a:null},"setWorkspaceAccess",0,d,"setWorkspacePins",0,c,"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),a=e.i(583627),s=e.i(504445),n=e.i(359211);async function i(e){await (0,n.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)return await (0,n.getWorkspace)(r)??null;let a=await (0,n.listWorkspaces)();if(0===a.length){let e;return(e=(0,s.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}return a.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,a=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return a!==r?a-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 s=await (0,a.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,n.userCanAccess)(l,t.user.id,s)?{ok:!0,ws:l,rootDir:l.rootDir,userId:t.user.id,isAdmin:s}:{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 a=e.headers.get("origin"),s=e.headers.get("referer");if(!a&&!s)return null;let n=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 a=new Set;for(let e of t)for(let t of["http","https"])for(let s of r)a.add(`${t}://${e}${s}`);return a}(e.headers.get("host")??"");if(a)return n.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(s){try{let{protocol:e,host:t}=new URL(s);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227);function s(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function n(e,t){if(!e)return null;let n=a.default.normalize(t);if(n.startsWith("..")||a.default.isAbsolute(n)||s(n))return null;let i=a.default.join(e,n);if(i!==e&&!i.startsWith(e+a.default.sep))return null;try{let t=await (0,r.realpath)(i);if(t!==e&&!t.startsWith(e+a.default.sep))return null}catch{let t=a.default.dirname(i);if(t!==i)try{let s=await (0,r.realpath)(t);if(s!==e&&!s.startsWith(e+a.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 a=420;try{let t=await (0,r.stat)(e);a=511&t.mode}catch{}let s=e+".~"+process.pid+"."+Date.now()+".tmp",n=await (0,r.open)(s,"w",a);try{await n.write(t),await n.datasync()}finally{await n.close()}await (0,r.rename)(s,e)}async function l(e,t){let s=a.default.dirname(e);if(t)return await (0,r.mkdir)(s,{recursive:!0}),!0;try{return await (0,r.stat)(s),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,s,"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[a.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,n,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},97082,e=>{"use strict";var t=e.i(286607),r=e.i(750227),a=e.i(660526),s=e.i(902157),n=e.i(666680);let i=null;function o(){if(i)return i;let e=r.default.join(process.env.HOME??a.default.homedir(),".wiki-viewer");return(0,s.mkdirSync)(e,{recursive:!0}),(i=new t.default(r.default.join(e,"shared.db"))).pragma("journal_mode = WAL"),i.pragma("synchronous = NORMAL"),i.exec(`
2
+ CREATE TABLE IF NOT EXISTS shared_docs (
3
+ id TEXT PRIMARY KEY,
4
+ workspace_id TEXT NOT NULL,
5
+ file_path TEXT NOT NULL,
6
+ token TEXT NOT NULL UNIQUE,
7
+ password_hash TEXT,
8
+ expires_at TEXT,
9
+ created_by TEXT NOT NULL,
10
+ created_at TEXT NOT NULL,
11
+ view_count INTEGER NOT NULL DEFAULT 0,
12
+ is_revoked INTEGER NOT NULL DEFAULT 0
13
+ );
14
+ CREATE INDEX IF NOT EXISTS shared_docs_token_idx ON shared_docs(token);
15
+ CREATE INDEX IF NOT EXISTS shared_docs_file_idx ON shared_docs(workspace_id, file_path);
16
+ `),i}function l(e){return{id:e.id,workspaceId:e.workspace_id,filePath:e.file_path,token:e.token,passwordHash:e.password_hash??null,expiresAt:e.expires_at??null,createdBy:e.created_by,createdAt:e.created_at,viewCount:e.view_count??0,isRevoked:1===e.is_revoked}}e.s(["createShare",0,function(e){var t;let r,a,s=o(),i="shr_"+(0,n.randomBytes)(8).toString("base64url"),l=(0,n.randomBytes)(16).toString("base64url"),u=e.password?(t=e.password,r=(0,n.randomBytes)(16).toString("hex"),a=(0,n.scryptSync)(t,r,64).toString("hex"),`${r}:${a}`):null,d={id:i,workspaceId:e.workspaceId,filePath:e.filePath,token:l,passwordHash:u,expiresAt:e.expiresAt??null,createdBy:e.createdBy,createdAt:new Date().toISOString(),viewCount:0,isRevoked:!1},c={...d,isRevoked:+!!d.isRevoked};return s.prepare(`INSERT INTO shared_docs
17
+ (id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
18
+ VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(c),d},"getShareByToken",0,function(e){let t=o().prepare("SELECT * FROM shared_docs WHERE token = ?").get(e);return t?l(t):null},"incrementViewCount",0,function(e){o().prepare("UPDATE shared_docs SET view_count = view_count + 1 WHERE token = ?").run(e)},"isExpired",0,function(e){return!!e.expiresAt&&new Date(e.expiresAt)<new Date},"listSharesForFile",0,function(e,t){return o().prepare("SELECT * FROM shared_docs WHERE workspace_id = ? AND file_path = ? AND is_revoked = 0 ORDER BY created_at DESC").all(e,t).map(l)},"revokeShare",0,function(e){o().prepare("UPDATE shared_docs SET is_revoked = 1 WHERE id = ?").run(e)},"verifyPassword",0,function(e,t){let[r,a]=t.split(":"),s=(0,n.scryptSync)(e,r,64),i=Buffer.from(a,"hex");return s.length===i.length&&(0,n.timingSafeEqual)(s,i)}])},732733,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),s=e.i(475331),n=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),c=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 _=e.i(530564),v=e.i(702414),g=e.i(402662),R=e.i(254226),k=e.i(660038),E=e.i(719126),x=e.i(97082);async function A(t){let r=(0,g.checkOrigin)(t);if(r)return r;let a=await (0,R.requireUser)(t);if(!a.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let s=await (0,k.resolveWorkspaceForUser)(t);if(!s.ok)return v.NextResponse.json({error:s.code},{status:s.status});let n=await t.json(),i=n.path;if(!i||"string"!=typeof i)return v.NextResponse.json({error:"Missing path"},{status:400});let o=await (0,E.safeAbsPath)(s.rootDir,i);if(!o)return v.NextResponse.json({error:"Invalid path"},{status:400});let{stat:l}=await e.A(687903);try{await l(o)}catch{return v.NextResponse.json({error:"File not found"},{status:404})}if(void 0!==n.password&&"string"!=typeof n.password)return v.NextResponse.json({error:"Invalid password"},{status:400});if(void 0!==n.expiresAt&&null!==n.expiresAt&&"string"!=typeof n.expiresAt)return v.NextResponse.json({error:"Invalid expiresAt"},{status:400});if(n.expiresAt){let e=new Date(n.expiresAt);if(isNaN(e.getTime()))return v.NextResponse.json({error:"Invalid date"},{status:400});if(e.getTime()<Date.now())return v.NextResponse.json({error:"Date is in the past"},{status:400})}let u=(0,x.createShare)({workspaceId:s.ws.id,filePath:i,password:n.password&&n.password.length>0?n.password:void 0,expiresAt:n.expiresAt||void 0,createdBy:a.user.id});return v.NextResponse.json({token:u.token,url:`/s/${u.token}`,hasPassword:!!u.passwordHash,expiresAt:u.expiresAt,createdAt:u.createdAt})}async function y(e){let t=(0,g.checkOrigin)(e);if(t)return t;if(!(await (0,R.requireUser)(e)).ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let r=await (0,k.resolveWorkspaceForUser)(e);if(!r.ok)return v.NextResponse.json({error:r.code},{status:r.status});let{searchParams:a}=new URL(e.url),s=a.get("path");if(!s)return v.NextResponse.json({error:"Missing path"},{status:400});let n=(0,x.listSharesForFile)(r.ws.id,s);return v.NextResponse.json({shares:n.map(e=>({id:e.id,token:e.token,url:`/s/${e.token}`,hasPassword:!!e.passwordHash,expiresAt:e.expiresAt,createdAt:e.createdAt,viewCount:e.viewCount,isExpired:!!e.expiresAt&&new Date(e.expiresAt)<new Date}))})}e.s(["GET",0,y,"POST",0,A],870221);var T=e.i(870221);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/route",pathname:"/api/share",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:O,serverHooks:D}=I;async function S(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/route";v=v.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:E,parsedUrl:x,isDraftMode:A,prerenderManifest:y,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,resolvedPathname:D,clientReferenceManifest:S,serverActionsManifest:C}=g,U=(0,o.normalizeAppPath)(v),P=!!(y.dynamicRoutes[U]||y.routes[D]),j=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,x,!1):t.end("This page could not be found"),null);if(P&&!A){let e=!!y.routes[D],t=y.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await j();throw new m.NoFallbackError}}let b=null;!P||I.isDev||A||(b="/index"===(b=D)?"/":b);let W=!0===I.isDev||!P,L=P&&!W;C&&S&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:C});let H=e.method||"GET",B=(0,n.getTracer)(),q=B.getActiveScopeSpan(),M=!!(null==T?void 0:T.isWrappedByNextServer),F=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,E,y,F);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let K={params:k,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:W,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,T)},sharedContext:{buildId:R}},X=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>I.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&N&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(X,z,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,T),t}},u=await I.handleResponse({req:e,nextConfig:E,cacheKey:b,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!P)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==_.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",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&P||d.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(X,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};M&&q?await o(q):(s=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,T),P)throw t;return await (0,p.sendResponse)(X,z,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:O})},"routeModule",0,I,"serverHooks",0,D,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,O],732733)},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]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
19
+
20
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0z.pwwj._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function a(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=a();if(e.length>0&&e.includes(r.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 r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=a().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let a=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==a.length||r?{...t,adminUserIds:a}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(a().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,s,"removeAdmin",0,o,"requireAdmin",0,u])},359211,e=>{"use strict";var t=e.i(750227),r=e.i(666680),a=e.i(798003);async function n(){return(await (0,a.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,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,a.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],s]})),s}function o(e,t){return(0,a.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function l(e,t){await o(e,e=>({...e,name:t}))}async function u(t){await (0,a.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 d(e,t){await o(e,e=>({...e,allowedUserIds:t}))}async function c(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,a.readConfig)();if((n.workspaces??[]).length>0||!e(n)){f=!0;return}let s=null;await (0,a.updateConfig)(a=>{let n=a.workspaces??[],i=e(a);if(n.length>0||!i)return a;let o=t.default.resolve(i);return s={id:"ws_"+(0,r.randomBytes)(6).toString("base64url"),name:t.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:a.pinnedPaths},{...a,workspaces:[s]}}),s&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${s.name}" (${s.id})`),f=!0}e.s(["createWorkspace",0,i,"getWorkspace",0,s,"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 a=t.default.resolve(e,r);return a===e||a.startsWith(e+t.default.sep)?a:null},"setWorkspaceAccess",0,d,"setWorkspacePins",0,c,"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),a=e.i(583627),n=e.i(504445),s=e.i(359211);async function i(e){await (0,s.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)return await (0,s.getWorkspace)(r)??null;let a=await (0,s.listWorkspaces)();if(0===a.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 a.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,a=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return a!==r?a-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,a.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])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??a.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,r.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,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function f(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let r=await c();if(!r)return null;let a=d(e);for(let e of r.agents)if(function(e,r){let a=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(r.padEnd(64,"0"),"utf8");return a.length===n.length&&(0,t.timingSafeEqual)(a,n)&&e.length===r.length}(e.tokenHash,a))return e;return null}async function w(e){await (0,s.withFileMutex)(i,async()=>{let t=await f(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await p(t)})}async function m(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await p(t),!0)})}async function g(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,w,"hashToken",0,d,"lookupAgentByToken",0,h,"readRegistry",0,c,"removeAgent",0,m,"updateLastSeen",0,g])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var a=e.i(254226);async function n(e){let r=await (0,a.getSessionFromRequest)(e);if(r?.user){let e=r.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")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{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:a}=e;return void 0!==a.workspaceId&&void 0!==t.workspaceId&&a.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${a.workspaceId}")`}:a.ops.includes(t.op)?t.filePath&&!a.paths.some(e=>r(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)},973909,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e,t){return r.default.join(e,".proof",t+".json")}async function n(e,r){let n=a(e,r);try{let e=await (0,t.readFile)(n,"utf-8"),r=JSON.parse(e);if(1!==r.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${r.schemaVersion}`);return r}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function s(e,n,s){let i=a(e,n);await (0,t.mkdir)(r.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(s,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,n,s){let i=a(e,n),o=a(e,s);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,r){let n=a(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,n,"writeSidecar",0,s])},998395,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=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),d=e.i(420180),c=e.i(867883),p=e.i(336708),f=e.i(682278),h=e.i(157569),w=e.i(844146),m=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(702414),k=e.i(215043),R=e.i(973909),_=e.i(660038),A=e.i(359211);async function y(e,{params:t}){let r=await (0,k.checkAuth)(e);if(!r.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{path:a}=await t,n=a.join("/");if(n.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!(n.endsWith(".md")||n.endsWith(".markdown")))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});let s=await (0,_.resolveWorkspaceForAgent)(e);if(!s.ok)return v.NextResponse.json({error:s.code},{status:s.status});let{ws:i,rootDir:o}=s;if(!(0,A.safeWorkspacePath)(o,n))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let l=(0,k.enforceScope)(r.agent,{filePath:n,op:"read",workspaceId:i.id});if(!l.ok)return v.NextResponse.json({error:l.code,message:l.message},{status:403});let u=await (0,R.readSidecar)(o,n)??(0,R.emptySidecar)(n);return v.NextResponse.json(u)}e.s(["GET",0,y,"runtime",0,"nodejs"],206380);var E=e.i(206380);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/sidecar/[...path]/route",pathname:"/api/agent/sidecar/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/sidecar/[...path]/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:D,serverHooks:N}=I;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/sidecar/[...path]/route";v=v.replace(/\/index$/,"")||"/";let k=await I.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:A,parsedUrl:y,isDraftMode:E,prerenderManifest:O,routerServerContext:D,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,resolvedPathname:x,clientReferenceManifest:C,serverActionsManifest:P}=k,T=(0,o.normalizeAppPath)(v),U=!!(O.dynamicRoutes[T]||O.routes[x]),b=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,y,!1):t.end("This page could not be found"),null);if(U&&!E){let e=!!O.routes[x],t=O.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await b();throw new m.NoFallbackError}}let j=null;!U||I.isDev||E||(j="/index"===(j=x)?"/":j);let q=!0===I.isDev||!U,W=U&&!q;P&&C&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:C,serverActionsManifest:P});let H=e.method||"GET",B=(0,s.getTracer)(),M=B.getActiveScopeSpan(),F=!!(null==D?void 0:D.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,A,O,$);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:_,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:q,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>I.onRequestError(e,t,a,n,D)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>I.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!$&&N&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(V,z,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:N})},!1,D),t}},u=await I.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:$});if(!U)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});$||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return $&&U||d.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&M?await o(M):(n=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:N})},!1,D),U)throw t;return await (0,p.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:D})},"routeModule",0,I,"serverHooks",0,N,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,D],998395)},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
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0zgb.q2._.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){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)))}];
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])},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},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
- //# sourceMappingURL=%5Broot-of-the-server%5D__00qu86p._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0zq0rlw._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},959801,(e,t,r)=>{"use strict";t.exports=e.r(918622)},637142,(e,t,r)=>{"use strict";t.exports=e.r(959801).vendored["react-rsc"].React},186791,(e,t,r)=>{"use strict";var n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a={},l={RequestCookies:()=>g,ResponseCookies:()=>x,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>u};for(var p in l)n(a,p,{get:l[p],enumerable:!0});function u(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,s]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=s?s:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:s,expires:o,httponly:i,maxage:a,path:l,samesite:p,secure:u,partitioned:c,priority:g}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var x,h,y={name:t,value:decodeURIComponent(r),domain:s,...o&&{expires:new Date(o)},...i&&{httpOnly:!0},..."string"==typeof a&&{maxAge:Number(a)},path:l,...p&&{sameSite:f.includes(x=(x=p).toLowerCase())?x:void 0},...u&&{secure:!0},...g&&{priority:m.includes(h=(h=g).toLowerCase())?h:void 0},...c&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of o(t))i.call(e,a)||void 0===a||n(e,a,{get:()=>t[a],enumerable:!(r=s(t,a))||r.enumerable});return e})(n({},"__esModule",{value:!0}),a);var f=["strict","lax","none"],m=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>u(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>u(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},x=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const s=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(s)?s:function(e){if(!e)return[];var t,r,n,s,o,i=[],a=0;function l(){for(;a<e.length&&/\s/.test(e.charAt(a));)a+=1;return a<e.length}for(;a<e.length;){for(t=a,o=!1;l();)if(","===(r=e.charAt(a))){for(n=a,a+=1,l(),s=a;a<e.length&&"="!==(r=e.charAt(a))&&";"!==r&&","!==r;)a+=1;a<e.length&&"="===e.charAt(a)?(o=!0,a=s,i.push(e.substring(t,n)),t=a):a=n+1}else a+=1;(!o||a>=e.length)&&i.push(e.substring(t,e.length))}return i}(s)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,s=this._parsed;return s.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=u(r);t.append("set-cookie",e)}}(s,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(u).join("; ")}}},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},951615,(e,t,r)=>{t.exports=e.x("node:buffer",()=>require("node:buffer"))},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},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),n=e.i(761095),s=e.i(750227);let o=new Map;function i(e,t){return new Promise(r=>{let s=(0,n.createConnection)(e,t);s.setTimeout(800),s.on("connect",()=>{s.destroy(),r(!0)}),s.on("error",()=>{s.destroy(),r(!1)}),s.on("timeout",()=>{s.destroy(),r(!1)})})}async function a(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=s.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 p(e,t){return t.start?"start":t.preview&&(0,r.existsSync)(s.default.join(e,"dist"))?"preview":t.dev?"dev":null}async function u(e,i,u){let d=o.get(e);if(d&&"stopped"!==d.status&&"error"!==d.status)return{port:d.port};let c=await new Promise((e,t)=>{let r=(0,n.createServer)();r.listen(0,"127.0.0.1",()=>{let t=r.address(),n="object"==typeof t&&t?t.port:0;r.close(()=>e(n))}),r.on("error",t)}),f=(0,r.existsSync)(s.default.join(i,"pnpm-lock.yaml"))?"pnpm":(0,r.existsSync)(s.default.join(i,"yarn.lock"))?"yarn":"npm",m=function(e,t,r){let n=l(e);if(!n)return null;let s=n.scripts??{},o=Object.keys({...n.dependencies,...n.devDependencies}).some(e=>"vite"===e||e.includes("vite")),i=(e,r=[])=>({bin:t,args:["run",e,...r.length?["--",...r]:[]],isVite:o});if(r&&s[r])return i(r);let a=p(e,s);return a?i(a):n.main?{bin:"node",args:[n.main],isVite:!1}:null}(i,f,u);if(!m)throw Error("No runnable script found in package.json (need start, preview, or dev)");let g={port:c,process:null,status:"installing",logs:[]};o.set(e,g);let x=e=>{g.logs.push(e),g.logs.length>200&&g.logs.shift()};if(!(0,r.existsSync)(s.default.join(i,"node_modules")))try{x(`[wiki-viewer] Running ${f} install…`),await new Promise((e,r)=>{let n=(0,t.spawn)(f,["install"],{cwd:i,stdio:"pipe"});n.on("exit",t=>0===t?e():r(Error(`${f} install failed (exit ${t})`))),n.on("error",r)})}catch(e){return g.status="error",g.error=String(e),{port:c}}g.status="starting",x(`[wiki-viewer] Starting on port ${c}: ${m.bin} ${m.args.join(" ")}`);let h=m.isVite?["--port",String(c)]:[],y=(0,t.spawn)(m.bin,[...m.args,...h],{cwd:i,stdio:"pipe",env:{...process.env,PORT:String(c),VITE_PORT:String(c)}});g.process=y;let v=e=>{for(let t of e.toString().split("\n"))t.trim()&&x(t)};return y.stdout?.on("data",v),y.stderr?.on("data",v),y.on("exit",t=>{let r=o.get(e);r?.process===y&&(r.status=0===t||null===t?"stopped":"error",r.error=t?`Process exited with code ${t}`:void 0)}),a(c).then(t=>{let r=o.get(e);r?.process===y&&(r.status=t?"running":"error",t||(r.error="Port never became reachable (30 s timeout)"))}),{port:c}}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:p(e,r)}},"getStatus",0,function(e){let t=o.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("/"),n=o.get(r);if(n&&"running"===n.status&&n.port){let s="/"+e.slice(t).join("/");return{relPath:r,port:n.port,rest:s}}}return null},"startApp",0,u,"stopApp",0,function(e){let t=o.get(e);if(t?.process){try{t.process.kill("SIGTERM")}catch{}t.status="stopped"}}])}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},959801,(e,t,r)=>{"use strict";t.exports=e.r(918622)},637142,(e,t,r)=>{"use strict";t.exports=e.r(959801).vendored["react-rsc"].React},186791,(e,t,r)=>{"use strict";var n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a={},l={RequestCookies:()=>g,ResponseCookies:()=>x,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>u};for(var p in l)n(a,p,{get:l[p],enumerable:!0});function u(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,s]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=s?s:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:s,expires:o,httponly:i,maxage:a,path:l,samesite:p,secure:u,partitioned:c,priority:g}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var x,h,y={name:t,value:decodeURIComponent(r),domain:s,...o&&{expires:new Date(o)},...i&&{httpOnly:!0},..."string"==typeof a&&{maxAge:Number(a)},path:l,...p&&{sameSite:f.includes(x=(x=p).toLowerCase())?x:void 0},...u&&{secure:!0},...g&&{priority:m.includes(h=(h=g).toLowerCase())?h:void 0},...c&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of o(t))i.call(e,a)||void 0===a||n(e,a,{get:()=>t[a],enumerable:!(r=s(t,a))||r.enumerable});return e})(n({},"__esModule",{value:!0}),a);var f=["strict","lax","none"],m=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>u(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>u(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},x=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const s=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(s)?s:function(e){if(!e)return[];var t,r,n,s,o,i=[],a=0;function l(){for(;a<e.length&&/\s/.test(e.charAt(a));)a+=1;return a<e.length}for(;a<e.length;){for(t=a,o=!1;l();)if(","===(r=e.charAt(a))){for(n=a,a+=1,l(),s=a;a<e.length&&"="!==(r=e.charAt(a))&&";"!==r&&","!==r;)a+=1;a<e.length&&"="===e.charAt(a)?(o=!0,a=s,i.push(e.substring(t,n)),t=a):a=n+1}else a+=1;(!o||a>=e.length)&&i.push(e.substring(t,e.length))}return i}(s)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,s=this._parsed;return s.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=u(r);t.append("set-cookie",e)}}(s,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(u).join("; ")}}},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},951615,(e,t,r)=>{t.exports=e.x("node:buffer",()=>require("node:buffer"))},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},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),n=e.i(761095),s=e.i(750227);let o=new Map;function i(e,t){return new Promise(r=>{let s=(0,n.createConnection)(e,t);s.setTimeout(800),s.on("connect",()=>{s.destroy(),r(!0)}),s.on("error",()=>{s.destroy(),r(!1)}),s.on("timeout",()=>{s.destroy(),r(!1)})})}async function a(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=s.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 p(e,t){return t.start?"start":t.preview&&(0,r.existsSync)(s.default.join(e,"dist"))?"preview":t.dev?"dev":null}async function u(e,i,u){let d=o.get(e);if(d&&"stopped"!==d.status&&"error"!==d.status)return{port:d.port};let c=await new Promise((e,t)=>{let r=(0,n.createServer)();r.listen(0,"127.0.0.1",()=>{let t=r.address(),n="object"==typeof t&&t?t.port:0;r.close(()=>e(n))}),r.on("error",t)}),f=(0,r.existsSync)(s.default.join(i,"pnpm-lock.yaml"))?"pnpm":(0,r.existsSync)(s.default.join(i,"yarn.lock"))?"yarn":"npm",m=function(e,t,r){let n=l(e);if(!n)return null;let s=n.scripts??{},o=Object.keys({...n.dependencies,...n.devDependencies}).some(e=>"vite"===e||e.includes("vite")),i=(e,r=[])=>({bin:t,args:["run",e,...r.length?["--",...r]:[]],isVite:o});if(r&&s[r])return i(r);let a=p(e,s);return a?i(a):n.main?{bin:"node",args:[n.main],isVite:!1}:null}(i,f,u);if(!m)throw Error("No runnable script found in package.json (need start, preview, or dev)");let g={port:c,process:null,status:"installing",logs:[]};o.set(e,g);let x=e=>{g.logs.push(e),g.logs.length>200&&g.logs.shift()};if(!(0,r.existsSync)(s.default.join(i,"node_modules")))try{x(`[wiki-viewer] Running ${f} install…`),await new Promise((e,r)=>{let n=(0,t.spawn)(f,["install"],{cwd:i,stdio:"pipe"});n.on("exit",t=>0===t?e():r(Error(`${f} install failed (exit ${t})`))),n.on("error",r)})}catch(e){return g.status="error",g.error=String(e),{port:c}}g.status="starting",x(`[wiki-viewer] Starting on port ${c}: ${m.bin} ${m.args.join(" ")}`);let h=m.isVite?["--port",String(c)]:[],y=(0,t.spawn)(m.bin,[...m.args,...h],{cwd:i,stdio:"pipe",env:{...process.env,PORT:String(c),VITE_PORT:String(c)}});g.process=y;let v=e=>{for(let t of e.toString().split("\n"))t.trim()&&x(t)};return y.stdout?.on("data",v),y.stderr?.on("data",v),y.on("exit",t=>{let r=o.get(e);r?.process===y&&(r.status=0===t||null===t?"stopped":"error",r.error=t?`Process exited with code ${t}`:void 0)}),a(c).then(t=>{let r=o.get(e);r?.process===y&&(r.status=t?"running":"error",t||(r.error="Port never became reachable (30 s timeout)"))}),{port:c}}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:p(e,r)}},"getStatus",0,function(e){let t=o.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("/"),n=o.get(r);if(n&&"running"===n.status&&n.port){let s="/"+e.slice(t).join("/");return{relPath:r,port:n.port,rest:s}}}return null},"startApp",0,u,"stopApp",0,function(e){let t=o.get(e);if(t?.process){try{t.process.kill("SIGTERM")}catch{}t.status="stopped"}}])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0-inabx._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__12y5z5j._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[124155,s=>{"use strict";s.s([])}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_share_%5Btoken%5D_route_actions_0~m-o26.js.map