wiki-viewer 3.0.0 → 3.0.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 (187) hide show
  1. package/.next/standalone/.backup-authdb/auth.db.bak-20260917-161414 +0 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +5 -5
  6. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/wiki/hosted-apps/[slug]/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/wiki/hosted-apps/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/wiki/scratch/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/app/[slug]/[[...rest]]/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/chunks/0.u4_next_dist_0k.q4j~._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_0.4w~2_.js +1 -1
  68. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_024r~hj.js +1 -1
  69. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_0hlp8kc.js +1 -1
  70. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_0kj1.1o.js +1 -1
  71. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_12fsa9t.js +1 -1
  72. package/.next/standalone/.next/server/chunks/0.u4_next_dist_esm_build_templates_app-route_12qnjz7.js +1 -1
  73. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.fl467._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00dflrb._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01aj28~._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01gvb63._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02dkper._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nhhnt._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ovz0q._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__034zu-9._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03eilzu._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03ivskm._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04smpj8._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05h6fe-._.js +1 -1
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05s.pyr._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07757zz._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0780pzf._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_2j7pq._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0__5_f3._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_u7i7z._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_yp6y3._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ah~dki._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0apz83x._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b1c__~._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cjpldw._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cm0bo-._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cqahds._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d3bkh3._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dya7sd._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f.q.gf._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fkfkc.._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gri8a8._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gugnl-._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ivbizg._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j3mjvx._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l.mcpo._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l.w~4m._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l2wp1m._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ltsov-._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mar4ob._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mpkhjm._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0owf77v._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pftyle._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ppgs1m._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0puvgme._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p~gv_2._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qgog4p._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qwikxp._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rdc.sv._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rqm3om._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0shc-wa._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0shhawu._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tjcm.o._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tl7-s6._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tuu3y1._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u7wq9p._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ul.gyt._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w2ba2x._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w648ao._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yzumg-._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0z2-rh.._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~a6cyg._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~q~4xc._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__101dr96._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10i6erq._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__128augu._.js +2 -2
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12e_piv._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/node_modules__pnpm_0~gj5.~._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_01swx_l._.js → 0~w0_katex_dist_katex_mjs_0gmvgrf._.js} +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_sequenceDiagram-3UESZ5HK_mjs_015n5fb._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0xl7e3h._.js → [root-of-the-server]__0cvdst3._.js} +2 -2
  142. package/.next/standalone/.next/server/chunks/ssr/_0k6g8yo._.js +12 -12
  143. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_05s3rp_._.js → node_modules__pnpm_0-y2e10._.js} +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0wyvqp7._.js → node_modules__pnpm_00tpvdu._.js} +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0yyt.qr._.js → node_modules__pnpm_0883ifk._.js} +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_08wjj_6._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0hajaki._.js → node_modules__pnpm_09h4wu8._.js} +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0gguvd4._.js → node_modules__pnpm_0a6kqvf._.js} +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0hy39av._.js → node_modules__pnpm_0cxv0mk._.js} +1 -1
  150. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0oexapu._.js → node_modules__pnpm_0d34dhx._.js} +1 -1
  151. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0aca6hd._.js → node_modules__pnpm_0djcgeo._.js} +1 -1
  152. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0jq2ef9._.js → node_modules__pnpm_0fbxocr._.js} +2 -2
  153. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0o~vvgs._.js → node_modules__pnpm_0g_0et~._.js} +1 -1
  154. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0j_.d8m._.js → node_modules__pnpm_0gh6xw7._.js} +1 -1
  155. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0-xbi6q._.js → node_modules__pnpm_0gict7y._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_12v9693._.js → node_modules__pnpm_0h5~9y~._.js} +1 -1
  157. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0rs15iz._.js → node_modules__pnpm_0hptidd._.js} +2 -2
  158. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ptozb4._.js → node_modules__pnpm_0mwe-i3._.js} +1 -1
  159. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0a2ww-4._.js → node_modules__pnpm_0orvks9._.js} +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_03~9v2y._.js → node_modules__pnpm_0oupw24._.js} +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_047iyar._.js → node_modules__pnpm_0qhuwah._.js} +1 -1
  162. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0gy4l1q._.js → node_modules__pnpm_0t6xsn9._.js} +1 -1
  163. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_03cxqnc._.js → node_modules__pnpm_0tc8zr6._.js} +2 -2
  164. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0btk5kj._.js → node_modules__pnpm_0ue8lv5._.js} +2 -2
  165. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ryy9ik._.js → node_modules__pnpm_0v~pnm.._.js} +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_04qoa_.._.js → node_modules__pnpm_0w.m8_8._.js} +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_034eonm._.js → node_modules__pnpm_0w5u-~w._.js} +1 -1
  168. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0hvnqml._.js → node_modules__pnpm_0ws7ot~._.js} +2 -2
  169. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_124jh7j._.js → node_modules__pnpm_0~ycrqy._.js} +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_06ti8hd._.js → node_modules__pnpm_13icm5c._.js} +2 -2
  171. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  172. package/.next/standalone/.next/server/pages/500.html +1 -1
  173. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  175. package/.next/standalone/.next/static/chunks/{0kml2.eor4-mh.js → 08j6bfg5a72bm.js} +12 -12
  176. package/.next/standalone/.next/static/chunks/0qc4l9u44oy5b.css +1 -0
  177. package/.next/standalone/.proof/README.md.json +780 -0
  178. package/.next/standalone/node_modules/@vscode/ripgrep-linux-x64/bin/rg +0 -0
  179. package/.next/standalone/package.json +1 -1
  180. package/.next/standalone/server.js +1 -1
  181. package/.next/standalone/wp-test-9dKQzu/shared.txt +1 -0
  182. package/README.md +1 -1
  183. package/package.json +133 -135
  184. package/.next/standalone/.next/static/chunks/17khi18hxwx5d.css +0 -1
  185. /package/.next/standalone/.next/static/{fJ3GtWg-nxX07oIencv35 → 0dK3SvrVBhTTBM-LZzcJP}/_buildManifest.js +0 -0
  186. /package/.next/standalone/.next/static/{fJ3GtWg-nxX07oIencv35 → 0dK3SvrVBhTTBM-LZzcJP}/_clientMiddlewareManifest.js +0 -0
  187. /package/.next/standalone/.next/static/{fJ3GtWg-nxX07oIencv35 → 0dK3SvrVBhTTBM-LZzcJP}/_ssgManifest.js +0 -0
@@ -15,6 +15,6 @@ module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function
15
15
  CREATE INDEX IF NOT EXISTS shared_docs_file_idx ON shared_docs(workspace_id, file_path);
16
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,c={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},d={...c,isRevoked:+!!c.isRevoked};return s.prepare(`INSERT INTO shared_docs
17
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=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)}])},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,a=1){let s=Date.now(),n=t.OPS_PER_MINUTE,i=r.get(e);i||(i={tokens:n,lastRefill:s},r.set(e,i));let o=Math.floor((s-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(n,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<a)?{ok:!1,retryAfterMs:Math.max(1,1e3*(a-i.tokens)-(s-i.lastRefill))}:(i.tokens-=a,{ok:!0})}])},211451,63467,e=>{"use strict";var t=e.i(351216),r=e.i(912714),a=e.i(97082),s=e.i(359211),n=e.i(719126);async function i(e){let i,o=(0,a.getShareByToken)(e);if(!o)return{ok:!1,response:t.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(o.isRevoked)return{ok:!1,response:t.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,a.isExpired)(o))return{ok:!1,response:t.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let l=await (0,s.getWorkspace)(o.workspaceId);if(!l)return{ok:!1,response:t.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let u=await (0,n.safeAbsPath)(l.rootDir,o.filePath);if(!u)return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};try{i=await (0,r.stat)(u)}catch{return{ok:!1,response:t.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}if(i.isDirectory())return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Directories cannot be shared"},{status:400})};let c=o.filePath.split("/").pop()??o.filePath;return{ok:!0,target:{share:o,absPath:u,filename:c}}}e.s(["resolveShareTarget",0,i],211451);var o=e.i(666680);function l(e){let t=(0,o.createHash)("sha256").update(e).digest("hex").slice(0,24);return`wv_share_${t}`}function u(e,t){let r=`${e.e}|${e.t}`;return(0,o.createHmac)("sha256",t).update(r).digest("hex")}e.s(["inlineContentDisposition",0,function(e){let t=e.replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`inline; filename="${t}"`},"isUnlocked",0,function(e,t,r){let a=function(e,t){let r=e.headers.get("cookie")??"",a=l(t);for(let e of r.split(";")){let t=e.indexOf("=");if(!(t<=0)&&e.slice(0,t).trim()===a)return e.slice(t+1).trim()}}(e,t);return!!a&&function(e,t,r){let a,s=t.indexOf(".");if(-1===s)return!1;let n=t.slice(0,s),i=t.slice(s+1);try{a=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{return!1}if(a.t!==e||"number"!=typeof a.e||a.e<=Date.now())return!1;let l=u(a,r),c=Buffer.from(l,"hex"),d=Buffer.from(i,"hex");return c.length===d.length&&(0,o.timingSafeEqual)(c,d)}(t,a,r)},"serializeUnlockCookie",0,function(e,t,r){let a,s,n,{name:i,value:o}=(s=u(a={t:t,e:Date.now()+9e5},r),n=`${Buffer.from(JSON.stringify(a)).toString("base64url")}.${s}`,{name:l(t),value:n}),c=new URL(e.url),d=[`${i}=${o}`,"HttpOnly","SameSite=Strict",`Path=${c.pathname}`,"Max-Age=900"];return"https:"===c.protocol&&d.push("Secure"),d.join("; ")}],63467)},585809,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),s=e.i(457789),n=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),d=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),m=e.i(487476),x=e.i(193695);e.i(484264);var g=e.i(315709),v=e.i(351216),w=e.i(912714),E=e.i(517387),R=e.i(719126),k=e.i(211451),_=e.i(63467),y=e.i(97082);async function T(e,{params:t}){let r,{token:a}=await t,s=(0,E.checkAndConsume)(`share-asset:${a}`,1);if(!s.ok)return v.NextResponse.json({error:"rate_limited"},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let n=await (0,k.resolveShareTarget)(a);if(!n.ok)return n.response;let{share:i,absPath:o,filename:l}=n.target;if(i.passwordHash&&!(0,_.isUnlocked)(e,a,i.passwordHash))return v.NextResponse.json({error:"unauthorized",message:"Unlock required"},{status:401,headers:{"Cache-Control":"private, no-store"}});try{r=await (0,w.stat)(o)}catch{return v.NextResponse.json({error:"file_gone"},{status:410,headers:{"Cache-Control":"private, no-store"}})}if(r.size>0xa00000)return v.NextResponse.json({error:"too_large"},{status:413,headers:{"Cache-Control":"private, no-store"}});let u=await (0,w.readFile)(o),c=(0,R.mimeByExt)(o);(0,y.incrementViewCount)(a);let d=!!i.passwordHash;return new v.NextResponse(u,{headers:{"Content-Type":c,"Content-Disposition":(0,_.inlineContentDisposition)(l),"Cache-Control":d?"private, no-store":"public, max-age=300"}})}e.s(["GET",0,T],484926);var N=e.i(484926);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/[token]/asset/route",pathname:"/api/share/[token]/asset",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/[token]/asset/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:b}=S;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/[token]/asset/route";v=v.replace(/\/index$/,"")||"/";let w=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:R,nextConfig:k,parsedUrl:_,isDraftMode:y,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:P,serverActionsManifest:I}=w,O=(0,o.normalizeAppPath)(v),D=!!(T.dynamicRoutes[O]||T.routes[b]),M=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,_,!1):t.end("This page could not be found"),null);if(D&&!y){let e=!!T.routes[b],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new x.NoFallbackError}}let j=null;!D||S.isDev||y||(j="/index"===(j=b)?"/":j);let U=!0===S.isDev||!D,H=D&&!U;I&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:I});let L=e.method||"GET",B=(0,n.getTracer)(),q=B.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),F=!!(0,s.getRequestMeta)(e,"minimalMode"),W=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,k,T,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:R,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,N)},sharedContext:{buildId:E}},G=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,X).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")!==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 a=r.get("next.route");if(a){let t=`${L} ${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(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&A&&C&&!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=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,z,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,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:g.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 S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,N),t}},u=await S.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",A?"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)(G,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&q?await o(q):(s=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,N),D)throw t;return await (0,p.sendResponse)(G,z,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,S,"serverHooks",0,b,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],585809)},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
18
+ VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(d),c},"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)}])},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,a=1){let s=Date.now(),n=t.OPS_PER_MINUTE,i=r.get(e);i||(i={tokens:n,lastRefill:s},r.set(e,i));let o=Math.floor((s-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(n,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<a)?{ok:!1,retryAfterMs:Math.max(1,1e3*(a-i.tokens)-(s-i.lastRefill))}:(i.tokens-=a,{ok:!0})}])},211451,63467,e=>{"use strict";var t=e.i(351216),r=e.i(912714),a=e.i(97082),s=e.i(359211),n=e.i(719126);async function i(e){let i,o=(0,a.getShareByToken)(e);if(!o)return{ok:!1,response:t.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(o.isRevoked)return{ok:!1,response:t.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,a.isExpired)(o))return{ok:!1,response:t.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let l=await (0,s.getWorkspace)(o.workspaceId);if(!l)return{ok:!1,response:t.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let u=await (0,n.safeAbsPath)(l.rootDir,o.filePath);if(!u)return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};try{i=await (0,r.stat)(u)}catch{return{ok:!1,response:t.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}if(i.isDirectory())return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Directories cannot be shared"},{status:400})};let c=o.filePath.split("/").pop()??o.filePath;return{ok:!0,target:{share:o,absPath:u,filename:c}}}e.s(["resolveShareTarget",0,i],211451);var o=e.i(666680);function l(e){let t=(0,o.createHash)("sha256").update(e).digest("hex").slice(0,24);return`wv_share_${t}`}function u(e,t){let r=`${e.e}|${e.t}`;return(0,o.createHmac)("sha256",t).update(r).digest("hex")}e.s(["inlineContentDisposition",0,function(e){let t=e.replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`inline; filename="${t}"`},"isUnlocked",0,function(e,t,r){let a=function(e,t){let r=e.headers.get("cookie")??"",a=l(t);for(let e of r.split(";")){let t=e.indexOf("=");if(!(t<=0)&&e.slice(0,t).trim()===a)return e.slice(t+1).trim()}}(e,t);return!!a&&function(e,t,r){let a,s=t.indexOf(".");if(-1===s)return!1;let n=t.slice(0,s),i=t.slice(s+1);try{a=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{return!1}if(a.t!==e||"number"!=typeof a.e||a.e<=Date.now())return!1;let l=u(a,r),c=Buffer.from(l,"hex"),d=Buffer.from(i,"hex");return c.length===d.length&&(0,o.timingSafeEqual)(c,d)}(t,a,r)},"serializeUnlockCookie",0,function(e,t,r){let a,s,n,{name:i,value:o}=(s=u(a={t:t,e:Date.now()+9e5},r),n=`${Buffer.from(JSON.stringify(a)).toString("base64url")}.${s}`,{name:l(t),value:n}),c=new URL(e.url),d=[`${i}=${o}`,"HttpOnly","SameSite=Strict",`Path=${c.pathname}`,"Max-Age=900"];return"https:"===c.protocol&&d.push("Secure"),d.join("; ")}],63467)},585809,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),s=e.i(457789),n=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),d=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),m=e.i(135288),x=e.i(193695);e.i(484264);var g=e.i(315709),v=e.i(351216),w=e.i(912714),E=e.i(517387),R=e.i(719126),k=e.i(211451),_=e.i(63467),y=e.i(97082);async function T(e,{params:t}){let r,{token:a}=await t,s=(0,E.checkAndConsume)(`share-asset:${a}`,1);if(!s.ok)return v.NextResponse.json({error:"rate_limited"},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let n=await (0,k.resolveShareTarget)(a);if(!n.ok)return n.response;let{share:i,absPath:o,filename:l}=n.target;if(i.passwordHash&&!(0,_.isUnlocked)(e,a,i.passwordHash))return v.NextResponse.json({error:"unauthorized",message:"Unlock required"},{status:401,headers:{"Cache-Control":"private, no-store"}});try{r=await (0,w.stat)(o)}catch{return v.NextResponse.json({error:"file_gone"},{status:410,headers:{"Cache-Control":"private, no-store"}})}if(r.size>0xa00000)return v.NextResponse.json({error:"too_large"},{status:413,headers:{"Cache-Control":"private, no-store"}});let u=await (0,w.readFile)(o),c=(0,R.mimeByExt)(o);(0,y.incrementViewCount)(a);let d=!!i.passwordHash;return new v.NextResponse(u,{headers:{"Content-Type":c,"Content-Disposition":(0,_.inlineContentDisposition)(l),"Cache-Control":d?"private, no-store":"public, max-age=300"}})}e.s(["GET",0,T],484926);var N=e.i(484926);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/[token]/asset/route",pathname:"/api/share/[token]/asset",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/[token]/asset/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:b}=S;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/[token]/asset/route";v=v.replace(/\/index$/,"")||"/";let w=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:R,nextConfig:k,parsedUrl:_,isDraftMode:y,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:P,serverActionsManifest:I}=w,O=(0,o.normalizeAppPath)(v),D=!!(T.dynamicRoutes[O]||T.routes[b]),M=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,_,!1):t.end("This page could not be found"),null);if(D&&!y){let e=!!T.routes[b],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new x.NoFallbackError}}let j=null;!D||S.isDev||y||(j="/index"===(j=b)?"/":j);let U=!0===S.isDev||!D,H=D&&!U;I&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:I});let L=e.method||"GET",B=(0,n.getTracer)(),q=B.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),F=!!(0,s.getRequestMeta)(e,"minimalMode"),W=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,k,T,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:R,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,N)},sharedContext:{buildId:E}},G=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,X).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")!==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 a=r.get("next.route");if(a){let t=`${L} ${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(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&A&&C&&!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=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,z,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,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:g.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 S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,N),t}},u=await S.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",A?"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)(G,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&q?await o(q):(s=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,N),D)throw t;return await (0,p.sendResponse)(G,z,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,S,"serverHooks",0,b,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],585809)},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
19
19
 
20
20
  //# sourceMappingURL=%5Broot-of-the-server%5D__05h6fe-._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},897473,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(487476),m=e.i(193695);e.i(484264);var R=e.i(315709),_=e.i(912714),g=e.i(351216),w=e.i(402662),E=e.i(660038),y=e.i(536654),x=e.i(716234);async function P(e){let t=(0,w.checkOrigin)(e);if(t)return t;let r=await (0,E.resolveWorkspaceForUser)(e,"write");if(!r.ok)return g.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,n=(await e.json()).path;if(!n||"string"!=typeof n||/[<>:"|?*]/.test(n))return g.NextResponse.json({error:"Invalid folder path"},{status:400});let s=await (0,y.resolveWorkspacePath)(a,n,{allowMissing:!0,deniedSegments:x.DENIED_SEGMENTS});if(!s)return g.NextResponse.json({error:"Invalid path"},{status:400});let i=s.absolutePath;try{return await (0,_.mkdir)(i,{recursive:!0}),g.NextResponse.json({ok:!0})}catch{return g.NextResponse.json({error:"Failed to create folder"},{status:500})}}e.s(["POST",0,P],101281);var C=e.i(101281);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/folder/route",pathname:"/api/wiki/folder",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/folder/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:A,serverHooks:b}=N;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/wiki/folder/route";_=_.replace(/\/index$/,"")||"/";let g=await N.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:x,isDraftMode:P,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:T}=g,j=(0,l.normalizeAppPath)(_),q=!!(C.dynamicRoutes[j]||C.routes[S]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,x,!1):t.end("This page could not be found"),null);if(q&&!P){let e=!!C.routes[S],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||N.isDev||P||(D="/index"===(D=S)?"/":D);let H=!0===N.isDev||!q,U=q&&!H;T&&O&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:O,serverActionsManifest:T});let M=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==k?void 0:k.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,y,C,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>N.onRequestError(e,t,a,n,k)},sharedContext:{buildId:w}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>N.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${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(`${M} ${_}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!W&&A&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:R.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 N.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),t}},u=await N.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:W});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&q||d.delete(v.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)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await l(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),q)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:A})},"routeModule",0,N,"serverHooks",0,b,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,A],897473)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},897473,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(135288),m=e.i(193695);e.i(484264);var R=e.i(315709),_=e.i(912714),g=e.i(351216),w=e.i(402662),E=e.i(660038),y=e.i(536654),x=e.i(716234);async function P(e){let t=(0,w.checkOrigin)(e);if(t)return t;let r=await (0,E.resolveWorkspaceForUser)(e,"write");if(!r.ok)return g.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,n=(await e.json()).path;if(!n||"string"!=typeof n||/[<>:"|?*]/.test(n))return g.NextResponse.json({error:"Invalid folder path"},{status:400});let s=await (0,y.resolveWorkspacePath)(a,n,{allowMissing:!0,deniedSegments:x.DENIED_SEGMENTS});if(!s)return g.NextResponse.json({error:"Invalid path"},{status:400});let i=s.absolutePath;try{return await (0,_.mkdir)(i,{recursive:!0}),g.NextResponse.json({ok:!0})}catch{return g.NextResponse.json({error:"Failed to create folder"},{status:500})}}e.s(["POST",0,P],101281);var C=e.i(101281);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/folder/route",pathname:"/api/wiki/folder",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/folder/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:A,serverHooks:b}=N;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/wiki/folder/route";_=_.replace(/\/index$/,"")||"/";let g=await N.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:x,isDraftMode:P,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:T}=g,j=(0,l.normalizeAppPath)(_),q=!!(C.dynamicRoutes[j]||C.routes[S]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,x,!1):t.end("This page could not be found"),null);if(q&&!P){let e=!!C.routes[S],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||N.isDev||P||(D="/index"===(D=S)?"/":D);let H=!0===N.isDev||!q,U=q&&!H;T&&O&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:O,serverActionsManifest:T});let M=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==k?void 0:k.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,y,C,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>N.onRequestError(e,t,a,n,k)},sharedContext:{buildId:w}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>N.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${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(`${M} ${_}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!W&&A&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:R.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 N.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),t}},u=await N.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:W});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&q||d.delete(v.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)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await l(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),q)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:A})},"routeModule",0,N,"serverHooks",0,b,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,A],897473)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__05s.pyr._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function a(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function 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=s().length>0,a=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(a=!0,t)}),a)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(s().length>0||r.SYNTHETIC_USER_IDS.has(e)||((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,r.requireUser)(e);return t.ok?await a(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,a,"listAdmins",0,n,"removeAdmin",0,o,"requireAdmin",0,u])},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},256294,296555,e=>{"use strict";let t;var r=e.i(874533),s=e.i(812057),a=e.i(912714),n=e.i(750227),i=e.i(660526);e.i(902157);let o=RegExp("[;|&$`<>(){}\\n\\r\\0]");function l(e){let{target:t,mountpoint:r,port:s}=e,a=t.user?`${t.user}@`:"",n=[`${a}${t.host}:${t.remotePath}`,r];s&&Number.isInteger(Number(s))&&Number(s)>0&&65536>Number(s)&&n.push("-p",String(s));let i=e.authMethod??"agent";!e.authMethod&&(null!=e.password?i="password":e.keyPath&&(i="keyfile"));let o=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(e.readOnly&&o.push("ro"),"keyfile"===i&&e.keyPath&&(o.push(`IdentityFile=${e.keyPath}`),o.push("IdentitiesOnly=yes")),"password"===i){let e=o.indexOf("BatchMode=yes");e>=0&&o.splice(e,1),o.push("password_stdin"),o.push("PreferredAuthentications=password,keyboard-interactive"),o.push("PubkeyAuthentication=no"),o.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&o.push(...e.extraOptions),n.push("-o",o.join(",")),n}e.s(["buildSshfsArgs",0,l,"isValidKeyPath",0,function(e){return!(!e||o.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"parseSshTarget",0,function(e){let t;if(!e||o.test(e))return null;let r=e.trim(),s=r.indexOf(":");if(s<=0)return null;let a=r.slice(0,s),n=r.slice(s+1);if(!n.startsWith("/")||n.includes(".."))return null;let i=a,l=a.indexOf("@");return l>=0&&(t=a.slice(0,l),i=a.slice(l+1),!t)?null:i&&/^[a-zA-Z0-9.\-]+$/.test(i)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:i,remotePath:n}:null}],296555);let u=(0,s.promisify)(r.execFile);function c(){return n.default.join(i.default.homedir(),".wiki-viewer","mounts")}async function p(){if(!0!==t)try{await u("sshfs",["--version"]),t=!0}catch{throw Error("sshfs binary not found. Install sshfs + FUSE (e.g. `apt install sshfs`, `brew install macfuse sshfs`) and ensure it is on PATH.")}}async function d(t){var r;let s=n.default.resolve(t),i=!1;try{i=(await (0,a.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===s&&/fuse/.test(t[2]??"")})}catch{i=!1}return!!i&&(r=s,new Promise(t=>{let s=!1,a=setTimeout(()=>{s||(s=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(r)).then(()=>{s||(s=!0,clearTimeout(a),t(!0))}).catch(()=>{s||(s=!0,clearTimeout(a),t(!1))})}))}async function h(e){await p(),await (0,a.mkdir)(e.mountpoint,{recursive:!0});let t=l(e);if(await new Promise((s,a)=>{let n=(0,r.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),i="",o=setTimeout(()=>{n.kill("SIGKILL"),a(Error("sshfs mount timed out after 25s."))},25e3);n.stderr?.on("data",e=>{i+=e.toString()}),n.on("error",e=>{clearTimeout(o),a(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),n.on("close",e=>{clearTimeout(o),0===e?s():a(Error(`sshfs exited ${e}: ${i.trim()||"mount failed"}`))}),"password"===e.authMethod&&n.stdin?.write((e.password??"")+"\n"),n.stdin?.end()}),!await d(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function f(e){let t=n.default.resolve(e);for(let[e,r]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await u(e,r);break}catch{}try{await (0,a.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,p,"isMounted",0,d,"mountSshfs",0,h,"mountpointFor",0,function(e){return n.default.join(c(),e)},"mountsDir",0,c,"unmountSshfs",0,f],256294)},536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function s(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function a(e,n,i={}){let o;if(!e)return null;let l=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(n);if(null===l)return null;if(i.deniedSegments?.length){for(let e of l.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{o=await (0,t.realpath)(e)}catch{return null}let u=l?r.default.join(o,l):o;try{let e=await (0,t.realpath)(u),a=r.default.relative(o,e);if(s(a))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let a=r.default.dirname(e);if(a===e)break;try{let e=await (0,t.realpath)(a),n=r.default.relative(o,e);if(s(n))return null;return{relPath:l,absolutePath:u}}catch{e=a}}return null}}e.s(["resolveWorkspacePath",0,a])},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"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},848475,e=>{"use strict";var t=e.i(750227);let r={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".mdx":"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",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".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",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},345212,762512,e=>{"use strict";var t=e.i(874533),r=e.i(902157),s=e.i(427597),a=e.i(761095),n=e.i(750227);function i(e,t,r=5){switch(t.type){case"started":return{state:{...e,status:"running",crashCount:0,lastError:void 0},action:"none"};case"manual-restart":return{state:{...e,status:"restarting",crashCount:0,lastError:void 0},action:"restart"};case"file-change":if("error"===e.status)return{state:{...e,fileWatchRestartCount:e.fileWatchRestartCount+1},action:"none"};return{state:{...e,status:"restarting",fileWatchRestartCount:e.fileWatchRestartCount+1},action:"restart"};case"crash":{if("error"===e.status)return{state:e,action:"none"};let t=e.crashCount+1;if(t>r)return{state:{...e,crashCount:t,status:"error",lastError:`Auto-restart gave up after ${t} crash restarts (cap ${r}). Fix the app and restart manually.`},action:"none"};return{state:{...e,crashCount:t,status:"restarting"},action:"restart"}}case"stop":return{state:{...e,status:"stopped"},action:"none"}}}var o=e.i(912714),l=e.i(660526),u=e.i(832852);let c="__hosted_apps__",p=/^[a-z0-9][a-z0-9-]*$/,d=new Set(["api","app","apps","s","signin","signout","_next","assets","upload","owner","share","static","public","favicon.ico"]);function h(){let e=process.env.HOME??l.default.homedir();return n.default.join(e,".wiki-viewer")}function f(){return n.default.join(h(),"hosted-apps.json")}async function m(){try{let e=await (0,o.readFile)(f(),"utf8"),t=JSON.parse(e);return{version:1,apps:Array.isArray(t.apps)?t.apps:[]}}catch{return null}}async function g(e){await (0,o.mkdir)(h(),{recursive:!0});let t=f()+".tmp";await (0,o.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,o.chmod)(t,384)}catch{}await (0,o.rename)(t,f())}async function v(){let e=await m();if(e)return e;let t={version:1,apps:[]};return await g(t),t}async function w(){let e=await m();return e?.apps??[]}async function y(e){let t=await m();return t?t.apps.find(t=>t.slug===e)??null:null}async function x(e){var t;let r="string"!=typeof(t=e.slug)||0===t.length?{ok:!1,code:"SLUG_REQUIRED"}:p.test(t)?d.has(t)?{ok:!1,code:"SLUG_RESERVED"}:{ok:!0}:{ok:!1,code:"SLUG_INVALID"};return r.ok?(0,u.withFileMutex)(c,async()=>{let t=await v(),r=t.apps.find(t=>t.slug===e.slug);if(r)return{ok:!1,code:"SLUG_TAKEN",ownerWorkspaceId:r.workspaceId};let s={slug:e.slug,type:e.type,workspaceId:e.workspaceId,relPath:e.relPath,..."node"===e.type&&e.script?{script:e.script}:{},..."node"===e.type&&e.persist?{persist:!0}:{},createdAt:new Date().toISOString()};return t.apps.push(s),await g(t),{ok:!0,app:s}}):{ok:!1,code:r.code}}async function _(e,t){return(0,u.withFileMutex)(c,async()=>{let r=await m();if(!r)return null;let s=r.apps.find(t=>t.slug===e);return s&&"node"===s.type?(t?s.persist=!0:delete s.persist,await g(r),s):null})}async function P(e){return(0,u.withFileMutex)(c,async()=>{let t=await m();if(!t)return!1;let r=t.apps.length;return t.apps=t.apps.filter(t=>t.slug!==e),t.apps.length!==r&&(await g(t),!0)})}e.s(["createHostedApp",0,x,"deleteHostedApp",0,P,"getBySlug",0,y,"listHostedApps",0,w,"setHostedAppPersist",0,_],762512);var b=e.i(359211);let E=new Map,R=new Set,k=new Map;function S(e){return`${e.workspaceId}\0${e.relPath}`}function A(e){let t=e.watcher;e.watcher=null,t&&t.close()}function I(e){let t=e.process;if(e.process=null,!t)return;try{!t.killed&&t.pid&&t.kill("SIGTERM")}catch{}let r=setTimeout(()=>{try{!t.killed&&t.pid&&t.kill("SIGKILL")}catch{}},2e3);t.once("exit",()=>clearTimeout(r))}function T(e,t){return new Promise(r=>{let s=(0,a.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 N(e){let[t,r]=await Promise.all([T(e,"127.0.0.1"),T(e,"::1")]);return t||r}async function C(e,t=3e4){let r=Date.now()+t;for(;Date.now()<r&&!e.abort.signal.aborted;){if(await N(e.port))return e.port;await new Promise(e=>setTimeout(e,400))}return null}function j(e){let t=n.default.join(e,"package.json");if(!(0,r.existsSync)(t))return null;try{return JSON.parse((0,r.readFileSync)(t,"utf-8"))}catch{return null}}function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function U(e,t){return O(t,"start")?"start":O(t,"preview")&&(0,r.existsSync)(n.default.join(e,"dist"))?"preview":O(t,"dev")?"dev":null}function D(){let e=n.default.dirname(process.execPath),t=process.env.PATH??"";return t.split(n.default.delimiter).includes(e)?t:`${e}${n.default.delimiter}${t}`}function M(e,t){e.restartTimer||e.abort.signal.aborted||(k.set(t,e.supervision),e.restartTimer=setTimeout(()=>{e.restartTimer=null,E.get(t)!==e||e.abort.signal.aborted||"error"===e.supervision.status||q(e.workspaceId,e.relPath,e.absPath,e.script,{persist:!0}).catch(()=>{})},250))}function $(e,t){e.persist&&!e.watcher&&(e.watcher=(0,s.watch)(e.absPath,{ignoreInitial:!0,ignored:t=>n.default.relative(e.absPath,t).split(n.default.sep).some(e=>["node_modules",".git",".next"].includes(e)),awaitWriteFinish:{stabilityThreshold:250,pollInterval:100}}),e.watcher.on("all",()=>{if(E.get(t)!==e||e.abort.signal.aborted)return;let r=i(e.supervision,{type:"file-change"});e.supervision=r.state,"restart"===r.action&&(I(e),e.status="restarting",M(e,t))}))}async function q(e,s,o,l,u){var c;let p=S({workspaceId:e,relPath:s}),d=u?.persist===!0,h=E.get(p);if(h&&"stopped"!==h.status&&"error"!==h.status&&"missing"!==h.status&&h.process)return d&&(h.persist=!0),{port:h.port};h&&(h.abort.abort(),h.restartTimer&&clearTimeout(h.restartTimer),A(h),I(h),E.delete(p)),R.delete(p);let f=await new Promise((e,t)=>{let r=(0,a.createServer)();r.listen(0,"127.0.0.1",()=>{let t=r.address(),s="object"==typeof t&&t?t.port:0;r.close(()=>e(s))}),r.on("error",t)}),m=(0,r.existsSync)(n.default.join(o,"pnpm-lock.yaml"))?"pnpm":(0,r.existsSync)(n.default.join(o,"yarn.lock"))?"yarn":(0,r.existsSync)(n.default.join(o,"bun.lockb"))||(0,r.existsSync)(n.default.join(o,"bun.lock"))?"bun":"npm",g=function(e,t,r,s){let a=j(e);if(!a)return null;let n=a.scripts??{},i=Object.keys({...a.dependencies,...a.devDependencies}).some(e=>"vite"===e||e.includes("vite")),o=["--port",String(r)],l=e=>({bin:t,args:"npm"===t?["run",e,"--",...o]:["run",e,...o],isVite:i});if(s)return O(n,s)?l(s):null;let u=U(e,n);return u?l(u):a.main?{bin:"node",args:[a.main,...o],isVite:!1}:null}(o,m,f,l);if(!g)throw Error("No runnable script found in package.json (need start, preview, or dev)");let v=k.get(p);k.delete(p);let w={workspaceId:e,relPath:s,absPath:o,script:l,port:f,process:null,status:"installing",logs:[],generation:1,abort:new AbortController,persist:!1,supervision:v??{crashCount:0,fileWatchRestartCount:0,status:"stopped"},watcher:null,restartTimer:null};E.set(p,w);let y=e=>{w.logs.push(e),w.logs.length>200&&w.logs.shift()};try{(0,r.existsSync)(n.default.join(o,"node_modules"))||(y(`[wiki-viewer] Running ${m} install…`),await (c=w.abort.signal,new Promise((e,r)=>{if(c.aborted)return void r(Error("Install aborted"));let s=[],a=e=>{y(e),s.push(e)},n=(0,t.spawn)(m,["install"],{cwd:o,stdio:"pipe",env:{...process.env,PATH:D()}}),i=()=>{try{n.kill("SIGTERM")}catch{}};c.addEventListener("abort",i,{once:!0});let l=e=>{for(let t of e.toString().split("\n")){let e=t.trim();e&&a(e)}};n.stdout?.on("data",l),n.stderr?.on("data",l),n.on("error",e=>{c.removeEventListener("abort",i),r(e)}),n.on("exit",t=>{if(c.removeEventListener("abort",i),0===t)e();else{let e=s.slice(-20).join("\n");r(Error(`${m} install failed (exit ${t}):
2
- ${e}`))}})}))),w.status="starting",y(`[wiki-viewer] Starting on port ${f}: ${g.bin} ${g.args.join(" ")}`);let e=(0,t.spawn)(g.bin,g.args,{cwd:o,stdio:"pipe",env:{...process.env,PATH:D(),PORT:String(f),VITE_PORT:String(f)}});w.process=e;let s=e=>{for(let t of e.toString().split("\n")){let e=t.trim();e&&y(e)}};return e.stdout?.on("data",s),e.stderr?.on("data",s),e.on("exit",e=>{if(E.get(p)===w&&"stopped"!==w.status&&!w.abort.signal.aborted){if(w.process=null,w.persist&&0!==e&&null!==e){let t=i(w.supervision,{type:"crash",detail:`exit ${e}`});w.supervision=t.state,"restart"===t.action?(w.status="restarting",M(w,p)):(w.status="error",w.error=w.supervision.lastError);return}w.status=0===e||null===e?"stopped":"error",w.error=e?`Process exited with code ${e}`:void 0}}),C(w).then(t=>{if(E.get(p)===w&&!w.abort.signal.aborted)if(t)w.status="running",w.supervision={...w.supervision,status:"running"},$(w,p);else if(w.persist){let t=i(w.supervision,{type:"crash",detail:"readiness timeout"});w.supervision=t.state,"restart"===t.action?(w.status="restarting",M(w,p)):(w.status="error",w.error=w.supervision.lastError);try{e.kill("SIGTERM")}catch{}}else{w.status="error",w.error="Port never became reachable (30 s timeout)";try{e.kill("SIGTERM")}catch{}}}),{port:f}}catch(e){throw E.get(p)===w&&(w.status="error",w.error=e instanceof Error?e.message:String(e)),e}}async function W(e,t,r,s,a=!0){let n=S({workspaceId:e,relPath:t}),o=E.get(n);return o?(o.supervision=i(o.supervision,{type:"manual-restart"}).state,o.persist=a,o.absPath=r,o.script=s,o.restartTimer&&clearTimeout(o.restartTimer),o.restartTimer=null,I(o),o.status="restarting",M(o,n),{port:o.port}):q(e,t,r,s,{persist:a})}async function H(){if("1"===process.env.WIKI_NO_AUTH||"1"===process.env.WIKI_ALLOW_APP_RUNNER)for(let e of(await w()).filter(e=>"node"===e.type&&!0===e.persist)){let t=S({workspaceId:e.workspaceId,relPath:e.relPath}),s=await (0,b.getWorkspace)(e.workspaceId),a=s?(0,b.safeWorkspacePath)(s.rootDir,e.relPath):null;if(!a||!(0,r.existsSync)(a)){R.add(t);continue}try{await q(e.workspaceId,e.relPath,a,e.script,{persist:!0})}catch{}}}("1"===process.env.WIKI_NO_AUTH||"1"===process.env.WIKI_ALLOW_APP_RUNNER)&&H(),e.s(["ROOT_APP_PROXY_SEGMENT",0,"~root","getScripts",0,function(e){let t=j(e);if(!t)return{scripts:[],defaultScript:null};let r=t.scripts??{};return{scripts:Object.keys(r),defaultScript:U(e,r)}},"getStatus",0,function(e,t){let r=E.get(S({workspaceId:e,relPath:t}));return r?{status:r.status,port:r.port||void 0,error:r.error,lastError:r.supervision.lastError??r.error,restartCount:r.supervision.crashCount,fileWatchRestartCount:r.supervision.fileWatchRestartCount,logs:r.logs}:R.has(S({workspaceId:e,relPath:t}))?{status:"missing",error:"Hosted app source directory is missing",logs:[]}:{status:"stopped",logs:[]}},"resolveByPrefix",0,function(e,t){for(let r=t.length;r>0;r--){let s=t.slice(0,r).join("/"),a=E.get(S({workspaceId:e,relPath:s}));if(a&&"running"===a.status&&a.port){let e="/"+t.slice(r).join("/");return{relPath:s,port:a.port,rest:e}}}return null},"resolveRootApp",0,function(e,t){let r=E.get(S({workspaceId:e,relPath:""}));return r&&"running"===r.status&&r.port?{relPath:"",port:r.port,rest:"/"+t.filter(Boolean).join("/")}:null},"restartApp",0,W,"setAppPersistence",0,function(e,t,r,s){let a=S({workspaceId:e,relPath:t}),n=E.get(a);n&&(n.persist=s,n.absPath=r,s?$(n,a):A(n))},"startApp",0,q,"stopApp",0,function(e,t){let r=S({workspaceId:e,relPath:t}),s=E.get(r);s&&(s.abort.abort(),s.restartTimer&&clearTimeout(s.restartTimer),s.restartTimer=null,A(s),s.status="stopped",E.delete(r),I(s))}],345212)},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},526798,e=>{"use strict";var t=e.i(985426),r=e.i(257574),s=e.i(507835),a=e.i(457789),n=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),p=e.i(624891),d=e.i(725836),h=e.i(532736),f=e.i(257858),m=e.i(487476),g=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(912714),y=e.i(351216),x=e.i(723012),_=e.i(345212),P=e.i(762512);async function b(e){let t=await (0,P.getBySlug)(e);if(!t)return null;if("html"===t.type)return{kind:"html",entry:t,workspaceId:t.workspaceId,relPath:t.relPath};let r=(0,_.getStatus)(t.workspaceId,t.relPath);return{kind:"node",entry:t,workspaceId:t.workspaceId,relPath:t.relPath,port:r.port,status:r.status}}var E=e.i(536654),R=e.i(716234),k=e.i(848475),S=e.i(583627),A=e.i(254226),I=e.i(359211);async function T(e,t){let r=await (0,I.getWorkspace)(t);if(!r)return y.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404});if("1"===process.env.WIKI_NO_AUTH)return null;let s=await (0,A.requireUser)(e);if(!s.ok)return y.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,S.isAdmin)(s.user.id,s.user.email);return(0,I.userCanAccess)(r,s.user.id,a)?null:y.NextResponse.json({error:"WORKSPACE_FORBIDDEN"},{status:403})}async function N(e,t,r){let s=r.filter(Boolean).join("/"),a=await (0,E.resolveWorkspacePath)(e,t,{deniedSegments:R.DENIED_SEGMENTS});if(!a)return y.NextResponse.json({error:"Invalid path"},{status:400});let n=!1;try{n=(await (0,w.stat)(a.absolutePath)).isFile()}catch{return y.NextResponse.json({error:"File not found"},{status:404})}let i=n?t.split("/").slice(0,-1).join("/"):t,o=n?t:`${t}/index.html`.replace(/\/+/g,"/").replace(/^\//,""),l=""===s?o:[i,s].filter(Boolean).join("/"),u=await (0,E.resolveWorkspacePath)(e,l,{deniedSegments:R.DENIED_SEGMENTS});if(!u)return y.NextResponse.json({error:"Invalid path"},{status:400});try{if((await (0,w.stat)(u.absolutePath)).isDirectory()){let t=await (0,E.resolveWorkspacePath)(e,`${l}/index.html`,{deniedSegments:R.DENIED_SEGMENTS});if(!t)return y.NextResponse.json({error:"Not found"},{status:404});let r=await (0,w.readFile)(t.absolutePath);return new Response(new Uint8Array(r),{headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}})}let t=await (0,w.readFile)(u.absolutePath);return new Response(new Uint8Array(t),{headers:{"Content-Type":(0,k.contentTypeForPath)(u.absolutePath),"Cache-Control":"private, max-age=60"}})}catch{return y.NextResponse.json({error:"File not found"},{status:404})}}async function C(e,{params:t}){let{slug:r,rest:s}=await t,a=await b(r);if(!a)return y.NextResponse.json({error:"SLUG_NOT_FOUND"},{status:404});let n=await T(e,a.workspaceId);if(n)return n;let i=await (0,I.getWorkspace)(a.workspaceId);if(!i)return y.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404});if("html"===a.kind)return N(i.rootDir,a.relPath,s??[]);if(!a.port||"running"!==a.status)return new Response(`<!doctype html><meta charset="utf-8"><title>App stopped</title><body style="font:14px system-ui;padding:2rem;color:#444"><h1 style="font-size:1.1rem">This app is not running</h1><p>The hosted app <code>${r}</code> is stopped. Start it from the Hosted Apps section in the sidebar, then reload.</p></body>`,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}});let o="/"+(s??[]).filter(Boolean).join("/");return(0,x.forwardToChild)(e,{port:a.port,rest:o,proxyBase:`/app/${r}`})}e.s(["DELETE",0,C,"GET",0,C,"HEAD",0,C,"OPTIONS",0,C,"PATCH",0,C,"POST",0,C,"PUT",0,C,"dynamic",0,"force-dynamic"],512415);var j=e.i(512415);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/app/[slug]/[[...rest]]/route",pathname:"/app/[slug]/[[...rest]]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/app/[slug]/[[...rest]]/route.ts",nextConfigOutput:"standalone",userland:j,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:D,serverHooks:M}=O;async function $(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/app/[slug]/[[...rest]]/route";w=w.replace(/\/index$/,"")||"/";let y=await O.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:x,params:_,nextConfig:P,parsedUrl:b,isDraftMode:E,prerenderManifest:R,routerServerContext:k,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:N}=y,C=(0,o.normalizeAppPath)(w),j=!!(R.dynamicRoutes[C]||R.routes[I]),U=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!E){let e=!!R.routes[I],t=R.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(P.adapterPath)return await U();throw new g.NoFallbackError}}let D=null;!j||O.isDev||E||(D="/index"===(D=I)?"/":D);let M=!0===O.isDev||!j,$=j&&!M;N&&T&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:T,serverActionsManifest:N});let q=e.method||"GET",W=(0,n.getTracer)(),H=W.getActiveScopeSpan(),F=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,P,R,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:_,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:P.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>O.onRequestError(e,t,s,a,k)},sharedContext:{buildId:x}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.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=`${q} ${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(`${q} ${w}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&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 i(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!j)return await (0,d.sendResponse)(z,G,n,B.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!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.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 O.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,k),t}},u=await O.handleResponse({req:e,nextConfig:P,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!j)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&j||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,d.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&H?await o(H):(a=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof g.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,k),j)throw t;return await (0,d.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,$,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:D})},"routeModule",0,O,"serverHooks",0,M,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,D],526798)},282139,e=>{e.v(e=>Promise.resolve().then(()=>e(351216)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js"].map(t=>e.l(t))).then(()=>t(499465)))}];
2
+ ${e}`))}})}))),w.status="starting",y(`[wiki-viewer] Starting on port ${f}: ${g.bin} ${g.args.join(" ")}`);let e=(0,t.spawn)(g.bin,g.args,{cwd:o,stdio:"pipe",env:{...process.env,PATH:D(),PORT:String(f),VITE_PORT:String(f)}});w.process=e;let s=e=>{for(let t of e.toString().split("\n")){let e=t.trim();e&&y(e)}};return e.stdout?.on("data",s),e.stderr?.on("data",s),e.on("exit",e=>{if(E.get(p)===w&&"stopped"!==w.status&&!w.abort.signal.aborted){if(w.process=null,w.persist&&0!==e&&null!==e){let t=i(w.supervision,{type:"crash",detail:`exit ${e}`});w.supervision=t.state,"restart"===t.action?(w.status="restarting",M(w,p)):(w.status="error",w.error=w.supervision.lastError);return}w.status=0===e||null===e?"stopped":"error",w.error=e?`Process exited with code ${e}`:void 0}}),C(w).then(t=>{if(E.get(p)===w&&!w.abort.signal.aborted)if(t)w.status="running",w.supervision={...w.supervision,status:"running"},$(w,p);else if(w.persist){let t=i(w.supervision,{type:"crash",detail:"readiness timeout"});w.supervision=t.state,"restart"===t.action?(w.status="restarting",M(w,p)):(w.status="error",w.error=w.supervision.lastError);try{e.kill("SIGTERM")}catch{}}else{w.status="error",w.error="Port never became reachable (30 s timeout)";try{e.kill("SIGTERM")}catch{}}}),{port:f}}catch(e){throw E.get(p)===w&&(w.status="error",w.error=e instanceof Error?e.message:String(e)),e}}async function W(e,t,r,s,a=!0){let n=S({workspaceId:e,relPath:t}),o=E.get(n);return o?(o.supervision=i(o.supervision,{type:"manual-restart"}).state,o.persist=a,o.absPath=r,o.script=s,o.restartTimer&&clearTimeout(o.restartTimer),o.restartTimer=null,I(o),o.status="restarting",M(o,n),{port:o.port}):q(e,t,r,s,{persist:a})}async function H(){if("1"===process.env.WIKI_NO_AUTH||"1"===process.env.WIKI_ALLOW_APP_RUNNER)for(let e of(await w()).filter(e=>"node"===e.type&&!0===e.persist)){let t=S({workspaceId:e.workspaceId,relPath:e.relPath}),s=await (0,b.getWorkspace)(e.workspaceId),a=s?(0,b.safeWorkspacePath)(s.rootDir,e.relPath):null;if(!a||!(0,r.existsSync)(a)){R.add(t);continue}try{await q(e.workspaceId,e.relPath,a,e.script,{persist:!0})}catch{}}}("1"===process.env.WIKI_NO_AUTH||"1"===process.env.WIKI_ALLOW_APP_RUNNER)&&H(),e.s(["ROOT_APP_PROXY_SEGMENT",0,"~root","getScripts",0,function(e){let t=j(e);if(!t)return{scripts:[],defaultScript:null};let r=t.scripts??{};return{scripts:Object.keys(r),defaultScript:U(e,r)}},"getStatus",0,function(e,t){let r=E.get(S({workspaceId:e,relPath:t}));return r?{status:r.status,port:r.port||void 0,error:r.error,lastError:r.supervision.lastError??r.error,restartCount:r.supervision.crashCount,fileWatchRestartCount:r.supervision.fileWatchRestartCount,logs:r.logs}:R.has(S({workspaceId:e,relPath:t}))?{status:"missing",error:"Hosted app source directory is missing",logs:[]}:{status:"stopped",logs:[]}},"resolveByPrefix",0,function(e,t){for(let r=t.length;r>0;r--){let s=t.slice(0,r).join("/"),a=E.get(S({workspaceId:e,relPath:s}));if(a&&"running"===a.status&&a.port){let e="/"+t.slice(r).join("/");return{relPath:s,port:a.port,rest:e}}}return null},"resolveRootApp",0,function(e,t){let r=E.get(S({workspaceId:e,relPath:""}));return r&&"running"===r.status&&r.port?{relPath:"",port:r.port,rest:"/"+t.filter(Boolean).join("/")}:null},"restartApp",0,W,"setAppPersistence",0,function(e,t,r,s){let a=S({workspaceId:e,relPath:t}),n=E.get(a);n&&(n.persist=s,n.absPath=r,s?$(n,a):A(n))},"startApp",0,q,"stopApp",0,function(e,t){let r=S({workspaceId:e,relPath:t}),s=E.get(r);s&&(s.abort.abort(),s.restartTimer&&clearTimeout(s.restartTimer),s.restartTimer=null,A(s),s.status="stopped",E.delete(r),I(s))}],345212)},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},526798,e=>{"use strict";var t=e.i(985426),r=e.i(257574),s=e.i(507835),a=e.i(457789),n=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),p=e.i(624891),d=e.i(725836),h=e.i(532736),f=e.i(257858),m=e.i(135288),g=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(912714),y=e.i(351216),x=e.i(723012),_=e.i(345212),P=e.i(762512);async function b(e){let t=await (0,P.getBySlug)(e);if(!t)return null;if("html"===t.type)return{kind:"html",entry:t,workspaceId:t.workspaceId,relPath:t.relPath};let r=(0,_.getStatus)(t.workspaceId,t.relPath);return{kind:"node",entry:t,workspaceId:t.workspaceId,relPath:t.relPath,port:r.port,status:r.status}}var E=e.i(536654),R=e.i(716234),k=e.i(848475),S=e.i(583627),A=e.i(254226),I=e.i(359211);async function T(e,t){let r=await (0,I.getWorkspace)(t);if(!r)return y.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404});if("1"===process.env.WIKI_NO_AUTH)return null;let s=await (0,A.requireUser)(e);if(!s.ok)return y.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,S.isAdmin)(s.user.id,s.user.email);return(0,I.userCanAccess)(r,s.user.id,a)?null:y.NextResponse.json({error:"WORKSPACE_FORBIDDEN"},{status:403})}async function N(e,t,r){let s=r.filter(Boolean).join("/"),a=await (0,E.resolveWorkspacePath)(e,t,{deniedSegments:R.DENIED_SEGMENTS});if(!a)return y.NextResponse.json({error:"Invalid path"},{status:400});let n=!1;try{n=(await (0,w.stat)(a.absolutePath)).isFile()}catch{return y.NextResponse.json({error:"File not found"},{status:404})}let i=n?t.split("/").slice(0,-1).join("/"):t,o=n?t:`${t}/index.html`.replace(/\/+/g,"/").replace(/^\//,""),l=""===s?o:[i,s].filter(Boolean).join("/"),u=await (0,E.resolveWorkspacePath)(e,l,{deniedSegments:R.DENIED_SEGMENTS});if(!u)return y.NextResponse.json({error:"Invalid path"},{status:400});try{if((await (0,w.stat)(u.absolutePath)).isDirectory()){let t=await (0,E.resolveWorkspacePath)(e,`${l}/index.html`,{deniedSegments:R.DENIED_SEGMENTS});if(!t)return y.NextResponse.json({error:"Not found"},{status:404});let r=await (0,w.readFile)(t.absolutePath);return new Response(new Uint8Array(r),{headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}})}let t=await (0,w.readFile)(u.absolutePath);return new Response(new Uint8Array(t),{headers:{"Content-Type":(0,k.contentTypeForPath)(u.absolutePath),"Cache-Control":"private, max-age=60"}})}catch{return y.NextResponse.json({error:"File not found"},{status:404})}}async function C(e,{params:t}){let{slug:r,rest:s}=await t,a=await b(r);if(!a)return y.NextResponse.json({error:"SLUG_NOT_FOUND"},{status:404});let n=await T(e,a.workspaceId);if(n)return n;let i=await (0,I.getWorkspace)(a.workspaceId);if(!i)return y.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404});if("html"===a.kind)return N(i.rootDir,a.relPath,s??[]);if(!a.port||"running"!==a.status)return new Response(`<!doctype html><meta charset="utf-8"><title>App stopped</title><body style="font:14px system-ui;padding:2rem;color:#444"><h1 style="font-size:1.1rem">This app is not running</h1><p>The hosted app <code>${r}</code> is stopped. Start it from the Hosted Apps section in the sidebar, then reload.</p></body>`,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}});let o="/"+(s??[]).filter(Boolean).join("/");return(0,x.forwardToChild)(e,{port:a.port,rest:o,proxyBase:`/app/${r}`})}e.s(["DELETE",0,C,"GET",0,C,"HEAD",0,C,"OPTIONS",0,C,"PATCH",0,C,"POST",0,C,"PUT",0,C,"dynamic",0,"force-dynamic"],512415);var j=e.i(512415);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/app/[slug]/[[...rest]]/route",pathname:"/app/[slug]/[[...rest]]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/app/[slug]/[[...rest]]/route.ts",nextConfigOutput:"standalone",userland:j,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:D,serverHooks:M}=O;async function $(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/app/[slug]/[[...rest]]/route";w=w.replace(/\/index$/,"")||"/";let y=await O.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:x,params:_,nextConfig:P,parsedUrl:b,isDraftMode:E,prerenderManifest:R,routerServerContext:k,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:N}=y,C=(0,o.normalizeAppPath)(w),j=!!(R.dynamicRoutes[C]||R.routes[I]),U=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!E){let e=!!R.routes[I],t=R.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(P.adapterPath)return await U();throw new g.NoFallbackError}}let D=null;!j||O.isDev||E||(D="/index"===(D=I)?"/":D);let M=!0===O.isDev||!j,$=j&&!M;N&&T&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:T,serverActionsManifest:N});let q=e.method||"GET",W=(0,n.getTracer)(),H=W.getActiveScopeSpan(),F=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,P,R,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:_,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:P.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>O.onRequestError(e,t,s,a,k)},sharedContext:{buildId:x}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.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=`${q} ${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(`${q} ${w}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&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 i(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!j)return await (0,d.sendResponse)(z,G,n,B.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!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.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 O.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,k),t}},u=await O.handleResponse({req:e,nextConfig:P,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!j)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&j||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,d.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&H?await o(H):(a=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof g.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,k),j)throw t;return await (0,d.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,$,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:D})},"routeModule",0,O,"serverHooks",0,M,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,D],526798)},282139,e=>{e.v(e=>Promise.resolve().then(()=>e(351216)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js"].map(t=>e.l(t))).then(()=>t(499465)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__07757zz._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function a(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=s().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(s().length>0||r.SYNTHETIC_USER_IDS.has(e)||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let n=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(n=!0,{...t,adminUserIds:[e]})),n&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,a,"removeAdmin",0,o,"requireAdmin",0,u])},402662,e=>{"use strict";var t=e.i(351216);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let s=e.headers.get("origin"),n=e.headers.get("referer");if(!s&&!n)return null;let a=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let s=new Set;for(let e of t)for(let t of["http","https"])for(let n of r)s.add(`${t}://${e}${n}`);return s}(e.headers.get("host")??"");if(s)return a.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(a.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},487018,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0);function r(e){return 1===e.length&&Array.isArray(e[0])?e[0]:e}class s{stmt;constructor(e){this.stmt=e}get reader(){return this.stmt.columns().length>0}all(...e){let t=r(e);return this.stmt.all(...t)}get(...e){let t=r(e);return this.stmt.get(...t)}run(...e){let t=r(e),s=this.stmt.run(...t);return{changes:Number(s.changes),lastInsertRowid:Number(s.lastInsertRowid)}}iterate(...e){let t=r(e);return this.stmt.iterate(...t)}}class n{db;constructor(e){this.db=new t.DatabaseSync(e),this.db.exec("PRAGMA busy_timeout = 5000"),this.db.exec("PRAGMA journal_mode = WAL")}prepare(e){return new s(this.db.prepare(e))}exec(e){this.db.exec(e)}close(){this.db.close()}pragma(e){this.db.exec(`PRAGMA ${e}`)}}e.s(["default",()=>n])},752569,e=>{"use strict";var t=e.i(985426),r=e.i(257574),s=e.i(507835),n=e.i(457789),a=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),m=e.i(257858),f=e.i(487476),v=e.i(193695);e.i(484264);var R=e.i(315709),_=e.i(351216),g=e.i(487018),w=e.i(750227),A=e.i(660526),E=e.i(902157),y=e.i(402662),I=e.i(254226),N=e.i(583627);async function x(e){let t=await (0,I.requireUser)(e);if(!t.ok)return _.NextResponse.json({error:"UNAUTHORIZED"},{status:401});await (0,N.ensureBootstrapAdmin)(t.user.id);let r=await (0,N.isAdmin)(t.user.id,t.user.email),s=await (0,N.listAdmins)(),n=r?function(){try{let e=w.default.join(process.env.HOME??A.default.homedir(),".wiki-viewer");(0,E.mkdirSync)(e,{recursive:!0});let t=new g.default(w.default.join(e,"auth.db"));return t.pragma("journal_mode = WAL"),t.prepare("SELECT id, email, name FROM user").all()}catch{return[]}}():[];return _.NextResponse.json({admins:s,isAdmin:r,users:n})}async function C(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,N.requireAdmin)(e);if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let s=await e.json();if(!s.userId?.trim())return _.NextResponse.json({error:"Missing userId"},{status:400});await (0,N.addAdmin)(s.userId.trim());let n=await (0,N.listAdmins)();return _.NextResponse.json({ok:!0,admins:n})}async function b(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,N.requireAdmin)(e);if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let s=await e.json();if(!s.userId?.trim())return _.NextResponse.json({error:"Missing userId"},{status:400});try{await (0,N.removeAdmin)(s.userId.trim())}catch(t){let e=t instanceof Error?t.message:String(t);if(e.startsWith("LAST_ADMIN"))return _.NextResponse.json({error:"LAST_ADMIN",message:e},{status:409});throw t}let n=await (0,N.listAdmins)();return _.NextResponse.json({ok:!0,admins:n})}e.s(["DELETE",0,b,"GET",0,x,"POST",0,C,"runtime",0,"nodejs"],37517);var k=e.i(37517);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/system/admins/route",pathname:"/api/system/admins",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/system/admins/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:j,serverHooks:P}=T;async function O(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/system/admins/route";_=_.replace(/\/index$/,"")||"/";let g=await T.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:A,nextConfig:E,parsedUrl:y,isDraftMode:I,prerenderManifest:N,routerServerContext:x,isOnDemandRevalidate:C,revalidateOnlyGenerated:b,resolvedPathname:k,clientReferenceManifest:S,serverActionsManifest:j}=g,P=(0,o.normalizeAppPath)(_),O=!!(N.dynamicRoutes[P]||N.routes[k]),U=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!I){let e=!!N.routes[k],t=N.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await U();throw new v.NoFallbackError}}let q=null;!O||T.isDev||I||(q="/index"===(q=k)?"/":q);let D=!0===T.isDev||!O,M=O&&!D;j&&S&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:S,serverActionsManifest:j});let H=e.method||"GET",L=(0,a.getTracer)(),B=L.getActiveScopeSpan(),$=!!(null==x?void 0:x.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,E,N,K);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let W={params:A,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:D,incrementalCache:F,cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>T.onRequestError(e,t,s,n,x)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>T.handle(V,W).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")!==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 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),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${H} ${_}`)}),o=async n=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&C&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(G,z,a,W.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,x),t}},u=await T.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:K});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&O||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(n=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${_}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof v.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,x),O)throw t;return await (0,p.sendResponse)(G,z,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:j})},"routeModule",0,T,"serverHooks",0,P,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,j],752569)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js"].map(t=>e.l(t))).then(()=>t(499465)))}];
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function a(){return(await (0,t.readConfig)()).adminUserIds??[]}async function i(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=s().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(s().length>0||r.SYNTHETIC_USER_IDS.has(e)||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let n=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(n=!0,{...t,adminUserIds:[e]})),n&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,i,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,a,"removeAdmin",0,o,"requireAdmin",0,u])},402662,e=>{"use strict";var t=e.i(351216);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let s=e.headers.get("origin"),n=e.headers.get("referer");if(!s&&!n)return null;let a=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let s=new Set;for(let e of t)for(let t of["http","https"])for(let n of r)s.add(`${t}://${e}${n}`);return s}(e.headers.get("host")??"");if(s)return a.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(a.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},487018,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0);function r(e){return 1===e.length&&Array.isArray(e[0])?e[0]:e}class s{stmt;constructor(e){this.stmt=e}get reader(){return this.stmt.columns().length>0}all(...e){let t=r(e);return this.stmt.all(...t)}get(...e){let t=r(e);return this.stmt.get(...t)}run(...e){let t=r(e),s=this.stmt.run(...t);return{changes:Number(s.changes),lastInsertRowid:Number(s.lastInsertRowid)}}iterate(...e){let t=r(e);return this.stmt.iterate(...t)}}class n{db;constructor(e){this.db=new t.DatabaseSync(e),this.db.exec("PRAGMA busy_timeout = 5000"),this.db.exec("PRAGMA journal_mode = WAL")}prepare(e){return new s(this.db.prepare(e))}exec(e){this.db.exec(e)}close(){this.db.close()}pragma(e){this.db.exec(`PRAGMA ${e}`)}}e.s(["default",()=>n])},752569,e=>{"use strict";var t=e.i(985426),r=e.i(257574),s=e.i(507835),n=e.i(457789),a=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),m=e.i(257858),f=e.i(135288),v=e.i(193695);e.i(484264);var R=e.i(315709),_=e.i(351216),g=e.i(487018),w=e.i(750227),A=e.i(660526),E=e.i(902157),y=e.i(402662),I=e.i(254226),N=e.i(583627);async function x(e){let t=await (0,I.requireUser)(e);if(!t.ok)return _.NextResponse.json({error:"UNAUTHORIZED"},{status:401});await (0,N.ensureBootstrapAdmin)(t.user.id);let r=await (0,N.isAdmin)(t.user.id,t.user.email),s=await (0,N.listAdmins)(),n=r?function(){try{let e=w.default.join(process.env.HOME??A.default.homedir(),".wiki-viewer");(0,E.mkdirSync)(e,{recursive:!0});let t=new g.default(w.default.join(e,"auth.db"));return t.pragma("journal_mode = WAL"),t.prepare("SELECT id, email, name FROM user").all()}catch{return[]}}():[];return _.NextResponse.json({admins:s,isAdmin:r,users:n})}async function C(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,N.requireAdmin)(e);if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let s=await e.json();if(!s.userId?.trim())return _.NextResponse.json({error:"Missing userId"},{status:400});await (0,N.addAdmin)(s.userId.trim());let n=await (0,N.listAdmins)();return _.NextResponse.json({ok:!0,admins:n})}async function b(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,N.requireAdmin)(e);if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let s=await e.json();if(!s.userId?.trim())return _.NextResponse.json({error:"Missing userId"},{status:400});try{await (0,N.removeAdmin)(s.userId.trim())}catch(t){let e=t instanceof Error?t.message:String(t);if(e.startsWith("LAST_ADMIN"))return _.NextResponse.json({error:"LAST_ADMIN",message:e},{status:409});throw t}let n=await (0,N.listAdmins)();return _.NextResponse.json({ok:!0,admins:n})}e.s(["DELETE",0,b,"GET",0,x,"POST",0,C,"runtime",0,"nodejs"],37517);var k=e.i(37517);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/system/admins/route",pathname:"/api/system/admins",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/system/admins/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:j,serverHooks:P}=T;async function O(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/system/admins/route";_=_.replace(/\/index$/,"")||"/";let g=await T.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:A,nextConfig:E,parsedUrl:y,isDraftMode:I,prerenderManifest:N,routerServerContext:x,isOnDemandRevalidate:C,revalidateOnlyGenerated:b,resolvedPathname:k,clientReferenceManifest:S,serverActionsManifest:j}=g,P=(0,o.normalizeAppPath)(_),O=!!(N.dynamicRoutes[P]||N.routes[k]),U=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!I){let e=!!N.routes[k],t=N.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await U();throw new v.NoFallbackError}}let q=null;!O||T.isDev||I||(q="/index"===(q=k)?"/":q);let D=!0===T.isDev||!O,M=O&&!D;j&&S&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:S,serverActionsManifest:j});let H=e.method||"GET",L=(0,a.getTracer)(),B=L.getActiveScopeSpan(),$=!!(null==x?void 0:x.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,E,N,K);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let W={params:A,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:D,incrementalCache:F,cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>T.onRequestError(e,t,s,n,x)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>T.handle(V,W).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")!==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 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),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${H} ${_}`)}),o=async n=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&C&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(G,z,a,W.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,x),t}},u=await T.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:K});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&O||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(n=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${_}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof v.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,x),O)throw t;return await (0,p.sendResponse)(G,z,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:j})},"routeModule",0,T,"serverHooks",0,P,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,j],752569)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js"].map(t=>e.l(t))).then(()=>t(499465)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0780pzf._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[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),a=e.i(750227),s=e.i(832852);let o="__registry__",i=new Map;function u(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function l(){return a.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 f(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 h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function p(e){let r=await c();if(!r)return null;let n=d(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function g(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(o,async()=>{let t=await h(),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,s.withFileMutex)(o,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 f(t),!0)})}async function v(e){Date.now()-(i.get(e)??0)<3e4||await (0,s.withFileMutex)(o,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),i.set(e,Date.now()),await f(t))})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,g,"lookupAgentByToken",0,p,"readRegistry",0,c,"removeAgent",0,w,"updateLastSeen",0,v])},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 a(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 a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let o=await (0,t.lookupAgentByToken)(s);if(!o)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let i=e.headers.get("x-agent-id")??"";return i?i!==o.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(o.id),{ok:!0,agent:o}):{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,a,"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,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function o(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function i(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function u(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),o=0;for(;o<s.length&&o<n.suffix.length&&s[o]===n.suffix[o];)o+=1;a+=o}return a}function l(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],o=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<o&&(s=e,o=t)}let i=t.filter(e=>Math.abs(e-r)===o);if(1===i.length){let r=t.map(t=>({h:t,s:u(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let l=i.map(t=>({h:t,s:u(e,t,n,a)})).sort((e,t)=>t.s-e.s),d=l.filter(e=>e.s===l[0].s);return d.length>1?{at:d[0].h,ambiguous:!0}:{at:l[0].h,ambiguous:!0}}function d(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=c(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=i(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=l(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=c(e,t.ref,r);if(a){let r=i(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=l(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,o=0;for(let e of r)for(let r of i(e.markdown,t.quote))1===(o+=1)&&(s={block:e,at:r});return 1===o&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:o>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function c(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function f(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},i=new Set(Object.keys(n)),u=new Map(t.map(e=>[e.ref,e])),l=t=>u.get(t)??u.get(e.refAliases?.[t]??""),d=!1,c=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(d=!0,e.textAnchor){let t=l(e.ref??""),o={id:a(i),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,o.offset,o.length);o.prefix=e.prefix,o.suffix=e.suffix}return n[o.id]=o,{...e,anchorId:o.id}}let t=l(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let u=o(t.markdown,t.ref,r,i);return n[u.id]=u,{...e,anchorId:u.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:c,updatedAt:r},changed:d}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:o}=f(s,n);return o}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function g(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let o=s+".tmp";await (0,t.writeFile)(o,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(o,s)}async function m(e,n,a){let s=h(e,n),o=h(e,a);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(s,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,o,"anchorForRange",0,function(e,t,r,n,o,i){let{prefix:u,suffix:l}=s(e,r,n);return{id:a(i),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:u,suffix:l,createdAt:o,updatedAt:o}},"migrateSidecar",0,f,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=d(e,a,r),o=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...o?{blockMarkdown:o.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,d],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,m,"readSidecar",0,p,"writeSidecar",0,g],973909)},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,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},70181,e=>{"use strict";var t=e.i(985426),r=e.i(257574),n=e.i(507835),a=e.i(457789),s=e.i(119791),o=e.i(141062),i=e.i(957291),u=e.i(535899),l=e.i(610241),d=e.i(62749),c=e.i(624891),f=e.i(725836),h=e.i(532736),p=e.i(257858),g=e.i(487476),m=e.i(193695);e.i(484264);var w=e.i(315709),v=e.i(351216),x=e.i(215043),A=e.i(973909),k=e.i(307764),R=e.i(832852),y=e.i(660038),N=e.i(359211);function E(e){return e.endsWith(".md")||e.endsWith(".markdown")}async function I(e,{params:t}){let r=await (0,x.checkAuth)(e);if(!r.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let n=await (0,y.resolveWorkspaceForAgent)(e);if(!n.ok)return v.NextResponse.json({error:n.code},{status:n.status});let{ws:a,rootDir:s}=n,{path:o}=await t,i=o.join("/");if(i.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!E(i))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,N.safeWorkspacePath)(s,i))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let u=(0,x.enforceScope)(r.agent,{filePath:i,op:"read",workspaceId:a.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"),f=null!==d?parseInt(d,10):0,h=null!==c?parseInt(c,10):100;if(Number.isNaN(f)||f<0)return v.NextResponse.json({error:"INVALID_PARAM",message:"after must be a non-negative integer"},{status:400});(Number.isNaN(h)||h<=0)&&(h=100),h>1e3&&(h=1e3);let p=await (0,A.readSidecar)(s,i)??(0,A.emptySidecar)(i),g=(0,k.pollEvents)(p,f,h),m=p.nextEventId-1;return v.NextResponse.json({events:g,lastEventId:m})}async function _(e,{params:t}){let r,n=await (0,x.checkAuth)(e);if(!n.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,y.resolveWorkspaceForAgent)(e,"write");if(!a.ok)return v.NextResponse.json({error:a.code},{status:a.status});let{ws:s,rootDir:o}=a,{path:i}=await t,u=i.join("/");if(u.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!E(u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,N.safeWorkspacePath)(o,u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let l=(0,x.enforceScope)(n.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,x.verifyBy)(n.agent,r.by);if(!d.ok)return v.NextResponse.json({error:d.code,message:d.message},{status:403});let c=r.upToId,f=r.by;return await (0,R.withFileMutex)((0,R.workspaceLockKey)(o,u),async()=>{let e=await (0,A.readSidecar)(o,u)??(0,A.emptySidecar)(u);e.lastAck[f]=c,await (0,A.writeSidecar)(o,u,e)}),v.NextResponse.json({ok:!0})}e.s(["GET",0,I,"POST",0,_,"runtime",0,"nodejs"],644628);var b=e.i(644628);let O=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:b,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:P,serverHooks:j}=O;async function T(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/events/[...path]/route";v=v.replace(/\/index$/,"")||"/";let x=await O.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,params:k,nextConfig:R,parsedUrl:y,isDraftMode:N,prerenderManifest:E,routerServerContext:I,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:j}=x,T=(0,i.normalizeAppPath)(v),D=!!(E.dynamicRoutes[T]||E.routes[S]),q=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!E.routes[S],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await q();throw new m.NoFallbackError}}let C=null;!D||O.isDev||N||(C="/index"===(C=S)?"/":C);let M=!0===O.isDev||!D,H=D&&!M;j&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:j});let U=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),L=!!(null==I?void 0:I.isWrappedByNextServer),$=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,R,E,$);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:k,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>O.onRequestError(e,t,n,a,I)},sharedContext:{buildId:A}},K=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(K,(0,l.signalFromNodeResponse)(t));try{let a,o=async e=>O.handle(Z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.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 n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${U} ${v}`)}),i=async a=>{var s,i;let u=async({previousCacheEntry:r})=>{try{if(!$&&_&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let u=W.renderOpts.collectedTags;if(!D)return await (0,f.sendResponse)(K,G,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,I),t}},l=await O.handleResponse({req:e,nextConfig:R,cacheKey:C,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:$});if(!D)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==(i=l.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",_?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return $&&D||d.delete(g.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,p.getCacheControlHeader)(l.cacheControl)),await (0,f.sendResponse)(K,G,new Response(l.value.body,{headers:d,status:l.value.status||200})),null};L&&B?await i(B):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},i),void 0,!L))}catch(t){if(t instanceof m.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,I),D)throw t;return await (0,f.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:P})},"routeModule",0,O,"serverHooks",0,j,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,P],70181)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[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),a=e.i(750227),s=e.i(832852);let o="__registry__",i=new Map;function u(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function l(){return a.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 f(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 h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function p(e){let r=await c();if(!r)return null;let n=d(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function g(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(o,async()=>{let t=await h(),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,s.withFileMutex)(o,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 f(t),!0)})}async function v(e){Date.now()-(i.get(e)??0)<3e4||await (0,s.withFileMutex)(o,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),i.set(e,Date.now()),await f(t))})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,g,"lookupAgentByToken",0,p,"readRegistry",0,c,"removeAgent",0,w,"updateLastSeen",0,v])},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 a(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 a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let o=await (0,t.lookupAgentByToken)(s);if(!o)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let i=e.headers.get("x-agent-id")??"";return i?i!==o.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(o.id),{ok:!0,agent:o}):{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,a,"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,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function o(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function i(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function u(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),o=0;for(;o<s.length&&o<n.suffix.length&&s[o]===n.suffix[o];)o+=1;a+=o}return a}function l(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],o=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<o&&(s=e,o=t)}let i=t.filter(e=>Math.abs(e-r)===o);if(1===i.length){let r=t.map(t=>({h:t,s:u(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let l=i.map(t=>({h:t,s:u(e,t,n,a)})).sort((e,t)=>t.s-e.s),d=l.filter(e=>e.s===l[0].s);return d.length>1?{at:d[0].h,ambiguous:!0}:{at:l[0].h,ambiguous:!0}}function d(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=c(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=i(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=l(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=c(e,t.ref,r);if(a){let r=i(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=l(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,o=0;for(let e of r)for(let r of i(e.markdown,t.quote))1===(o+=1)&&(s={block:e,at:r});return 1===o&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:o>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function c(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function f(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},i=new Set(Object.keys(n)),u=new Map(t.map(e=>[e.ref,e])),l=t=>u.get(t)??u.get(e.refAliases?.[t]??""),d=!1,c=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(d=!0,e.textAnchor){let t=l(e.ref??""),o={id:a(i),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,o.offset,o.length);o.prefix=e.prefix,o.suffix=e.suffix}return n[o.id]=o,{...e,anchorId:o.id}}let t=l(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let u=o(t.markdown,t.ref,r,i);return n[u.id]=u,{...e,anchorId:u.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:c,updatedAt:r},changed:d}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:o}=f(s,n);return o}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function g(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let o=s+".tmp";await (0,t.writeFile)(o,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(o,s)}async function m(e,n,a){let s=h(e,n),o=h(e,a);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(s,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,o,"anchorForRange",0,function(e,t,r,n,o,i){let{prefix:u,suffix:l}=s(e,r,n);return{id:a(i),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:u,suffix:l,createdAt:o,updatedAt:o}},"migrateSidecar",0,f,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=d(e,a,r),o=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...o?{blockMarkdown:o.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,d],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,m,"readSidecar",0,p,"writeSidecar",0,g],973909)},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,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},70181,e=>{"use strict";var t=e.i(985426),r=e.i(257574),n=e.i(507835),a=e.i(457789),s=e.i(119791),o=e.i(141062),i=e.i(957291),u=e.i(535899),l=e.i(610241),d=e.i(62749),c=e.i(624891),f=e.i(725836),h=e.i(532736),p=e.i(257858),g=e.i(135288),m=e.i(193695);e.i(484264);var w=e.i(315709),v=e.i(351216),x=e.i(215043),A=e.i(973909),k=e.i(307764),R=e.i(832852),y=e.i(660038),N=e.i(359211);function E(e){return e.endsWith(".md")||e.endsWith(".markdown")}async function I(e,{params:t}){let r=await (0,x.checkAuth)(e);if(!r.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let n=await (0,y.resolveWorkspaceForAgent)(e);if(!n.ok)return v.NextResponse.json({error:n.code},{status:n.status});let{ws:a,rootDir:s}=n,{path:o}=await t,i=o.join("/");if(i.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!E(i))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,N.safeWorkspacePath)(s,i))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let u=(0,x.enforceScope)(r.agent,{filePath:i,op:"read",workspaceId:a.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"),f=null!==d?parseInt(d,10):0,h=null!==c?parseInt(c,10):100;if(Number.isNaN(f)||f<0)return v.NextResponse.json({error:"INVALID_PARAM",message:"after must be a non-negative integer"},{status:400});(Number.isNaN(h)||h<=0)&&(h=100),h>1e3&&(h=1e3);let p=await (0,A.readSidecar)(s,i)??(0,A.emptySidecar)(i),g=(0,k.pollEvents)(p,f,h),m=p.nextEventId-1;return v.NextResponse.json({events:g,lastEventId:m})}async function _(e,{params:t}){let r,n=await (0,x.checkAuth)(e);if(!n.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,y.resolveWorkspaceForAgent)(e,"write");if(!a.ok)return v.NextResponse.json({error:a.code},{status:a.status});let{ws:s,rootDir:o}=a,{path:i}=await t,u=i.join("/");if(u.startsWith(".proof"))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});if(!E(u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path must be .md or .markdown"},{status:400});if(!(0,N.safeWorkspacePath)(o,u))return v.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let l=(0,x.enforceScope)(n.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,x.verifyBy)(n.agent,r.by);if(!d.ok)return v.NextResponse.json({error:d.code,message:d.message},{status:403});let c=r.upToId,f=r.by;return await (0,R.withFileMutex)((0,R.workspaceLockKey)(o,u),async()=>{let e=await (0,A.readSidecar)(o,u)??(0,A.emptySidecar)(u);e.lastAck[f]=c,await (0,A.writeSidecar)(o,u,e)}),v.NextResponse.json({ok:!0})}e.s(["GET",0,I,"POST",0,_,"runtime",0,"nodejs"],644628);var b=e.i(644628);let O=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:b,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:P,serverHooks:j}=O;async function T(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/events/[...path]/route";v=v.replace(/\/index$/,"")||"/";let x=await O.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,params:k,nextConfig:R,parsedUrl:y,isDraftMode:N,prerenderManifest:E,routerServerContext:I,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:j}=x,T=(0,i.normalizeAppPath)(v),D=!!(E.dynamicRoutes[T]||E.routes[S]),q=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!E.routes[S],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await q();throw new m.NoFallbackError}}let C=null;!D||O.isDev||N||(C="/index"===(C=S)?"/":C);let M=!0===O.isDev||!D,H=D&&!M;j&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:j});let U=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),L=!!(null==I?void 0:I.isWrappedByNextServer),$=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,R,E,$);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:k,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>O.onRequestError(e,t,n,a,I)},sharedContext:{buildId:A}},K=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(K,(0,l.signalFromNodeResponse)(t));try{let a,o=async e=>O.handle(Z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.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 n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${U} ${v}`)}),i=async a=>{var s,i;let u=async({previousCacheEntry:r})=>{try{if(!$&&_&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let u=W.renderOpts.collectedTags;if(!D)return await (0,f.sendResponse)(K,G,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,I),t}},l=await O.handleResponse({req:e,nextConfig:R,cacheKey:C,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:$});if(!D)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==(i=l.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",_?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return $&&D||d.delete(g.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,p.getCacheControlHeader)(l.cacheControl)),await (0,f.sendResponse)(K,G,new Response(l.value.body,{headers:d,status:l.value.status||200})),null};L&&B?await i(B):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},i),void 0,!L))}catch(t){if(t instanceof m.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,I),D)throw t;return await (0,f.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:P})},"routeModule",0,O,"serverHooks",0,j,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,P],70181)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0_2j7pq._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},727062,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),p=e.i(624891),c=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(487476),m=e.i(193695);e.i(484264);var R=e.i(315709),g=e.i(351216),_=e.i(402662),w=e.i(787140),E=e.i(660038),y=e.i(536654),P=e.i(716234);async function x(e){let t=(0,_.checkOrigin)(e);if(t)return t;let r=await (0,E.resolveWorkspaceForUser)(e,"write");if(!r.ok)return g.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,n=(await e.json()).path;if(!n||"string"!=typeof n)return g.NextResponse.json({error:"Invalid path"},{status:400});let s=await (0,y.resolveWorkspacePath)(a,n,{deniedSegments:P.DENIED_SEGMENTS});if(!s||s.absolutePath===a)return g.NextResponse.json({error:"Invalid path"},{status:400});let i=s.absolutePath;if(!await (0,w.detectGitRepo)(i))return g.NextResponse.json({error:"Not a git repository"},{status:400});try{await (0,w.pullRepo)({rootDir:i});let[e,t]=await Promise.all([(0,w.currentBranch)(i),(0,w.headSha)(i)]);return g.NextResponse.json({ok:!0,branch:e,sha:t})}catch(t){let e=t instanceof Error?t.message:"Pull failed";return g.NextResponse.json({error:"Pull failed",message:e},{status:500})}}e.s(["POST",0,x],934772);var N=e.i(934772);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/git-pull/route",pathname:"/api/wiki/git-pull",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/git-pull/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:k}=C;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/wiki/git-pull/route";g=g.replace(/\/index$/,"")||"/";let _=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:P,isDraftMode:x,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:T}=_,j=(0,l.normalizeAppPath)(g),q=!!(N.dynamicRoutes[j]||N.routes[S]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,P,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!N.routes[S],t=N.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||C.isDev||x||(D="/index"===(D=S)?"/":D);let H=!0===C.isDev||!q,U=q&&!H;T&&O&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:T});let M=e.method||"GET",B=(0,s.getTracer)(),$=B.getActiveScopeSpan(),W=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,y,N,F);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:E,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},G=new o.NodeNextRequest(e),L=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>C.handle(V,z).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=`${M} ${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(`${M} ${g}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!F&&b&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(G,L,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:R.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 C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&q||d.delete(v.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,c.sendResponse)(G,L,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&$?await l($):(n=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),q)throw t;return await (0,c.sendResponse)(G,L,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,k,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b],727062)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},727062,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),p=e.i(624891),c=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(135288),m=e.i(193695);e.i(484264);var R=e.i(315709),g=e.i(351216),_=e.i(402662),w=e.i(787140),E=e.i(660038),y=e.i(536654),P=e.i(716234);async function x(e){let t=(0,_.checkOrigin)(e);if(t)return t;let r=await (0,E.resolveWorkspaceForUser)(e,"write");if(!r.ok)return g.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,n=(await e.json()).path;if(!n||"string"!=typeof n)return g.NextResponse.json({error:"Invalid path"},{status:400});let s=await (0,y.resolveWorkspacePath)(a,n,{deniedSegments:P.DENIED_SEGMENTS});if(!s||s.absolutePath===a)return g.NextResponse.json({error:"Invalid path"},{status:400});let i=s.absolutePath;if(!await (0,w.detectGitRepo)(i))return g.NextResponse.json({error:"Not a git repository"},{status:400});try{await (0,w.pullRepo)({rootDir:i});let[e,t]=await Promise.all([(0,w.currentBranch)(i),(0,w.headSha)(i)]);return g.NextResponse.json({ok:!0,branch:e,sha:t})}catch(t){let e=t instanceof Error?t.message:"Pull failed";return g.NextResponse.json({error:"Pull failed",message:e},{status:500})}}e.s(["POST",0,x],934772);var N=e.i(934772);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/git-pull/route",pathname:"/api/wiki/git-pull",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/git-pull/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:k}=C;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/wiki/git-pull/route";g=g.replace(/\/index$/,"")||"/";let _=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:P,isDraftMode:x,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,resolvedPathname:S,clientReferenceManifest:O,serverActionsManifest:T}=_,j=(0,l.normalizeAppPath)(g),q=!!(N.dynamicRoutes[j]||N.routes[S]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,P,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!N.routes[S],t=N.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||C.isDev||x||(D="/index"===(D=S)?"/":D);let H=!0===C.isDev||!q,U=q&&!H;T&&O&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:T});let M=e.method||"GET",B=(0,s.getTracer)(),$=B.getActiveScopeSpan(),W=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,y,N,F);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:E,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},G=new o.NodeNextRequest(e),L=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>C.handle(V,z).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=`${M} ${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(`${M} ${g}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!F&&b&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(G,L,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:R.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 C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:k,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&q||d.delete(v.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,c.sendResponse)(G,L,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&$?await l($):(n=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),q)throw t;return await (0,c.sendResponse)(G,L,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,k,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b],727062)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0__5_f3._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},679106,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(487476),m=e.i(193695);e.i(484264);var w=e.i(315709),R=e.i(912714),g=e.i(750227),_=e.i(351216),y=e.i(402662),x=e.i(660038),E=e.i(536654),P=e.i(666680);let N=".scratch";function C(e){return(e??"").replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"").slice(0,12)||"txt"}async function b(e,t=Date.now()){let r,a,n;if(!e)return 0;try{r=await (0,R.realpath)(e)}catch{return 0}try{a=await (0,R.realpath)(g.default.join(r,N))}catch{return 0}let s=g.default.relative(r,a);if(""===s||s.startsWith("..")||g.default.isAbsolute(s))return 0;try{n=await (0,R.readdir)(a)}catch{return 0}let i=0;return await Promise.all(n.map(async e=>{let r=g.default.join(a,e);try{let e=await (0,R.realpath)(r),n=g.default.relative(a,e);if(n.startsWith("..")||g.default.isAbsolute(n))return;let s=await (0,R.stat)(e);t-s.mtimeMs>6048e5&&(await (0,R.rm)(e,{recursive:!0,force:!0}),i+=1)}catch{}})),i}var A=e.i(716234);async function j(e,t,r){let a,n,s=(a=C(t),n=(0,P.randomBytes)(3).toString("hex"),`${N}/scratch-${Date.now()}-${n}.${a}`),i=await (0,E.resolveWorkspacePath)(e,s,{allowMissing:!0,deniedSegments:A.DENIED_SEGMENTS});return i?(await (0,R.mkdir)(g.default.dirname(i.absolutePath),{recursive:!0}),await (0,R.writeFile)(i.absolutePath,r),{path:i.relPath,name:g.default.basename(i.relPath)}):null}async function k(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,x.resolveWorkspaceForUser)(e,"write");if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r;if(await b(a).catch(()=>0),(e.headers.get("content-type")??"").includes("multipart/form-data")){let t=(await e.formData()).get("file");if(!(t instanceof File))return _.NextResponse.json({error:"Missing file"},{status:400});if(t.size>0x3200000)return _.NextResponse.json({error:"File too large"},{status:413});let r=Buffer.from(await t.arrayBuffer()),n=function(e){if(!e)return"txt";let t=e.split("/").pop()??e,r=t.lastIndexOf(".");return r<=0||r===t.length-1?"txt":C(t.slice(r+1))}(t.name),s=await j(a,n,r);return s?_.NextResponse.json(s):_.NextResponse.json({error:"Invalid path"},{status:400})}let n=await e.json().catch(()=>({}));if("string"!=typeof n.content)return _.NextResponse.json({error:"Missing content"},{status:400});if(Buffer.byteLength(n.content,"utf8")>0x3200000)return _.NextResponse.json({error:"Content too large"},{status:413});let s=C(n.ext),i=await j(a,s,n.content);return i?_.NextResponse.json(i):_.NextResponse.json({error:"Invalid path"},{status:400})}e.s(["POST",0,k],558227);var S=e.i(558227);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/scratch/route",pathname:"/api/wiki/scratch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/scratch/route.ts",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:q,serverHooks:I}=O;async function D(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/wiki/scratch/route";R=R.replace(/\/index$/,"")||"/";let g=await O.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:x,parsedUrl:E,isDraftMode:P,prerenderManifest:N,routerServerContext:C,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:S}=g,T=(0,l.normalizeAppPath)(R),q=!!(N.dynamicRoutes[T]||N.routes[j]),I=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!P){let e=!!N.routes[j],t=N.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||O.isDev||P||(D="/index"===(D=j)?"/":D);let M=!0===O.isDev||!q,H=q&&!M;S&&k&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:k,serverActionsManifest:S});let U=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==C?void 0:C.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,x,N,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>O.onRequestError(e,t,a,n,C)},sharedContext:{buildId:_}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>O.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${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(`${U} ${R}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!W&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind: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 O.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),t}},u=await O.handleResponse({req:e,nextConfig:x,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:W});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&q||d.delete(v.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)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await l(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),q)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:q})},"routeModule",0,O,"serverHooks",0,I,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,q],679106)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===o)return null;if(i.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(l,e);if(a(s))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},402662,e=>{"use strict";var t=e.i(351216);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"),n=e.headers.get("referer");if(!a&&!n)return null;let s=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 n of r)a.add(`${t}://${e}${n}`);return a}(e.headers.get("host")??"");if(a)return s.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(n){try{let{protocol:e,host:t}=new URL(n);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},679106,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(135288),m=e.i(193695);e.i(484264);var w=e.i(315709),R=e.i(912714),g=e.i(750227),_=e.i(351216),y=e.i(402662),x=e.i(660038),E=e.i(536654),P=e.i(666680);let N=".scratch";function C(e){return(e??"").replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"").slice(0,12)||"txt"}async function b(e,t=Date.now()){let r,a,n;if(!e)return 0;try{r=await (0,R.realpath)(e)}catch{return 0}try{a=await (0,R.realpath)(g.default.join(r,N))}catch{return 0}let s=g.default.relative(r,a);if(""===s||s.startsWith("..")||g.default.isAbsolute(s))return 0;try{n=await (0,R.readdir)(a)}catch{return 0}let i=0;return await Promise.all(n.map(async e=>{let r=g.default.join(a,e);try{let e=await (0,R.realpath)(r),n=g.default.relative(a,e);if(n.startsWith("..")||g.default.isAbsolute(n))return;let s=await (0,R.stat)(e);t-s.mtimeMs>6048e5&&(await (0,R.rm)(e,{recursive:!0,force:!0}),i+=1)}catch{}})),i}var A=e.i(716234);async function j(e,t,r){let a,n,s=(a=C(t),n=(0,P.randomBytes)(3).toString("hex"),`${N}/scratch-${Date.now()}-${n}.${a}`),i=await (0,E.resolveWorkspacePath)(e,s,{allowMissing:!0,deniedSegments:A.DENIED_SEGMENTS});return i?(await (0,R.mkdir)(g.default.dirname(i.absolutePath),{recursive:!0}),await (0,R.writeFile)(i.absolutePath,r),{path:i.relPath,name:g.default.basename(i.relPath)}):null}async function k(e){let t=(0,y.checkOrigin)(e);if(t)return t;let r=await (0,x.resolveWorkspaceForUser)(e,"write");if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r;if(await b(a).catch(()=>0),(e.headers.get("content-type")??"").includes("multipart/form-data")){let t=(await e.formData()).get("file");if(!(t instanceof File))return _.NextResponse.json({error:"Missing file"},{status:400});if(t.size>0x3200000)return _.NextResponse.json({error:"File too large"},{status:413});let r=Buffer.from(await t.arrayBuffer()),n=function(e){if(!e)return"txt";let t=e.split("/").pop()??e,r=t.lastIndexOf(".");return r<=0||r===t.length-1?"txt":C(t.slice(r+1))}(t.name),s=await j(a,n,r);return s?_.NextResponse.json(s):_.NextResponse.json({error:"Invalid path"},{status:400})}let n=await e.json().catch(()=>({}));if("string"!=typeof n.content)return _.NextResponse.json({error:"Missing content"},{status:400});if(Buffer.byteLength(n.content,"utf8")>0x3200000)return _.NextResponse.json({error:"Content too large"},{status:413});let s=C(n.ext),i=await j(a,s,n.content);return i?_.NextResponse.json(i):_.NextResponse.json({error:"Invalid path"},{status:400})}e.s(["POST",0,k],558227);var S=e.i(558227);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/scratch/route",pathname:"/api/wiki/scratch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/scratch/route.ts",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:q,serverHooks:I}=O;async function D(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/wiki/scratch/route";R=R.replace(/\/index$/,"")||"/";let g=await O.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:x,parsedUrl:E,isDraftMode:P,prerenderManifest:N,routerServerContext:C,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:S}=g,T=(0,l.normalizeAppPath)(R),q=!!(N.dynamicRoutes[T]||N.routes[j]),I=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!P){let e=!!N.routes[j],t=N.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||O.isDev||P||(D="/index"===(D=j)?"/":D);let M=!0===O.isDev||!q,H=q&&!M;S&&k&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:k,serverActionsManifest:S});let U=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==C?void 0:C.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,x,N,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>O.onRequestError(e,t,a,n,C)},sharedContext:{buildId:_}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>O.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${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(`${U} ${R}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:r})=>{try{if(!W&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind: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 O.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),t}},u=await O.handleResponse({req:e,nextConfig:x,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:W});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&q||d.delete(v.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)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await l(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),q)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:q})},"routeModule",0,O,"serverHooks",0,I,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,q],679106)},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)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},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)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0_u7i7z._.js.map