wiki-viewer 1.14.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/agent/activity/route.js +6 -6
- package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js +9 -9
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js +9 -9
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js +7 -7
- package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js +5 -5
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/route.js +6 -5
- package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/route.js +4 -4
- package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/clear-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/reveal/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/root-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/set-root/route.js +6 -5
- package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js +5 -4
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js +6 -5
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js +5 -4
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js +7 -6
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js +5 -5
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/app/route.js +7 -7
- package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js +7 -7
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/content/route.js +7 -7
- package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/download/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/file/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js +4 -4
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js +4 -4
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js +4 -4
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js +4 -4
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/move/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js +7 -7
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/page/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/search/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-jzw2_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.-oq-7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__000spch._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01oin-a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01qcera._.js +16 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02.uul~._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__024967n._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06booxp._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__071_pmz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0bqpg._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_1f2cw._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a6j6r4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aoqat-._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0as-u6z._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bvtbax._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-ee48._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e_9pc5._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esmskc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fshk._._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fu72o7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0k9mili._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l-wu5u._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lvz22t._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n-chxk._.js +16 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n9zdf0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nmx3k2._.js +12 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nzlmkb._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o0v6hf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s38pid._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s_8poz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sfrx~.._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sggstu._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u81k~2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uibxf_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wfv_by._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wlj-yw._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w~__xz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yat~ul._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yxauu6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zbkgnr._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zv_j05._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~rntxj._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_lib_search_0d-_j3u._.js +4 -4
- package/.next/standalone/.next/server/chunks/src_lib_search_0ymmp0c._.js +3 -3
- package/.next/standalone/.next/server/chunks/src_lib_workspaces_ts_0qon40u._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_029cdbg._.js → 0~w0_katex_dist_katex_mjs_0s4yb1t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0z41nrr._.js → [root-of-the-server]__10te1ye._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_13p348f._.js → node_modules__pnpm_0-a_zjq._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0gos._c._.js → node_modules__pnpm_02l_1_8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ru1i2-._.js → node_modules__pnpm_03rzttw._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_08xpp3w._.js → node_modules__pnpm_04frxp9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0b8odbc._.js → node_modules__pnpm_057-t6m._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0f_n_zp._.js → node_modules__pnpm_05_oahi._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0~i3a.i._.js → node_modules__pnpm_05ans~m._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0i2m0b.._.js → node_modules__pnpm_06-2ia.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0aha1~u._.js → node_modules__pnpm_086.ow4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0w.kwue._.js → node_modules__pnpm_0cahog3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0e0r_qk._.js → node_modules__pnpm_0cxanql._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ajqqlq._.js → node_modules__pnpm_0e09gmf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0hzzx9d._.js → node_modules__pnpm_0eqjo2f._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_02bje_g._.js → node_modules__pnpm_0f-yazg._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0xk042~._.js → node_modules__pnpm_0iu44jv._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_11ede0p._.js → node_modules__pnpm_0jh8q66._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0k-7uzm._.js → node_modules__pnpm_0m39f~t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0xr.ztu._.js → node_modules__pnpm_0ma-8l.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0i6_kfe._.js → node_modules__pnpm_0met6sx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_04v1_ty._.js → node_modules__pnpm_0mtrsi0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0607~kg._.js → node_modules__pnpm_0n_swwn._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0t4l89_._.js → node_modules__pnpm_0ndyy93._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0-_58b8._.js → node_modules__pnpm_0s-cj7c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0y2h_cz._.js → node_modules__pnpm_0tr41-t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_08edl1n._.js → node_modules__pnpm_0u.uija._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0026mgr._.js → node_modules__pnpm_0wiyn6d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_09o_spj._.js → node_modules__pnpm_0ygzt82._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_page_tsx_0ss2.w7._.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/0ci7khnv7i~7_.js +17 -0
- package/.next/standalone/.next/static/chunks/0sx~65~lg4mgl.css +5 -0
- package/.next/standalone/package.json +1 -1
- package/README.md +88 -17
- package/bin/wiki-viewer.js +198 -6
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-.y6im._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-3_t2y._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-kjkzt._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-puax4._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01h996g._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0329ktu._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03_xj4r._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05398dt._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06lfvxh._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06w0aet._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__070_p2a._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0905hi1._.js +0 -21
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aa63~j._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0avcplk._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8_kyo._.js +0 -16
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bticq1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bwevvu._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c__k3q._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cp~z4x._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fmdv9h._.js +0 -20
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0h0qbwr._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jk~oyi._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ndq77b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nvgpuk._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ocvng2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ps4h~.._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q7jqwp._.js +0 -12
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qew~6p._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s_9f-a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uv7b8u._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uv8.9i._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vfe2io._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w11kjy._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wc-.e4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ymovmp._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~c6ouv._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~rhs0u._.js +0 -16
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10h9tid._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10yk-u1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11105ew._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11a3dhw._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13420tt._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13h~pdf._.js +0 -3
- package/.next/standalone/.next/static/chunks/02kg.lbkfi1yc.css +0 -5
- package/.next/standalone/.next/static/chunks/0rcwd6-.iu~nd.js +0 -17
- /package/.next/standalone/.next/static/{rRyvFORvJoc5OWbCR2A_P → ecpoWt_SP3WkUTh0NsnuT}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{rRyvFORvJoc5OWbCR2A_P → ecpoWt_SP3WkUTh0NsnuT}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{rRyvFORvJoc5OWbCR2A_P → ecpoWt_SP3WkUTh0NsnuT}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function s(e,t){if(!e)return null;let s=r.default.normalize(t);if(s.startsWith("..")||r.default.isAbsolute(s)||n(s))return null;let i=r.default.join(e,s);if(i!==e&&!i.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(i);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(i);if(t!==i)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,a.open)(n,"w",r);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,s,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??r.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function h(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function f(e){let a=await d();if(!a)return null;let r=c(e);for(let e of a.agents)if(function(e,a){let r=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(a.padEnd(64,"0"),"utf8");return r.length===n.length&&(0,t.timingSafeEqual)(r,n)&&e.length===a.length}(e.tokenHash,r))return e;return null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function g(e){return(0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,m,"hashToken",0,c,"lookupAgentByToken",0,f,"readRegistry",0,d,"removeAgent",0,g,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var r=e.i(254226);async function n(e){let a=await (0,r.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:r}=e;return void 0!==r.workspaceId&&void 0!==t.workspaceId&&r.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${r.workspaceId}")`}:r.ops.includes(t.op)?t.filePath&&!r.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},713738,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),m=e.i(844146),g=e.i(193695);e.i(105888);var w=e.i(530564),v=e.i(912714),y=e.i(750227),x=e.i(702414),R=e.i(215043),_=e.i(660038),k=e.i(359211),E=e.i(719126);function A(e,t,a){return x.NextResponse.json({error:e,message:t},{status:a})}let N=new Set([".proof",".git"]);async function P(e,t,a,r,n,s,i,o,l){let u;if(n>s||o.length>=i)return;let c=y.default.join(e,t);try{u=await (0,v.readdir)(c,{withFileTypes:!0})}catch{return}for(let c of u){let u,d,p;if(o.length>=i)break;if(N.has(c.name))continue;let h=t?`${t}/${c.name}`:c.name;if((0,R.enforceScope)(a,{filePath:h,op:"read",workspaceId:l}).ok){if(c.isSymbolicLink())u="symlink";else if(c.isDirectory())u="dir";else{u="file";try{let t=await (0,v.stat)(y.default.join(e,h));d=t.size,p=t.mtime.toISOString()}catch{}}o.push({name:c.name,path:h,type:u,size:d,mtime:p}),r&&"dir"===u&&await P(e,h,a,r,n+1,s,i,o,l)}}}async function j(e,{params:t}){let a=await (0,R.checkAuth)(e);if(!a.ok)return A("UNAUTHORIZED",a.message??"Unauthorized",401);let{path:r}=await t,n=r?r.join("/"):"",s=await (0,_.resolveWorkspaceForAgent)(e);if(!s.ok)return A(s.code,s.code,s.status);let{ws:i,rootDir:o}=s;if(n){if(!(0,k.safeWorkspacePath)(o,n))return A("INVALID_PATH","Path traversal rejected",400);if(!await (0,E.safeAbsPath)(o,n))return A("INVALID_PATH","Path rejected (symlink escape or denied)",400)}let l=new URL(e.url),u=l.searchParams.has("recursive"),c=Math.min(parseInt(l.searchParams.get("limit")??"1000",10)||1e3,1e4),d=Math.min(parseInt(l.searchParams.get("depth")??"10",10)||10,20),p=n?y.default.join(o,n):o;try{if(!(await (0,v.stat)(p)).isDirectory())return A("NOT_A_DIRECTORY","Path is not a directory",400)}catch(e){if("ENOENT"===e.code)return A("NOT_FOUND","Directory not found",404);throw e}let h=[];return await P(o,n,a.agent,u,0,d,c,h,i.id),x.NextResponse.json({path:n,entries:h,truncated:h.length>=c})}e.s(["GET",0,j,"runtime",0,"nodejs"],897755);var I=e.i(897755);let T=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/fs/ls/[[...path]]/route",pathname:"/api/agent/fs/ls/[[...path]]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/fs/ls/[[...path]]/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:D,serverHooks:b}=T;async function C(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/fs/ls/[[...path]]/route";v=v.replace(/\/index$/,"")||"/";let y=await T.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:R,nextConfig:_,parsedUrl:k,isDraftMode:E,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:j,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:D}=y,b=(0,o.normalizeAppPath)(v),C=!!(A.dynamicRoutes[b]||A.routes[I]),S=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,k,!1):t.end("This page could not be found"),null);if(C&&!E){let e=!!A.routes[I],t=A.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await S();throw new g.NoFallbackError}}let q=null;!C||T.isDev||E||(q="/index"===(q=I)?"/":q);let U=!0===T.isDev||!C,H=C&&!U;D&&O&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:D});let M=e.method||"GET",B=(0,s.getTracer)(),F=B.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,_,A,W);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let L={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:z,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>T.onRequestError(e,t,r,n,N)},sharedContext:{buildId:x}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>T.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!W&&P&&j&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!C)return await (0,p.sendResponse)(K,G,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,r=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),t}},u=await T.handleResponse({req:e,nextConfig:_,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:W});if(!C)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==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",P?"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 W&&C||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)(K,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&F?await o(F):(n=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof g.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),C)throw t;return await (0,p.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:D})},"routeModule",0,T,"serverHooks",0,b,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,D],713738)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__06w0aet._.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},359211,787140,e=>{"use strict";let t;var r=e.i(750227),a=e.i(902157),n=e.i(666680),i=e.i(798003),s=e.i(874533),o=e.i(812057),l=e.i(912714),c=e.i(660526);let u=(0,o.promisify)(s.execFile);async function d(){if(!0!==t)try{await u("git",["--version"]),t=!0}catch{throw Error("git binary not found. Install git and ensure it is on PATH.")}}let p=/[;\|&$`<>(){}\n\0]/;function h(e,t={}){let r;if(p.test(e))return{ok:!1,reason:"URL contains forbidden characters"};try{r=new URL(e)}catch{return{ok:!1,reason:"URL could not be parsed"}}let a=r.protocol;if("https:"===a);else if("http:"===a&&t.allowInsecureHttp);else if("http:"===a)return{ok:!1,reason:"http: is not allowed (set allowInsecureHttp to permit)"};else return{ok:!1,reason:`Scheme '${a.replace(":","")}' is not allowed. Use https.`};let{allowedHosts:n}=t;if(n&&n.length>0){let e=r.hostname.toLowerCase();if(!n.map(e=>e.toLowerCase()).includes(e))return{ok:!1,reason:`Host '${r.hostname}' is not in the allowed hosts list`}}return{ok:!0,url:r}}async function f(e){let t=await (0,l.mkdtemp)(r.default.join((0,c.tmpdir)(),"wiki-git-")),n=r.default.join(t,"askpass.sh"),i=`#!/bin/sh
|
|
2
|
-
printf '%s' '${e.replace(/'/g,"'\\''")}'`;(0,a.writeFileSync)(n,i,{mode:448});try{(0,a.chmodSync)(n,448)}catch{}return n}function w(e){try{(0,a.unlinkSync)(e)}catch{}let t=r.default.dirname(e);if(t!==(0,c.tmpdir)())try{(0,a.rmSync)(t,{recursive:!0,force:!0})}catch{}}async function m(e){let t=await f(e);return{env:{...process.env,GIT_ASKPASS:t,GIT_TERMINAL_PROMPT:"0"},askpassPath:t}}async function g(e){let t,a,{branch:n,token:i,destDir:s,subpath:o}=e,l=e.depth??1,c=e.username??"x-access-token";o&&(t=function(e){if(r.default.isAbsolute(e))throw Error("subpath must be relative");if(e.includes(".."))throw Error("subpath must not contain '..'");if(/[\0\n]/.test(e)||p.test(e))throw Error("subpath contains forbidden characters");let t=e.split(r.default.sep).join("/").replace(/\/+$/,"");if(".git"===t||t.startsWith(".git/"))throw Error("subpath must not point at .git");return t}(o));let d=["clone","--depth",String(l),"--single-branch","--no-tags"];n&&d.push("--branch",n),t&&d.push("--filter=blob:none","--sparse");let h=i?function(e,t){try{let r=new URL(e);return r.username=t,r.password="",r.toString()}catch{return e}}(e.remoteUrl,c):e.remoteUrl;d.push(h,s);try{if(i){let e=await m(i);a=e.askpassPath,await u("git",d,{env:e.env})}else await u("git",d,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});t&&await u("git",["-C",s,"sparse-checkout","set","--cone",t],{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{a&&w(a)}}async function v(e){let t,{rootDir:r,token:a}=e,n=["-C",r,"pull","--ff-only"];try{if(a){let e=await m(a);t=e.askpassPath,await u("git",n,{env:e.env})}else await u("git",n,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{t&&w(t)}}async function y(e){let{stdout:t}=await u("git",["-C",e,"rev-parse","HEAD"]);return t.trim()}async function R(e){let{stdout:t}=await u("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"]);return t.trim()}async function _(e,t,r=50){let{stdout:a}=await u("git",["-C",e,"log","--follow",`--max-count=${r}`,"--pretty=format:%H\x1f%s\x1f%an\x1f%aI","--",t]);return a.trim()?a.trim().split("\n").map(e=>{let t=e.split("\x1f"),r=(t[0]??"").trim();return{sha:r,shortSha:r.slice(0,7),message:(t[1]??"").trim(),author:(t[2]??"").trim(),date:(t[3]??"").trim()}}):[]}async function k(e,t,r){try{let{stdout:a}=await u("git",["-C",e,"diff",`${r}^`,r,"--",t]);return a}catch{let{stdout:a}=await u("git",["-C",e,"show",r,"--",t]);return a}}async function b(e,t){try{let{stdout:r}=await u("git",["-C",e,"log","-1","--pretty=format:%H\x1f%an\x1f%aI","--",t]);if(!r.trim())return null;let a=r.trim().split("\x1f");return{sha:(a[0]??"").trim(),author:(a[1]??"").trim(),date:(a[2]??"").trim()}}catch{return null}}async function S(e){let{stdout:t}=await u("git",["-C",e,"branch"]);return t.split("\n").filter(Boolean).map(e=>({current:e.startsWith("*"),name:e.replace(/^\*?\s+/,"").trim()}))}async function E(e,t){if(!(!(!t||t.length>200||p.test(t)||t.includes("..")||t.startsWith("-")||t.startsWith("/")||t.endsWith("/"))&&/^[a-zA-Z0-9._\-/]+$/.test(t)&&1)){let e=Error("Invalid branch name");throw e.invalidBranch=!0,e}let{stdout:r}=await u("git",["-C",e,"status","--porcelain"]);if(r.trim().length>0){let e=Error("Repository has uncommitted changes");throw e.dirty=!0,e}await u("git",["-C",e,"checkout",t]);let[a,n]=await Promise.all([y(e),R(e)]);return{sha:a,branch:n}}async function C(e,t){let a=t.split("/").filter(Boolean);for(let t=a.length-1;t>=0;t--){let n=0===t?e:r.default.join(e,...a.slice(0,t));if(await O(n))return{repoDir:n,relFromRepo:a.slice(t).join("/")}}return null}async function O(e){try{await (0,l.stat)(r.default.join(e,".git"))}catch{return null}try{let{stdout:t}=await u("git",["-C",e,"rev-parse","--show-toplevel"]);if(t.trim()!==e)return null;let r=await R(e),{stdout:a}=await u("git",["-C",e,"status","--porcelain"]),n=a.trim().length>0;return{branch:r,dirty:n}}catch{return null}}function A(){return r.default.join(process.env.HOME??c.default.homedir(),".wiki-viewer")}function P(){return r.default.join(A(),"git-secrets.json")}function D(){let e=P();if(!(0,a.existsSync)(e))return{};try{return JSON.parse((0,a.readFileSync)(e,"utf-8"))}catch{return{}}}function x(e){let t=P();(0,a.writeFileSync)(t,JSON.stringify(e),{mode:384});try{(0,a.chmodSync)(t,384)}catch{}}async function I(e,t){await (0,l.mkdir)(A(),{recursive:!0});let r=D();r[e]=t,x(r)}async function T(e){return D()[e]??null}async function N(e){let t=D();e in t&&(delete t[e],x(t))}async function j(){return(await (0,i.readConfig)()).workspaces??[]}async function U(e){return(await j()).find(t=>t.id===e)??null}async function H(e){let t=r.default.resolve(e.rootDir),a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:e.name??r.default.basename(t),rootDir:t,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}async function W(t){let s;if(await d(),!t.allowLocalPath){let e=h(t.remoteUrl,{allowedHosts:t.allowedHosts,allowInsecureHttp:t.allowInsecureHttp});if(!e.ok)throw Error(e.reason)}let o="ws_"+(0,n.randomBytes)(6).toString("base64url"),l=r.default.join((0,i.reposDir)(),o),c=t.subpath?r.default.join(l,t.subpath):l;t.token&&(s="git_"+(0,n.randomBytes)(9).toString("base64url"),await I(s,t.token));try{await g({remoteUrl:t.remoteUrl,branch:t.branch,token:t.token,username:t.username,destDir:l,subpath:t.subpath})}catch(e){if(s)try{await N(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw e}if(t.subpath){let{lstat:n,realpath:i}=await e.A(687903),o=!1;try{if((await n(c)).isDirectory()){let e=await i(l),t=await i(c);o=t===e||t.startsWith(e+r.default.sep)}}catch{}if(!o){if(s)try{await N(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw Error(`Subpath '${t.subpath}' not found in the repository.`)}}let u=new Date().toISOString(),p=await y(l),f=t.branch?void 0:await R(l),w={id:o,name:t.name??r.default.basename(t.remoteUrl.replace(/\.git$/,"")),rootDir:c,createdAt:u,lastOpenedAt:u,createdBy:t.createdBy,readOnly:!0,git:{remoteUrl:t.remoteUrl,branch:t.branch??f,tokenRef:s,username:t.username,lastPulledAt:u,lastSha:p,subpath:t.subpath,cloneRoot:t.subpath?l:void 0}};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],w]})),w}async function q(e){let t=await U(e);if(!t)throw Error(`Workspace ${e} not found`);if(!t.git)throw Error(`Workspace ${e} is not a git-backed workspace`);let r=t.git.tokenRef?await T(t.git.tokenRef)??void 0:void 0,a=t.git.cloneRoot??t.rootDir;try{await v({rootDir:a,token:r,username:t.git.username})}catch(r){let t=r instanceof Error?r.message:String(r);throw await $(e,e=>({...e,git:e.git?{...e.git,lastError:t}:e.git})),r}let n=await y(a),i=new Date().toISOString();return await $(e,e=>({...e,git:e.git?{...e.git,lastSha:n,lastPulledAt:i,lastError:void 0}:e.git})),{lastSha:n,lastPulledAt:i}}function $(e,t){return(0,i.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function B(e,t){await $(e,e=>({...e,name:t}))}async function M(t){let n=await U(t);if(await (0,i.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)})),n?.git?.tokenRef)try{await N(n.git.tokenRef)}catch{}if(n?.git){let e=r.default.resolve(n.git.cloneRoot??n.rootDir),t=r.default.resolve((0,i.reposDir)()),s=r.default.relative(t,e);if(e!==t&&""!==s&&!s.startsWith("..")&&!r.default.isAbsolute(s))try{(0,a.rmSync)(e,{recursive:!0,force:!0})}catch{}}try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function F(e,t){await $(e,e=>({...e,allowedUserIds:t}))}async function L(e,t){await $(e,e=>({...e,pinnedPaths:t}))}async function G(e){await $(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}e.s(["assertGitAvailable",0,d,"cloneRepo",0,g,"currentBranch",0,R,"detectGitRepo",0,O,"findEnclosingGitRepo",0,C,"gitBranches",0,S,"gitCheckout",0,E,"gitFileDiff",0,k,"gitFileHistory",0,_,"gitFileInfo",0,b,"headSha",0,y,"pullRepo",0,v,"validateRemoteUrl",0,h],787140);let K=!1;async function z(){if(K)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?r.default.resolve(process.env.ROOT_DIR):null),t=await (0,i.readConfig)();if((t.workspaces??[]).length>0||!e(t)){K=!0;return}let a=null;await (0,i.updateConfig)(t=>{let i=t.workspaces??[],s=e(t);if(i.length>0||!s)return t;let o=r.default.resolve(s);return a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:r.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:t.pinnedPaths},{...t,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),K=!0}e.s(["createGitWorkspace",0,W,"createWorkspace",0,H,"getWorkspace",0,U,"listWorkspaces",0,j,"migrateConfigToWorkspaces",0,z,"refreshGitWorkspace",0,q,"removeWorkspace",0,M,"renameWorkspace",0,B,"safeWorkspacePath",0,function(e,t){if(!e)return null;if(!t||"."===t)return e;let a=r.default.resolve(e,t);return a===e||a.startsWith(e+r.default.sep)?a:null},"sanitizeWorkspace",0,function(e){if(!e.git)return e;let{tokenRef:t,...r}=e.git;return{...e,git:r}},"setWorkspaceAccess",0,F,"setWorkspacePins",0,L,"touchWorkspace",0,G,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}],359211)},504445,e=>{"use strict";var t=e.i(750227);let r=globalThis;!r.__wikiRootDir&&process.env.ROOT_DIR&&(r.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){r.__wikiRootDir=void 0},"getRootDir",0,function(){return r.__wikiRootDir??""},"isRootDirSet",0,function(){return!!r.__wikiRootDir},"setRootDir",0,function(e){r.__wikiRootDir=t.default.resolve(e)}])},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),n=e.headers.get("referer");if(!a&&!n)return null;let i=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 i.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(i.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},522530,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),n=e.i(475331),i=e.i(490301),s=e.i(670943),o=e.i(690324),l=e.i(243133),c=e.i(404870),u=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),w=e.i(844146),m=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(912714),y=e.i(702414),R=e.i(402662),_=e.i(254226),k=e.i(798003),b=e.i(504445),S=e.i(359211),E=e.i(750227);async function C(e){let t=(0,R.checkOrigin)(e);if(t)return t;let r=await (0,_.requireUser)(e);if(!r.ok)return y.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await e.json(),n=a.path?.trim();if(!n)return y.NextResponse.json({error:"Missing path"},{status:400});try{if(!(await (0,v.stat)(n)).isDirectory())return y.NextResponse.json({error:"Not a directory"},{status:400})}catch{return y.NextResponse.json({error:"Directory not found"},{status:404})}(0,b.setRootDir)(n),await (0,k.writeConfig)({lastOpenedPath:n});let i=E.default.resolve(n),s=(await (0,S.listWorkspaces)()).find(e=>e.rootDir===i)??await (0,S.createWorkspace)({rootDir:n,createdBy:r.user.id});return y.NextResponse.json({ok:!0,path:n,workspaceId:s.id})}e.s(["POST",0,C],346549);var O=e.i(346549);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/system/set-root/route",pathname:"/api/system/set-root",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/system/set-root/route.ts",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:D,serverHooks:x}=A;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/system/set-root/route";v=v.replace(/\/index$/,"")||"/";let y=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:k,parsedUrl:b,isDraftMode:S,prerenderManifest:E,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:D,clientReferenceManifest:x,serverActionsManifest:I}=y,T=(0,o.normalizeAppPath)(v),N=!!(E.dynamicRoutes[T]||E.routes[D]),j=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(N&&!S){let e=!!E.routes[D],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await j();throw new m.NoFallbackError}}let U=null;!N||A.isDev||S||(U="/index"===(U=D)?"/":U);let H=!0===A.isDev||!N,W=N&&!H;I&&x&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:x,serverActionsManifest:I});let q=e.method||"GET",$=(0,i.getTracer)(),B=$.getActiveScopeSpan(),M=!!(null==C?void 0:C.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,k,E,F);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:_,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:L,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,C)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>A.handle(V,G).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")!==u.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=`${q} ${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(`${q} ${v}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&O&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(K,z,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:O})},!1,C),t}},c=await A.handleResponse({req:e,nextConfig:k,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!N)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&N||u.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(K,z,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};M&&B?await o(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof m.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:O})},!1,C),N)throw t;return await (0,p.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:D})},"routeModule",0,A,"serverHooks",0,x,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,D],522530)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__070_p2a._.js.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module.exports=[874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},359211,787140,e=>{"use strict";let t;var r=e.i(750227),a=e.i(902157),s=e.i(666680),n=e.i(798003),i=e.i(874533),o=e.i(812057),l=e.i(912714),u=e.i(660526);let c=(0,o.promisify)(i.execFile);async function d(){if(!0!==t)try{await c("git",["--version"]),t=!0}catch{throw Error("git binary not found. Install git and ensure it is on PATH.")}}let p=/[;\|&$`<>(){}\n\0]/;function h(e,t={}){let r;if(p.test(e))return{ok:!1,reason:"URL contains forbidden characters"};try{r=new URL(e)}catch{return{ok:!1,reason:"URL could not be parsed"}}let a=r.protocol;if("https:"===a);else if("http:"===a&&t.allowInsecureHttp);else if("http:"===a)return{ok:!1,reason:"http: is not allowed (set allowInsecureHttp to permit)"};else return{ok:!1,reason:`Scheme '${a.replace(":","")}' is not allowed. Use https.`};let{allowedHosts:s}=t;if(s&&s.length>0){let e=r.hostname.toLowerCase();if(!s.map(e=>e.toLowerCase()).includes(e))return{ok:!1,reason:`Host '${r.hostname}' is not in the allowed hosts list`}}return{ok:!0,url:r}}async function f(e){let t=await (0,l.mkdtemp)(r.default.join((0,u.tmpdir)(),"wiki-git-")),s=r.default.join(t,"askpass.sh"),n=`#!/bin/sh
|
|
2
|
-
printf '%s' '${e.replace(/'/g,"'\\''")}'`;(0,a.writeFileSync)(s,n,{mode:448});try{(0,a.chmodSync)(s,448)}catch{}return s}function w(e){try{(0,a.unlinkSync)(e)}catch{}let t=r.default.dirname(e);if(t!==(0,u.tmpdir)())try{(0,a.rmSync)(t,{recursive:!0,force:!0})}catch{}}async function m(e){let t=await f(e);return{env:{...process.env,GIT_ASKPASS:t,GIT_TERMINAL_PROMPT:"0"},askpassPath:t}}async function g(e){let t,a,{branch:s,token:n,destDir:i,subpath:o}=e,l=e.depth??1,u=e.username??"x-access-token";o&&(t=function(e){if(r.default.isAbsolute(e))throw Error("subpath must be relative");if(e.includes(".."))throw Error("subpath must not contain '..'");if(/[\0\n]/.test(e)||p.test(e))throw Error("subpath contains forbidden characters");let t=e.split(r.default.sep).join("/").replace(/\/+$/,"");if(".git"===t||t.startsWith(".git/"))throw Error("subpath must not point at .git");return t}(o));let d=["clone","--depth",String(l),"--single-branch","--no-tags"];s&&d.push("--branch",s),t&&d.push("--filter=blob:none","--sparse");let h=n?function(e,t){try{let r=new URL(e);return r.username=t,r.password="",r.toString()}catch{return e}}(e.remoteUrl,u):e.remoteUrl;d.push(h,i);try{if(n){let e=await m(n);a=e.askpassPath,await c("git",d,{env:e.env})}else await c("git",d,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});t&&await c("git",["-C",i,"sparse-checkout","set","--cone",t],{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{a&&w(a)}}async function v(e){let t,{rootDir:r,token:a}=e,s=["-C",r,"pull","--ff-only"];try{if(a){let e=await m(a);t=e.askpassPath,await c("git",s,{env:e.env})}else await c("git",s,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{t&&w(t)}}async function y(e){let{stdout:t}=await c("git",["-C",e,"rev-parse","HEAD"]);return t.trim()}async function k(e){let{stdout:t}=await c("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"]);return t.trim()}async function _(e,t,r=50){let{stdout:a}=await c("git",["-C",e,"log","--follow",`--max-count=${r}`,"--pretty=format:%H\x1f%s\x1f%an\x1f%aI","--",t]);return a.trim()?a.trim().split("\n").map(e=>{let t=e.split("\x1f"),r=(t[0]??"").trim();return{sha:r,shortSha:r.slice(0,7),message:(t[1]??"").trim(),author:(t[2]??"").trim(),date:(t[3]??"").trim()}}):[]}async function R(e,t,r){try{let{stdout:a}=await c("git",["-C",e,"diff",`${r}^`,r,"--",t]);return a}catch{let{stdout:a}=await c("git",["-C",e,"show",r,"--",t]);return a}}async function E(e,t){try{let{stdout:r}=await c("git",["-C",e,"log","-1","--pretty=format:%H\x1f%an\x1f%aI","--",t]);if(!r.trim())return null;let a=r.trim().split("\x1f");return{sha:(a[0]??"").trim(),author:(a[1]??"").trim(),date:(a[2]??"").trim()}}catch{return null}}async function x(e){let{stdout:t}=await c("git",["-C",e,"branch"]);return t.split("\n").filter(Boolean).map(e=>({current:e.startsWith("*"),name:e.replace(/^\*?\s+/,"").trim()}))}async function S(e,t){if(!(!(!t||t.length>200||p.test(t)||t.includes("..")||t.startsWith("-")||t.startsWith("/")||t.endsWith("/"))&&/^[a-zA-Z0-9._\-/]+$/.test(t)&&1)){let e=Error("Invalid branch name");throw e.invalidBranch=!0,e}let{stdout:r}=await c("git",["-C",e,"status","--porcelain"]);if(r.trim().length>0){let e=Error("Repository has uncommitted changes");throw e.dirty=!0,e}await c("git",["-C",e,"checkout",t]);let[a,s]=await Promise.all([y(e),k(e)]);return{sha:a,branch:s}}async function T(e,t){let a=t.split("/").filter(Boolean);for(let t=a.length-1;t>=0;t--){let s=0===t?e:r.default.join(e,...a.slice(0,t));if(await A(s))return{repoDir:s,relFromRepo:a.slice(t).join("/")}}return null}async function A(e){try{await (0,l.stat)(r.default.join(e,".git"))}catch{return null}try{let{stdout:t}=await c("git",["-C",e,"rev-parse","--show-toplevel"]);if(t.trim()!==e)return null;let r=await k(e),{stdout:a}=await c("git",["-C",e,"status","--porcelain"]),s=a.trim().length>0;return{branch:r,dirty:s}}catch{return null}}function N(){return r.default.join(process.env.HOME??u.default.homedir(),".wiki-viewer")}function b(){return r.default.join(N(),"git-secrets.json")}function I(){let e=b();if(!(0,a.existsSync)(e))return{};try{return JSON.parse((0,a.readFileSync)(e,"utf-8"))}catch{return{}}}function C(e){let t=b();(0,a.writeFileSync)(t,JSON.stringify(e),{mode:384});try{(0,a.chmodSync)(t,384)}catch{}}async function j(e,t){await (0,l.mkdir)(N(),{recursive:!0});let r=I();r[e]=t,C(r)}async function O(e){return I()[e]??null}async function P(e){let t=I();e in t&&(delete t[e],C(t))}async function D(){return(await (0,n.readConfig)()).workspaces??[]}async function U(e){return(await D()).find(t=>t.id===e)??null}async function M(e){let t=r.default.resolve(e.rootDir),a={id:"ws_"+(0,s.randomBytes)(6).toString("base64url"),name:e.name??r.default.basename(t),rootDir:t,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,n.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}async function B(t){let i;if(await d(),!t.allowLocalPath){let e=h(t.remoteUrl,{allowedHosts:t.allowedHosts,allowInsecureHttp:t.allowInsecureHttp});if(!e.ok)throw Error(e.reason)}let o="ws_"+(0,s.randomBytes)(6).toString("base64url"),l=r.default.join((0,n.reposDir)(),o),u=t.subpath?r.default.join(l,t.subpath):l;t.token&&(i="git_"+(0,s.randomBytes)(9).toString("base64url"),await j(i,t.token));try{await g({remoteUrl:t.remoteUrl,branch:t.branch,token:t.token,username:t.username,destDir:l,subpath:t.subpath})}catch(e){if(i)try{await P(i)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw e}if(t.subpath){let{lstat:s,realpath:n}=await e.A(687903),o=!1;try{if((await s(u)).isDirectory()){let e=await n(l),t=await n(u);o=t===e||t.startsWith(e+r.default.sep)}}catch{}if(!o){if(i)try{await P(i)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw Error(`Subpath '${t.subpath}' not found in the repository.`)}}let c=new Date().toISOString(),p=await y(l),f=t.branch?void 0:await k(l),w={id:o,name:t.name??r.default.basename(t.remoteUrl.replace(/\.git$/,"")),rootDir:u,createdAt:c,lastOpenedAt:c,createdBy:t.createdBy,readOnly:!0,git:{remoteUrl:t.remoteUrl,branch:t.branch??f,tokenRef:i,username:t.username,lastPulledAt:c,lastSha:p,subpath:t.subpath,cloneRoot:t.subpath?l:void 0}};return await (0,n.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],w]})),w}async function H(e){let t=await U(e);if(!t)throw Error(`Workspace ${e} not found`);if(!t.git)throw Error(`Workspace ${e} is not a git-backed workspace`);let r=t.git.tokenRef?await O(t.git.tokenRef)??void 0:void 0,a=t.git.cloneRoot??t.rootDir;try{await v({rootDir:a,token:r,username:t.git.username})}catch(r){let t=r instanceof Error?r.message:String(r);throw await W(e,e=>({...e,git:e.git?{...e.git,lastError:t}:e.git})),r}let s=await y(a),n=new Date().toISOString();return await W(e,e=>({...e,git:e.git?{...e.git,lastSha:s,lastPulledAt:n,lastError:void 0}:e.git})),{lastSha:s,lastPulledAt:n}}function W(e,t){return(0,n.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function L(e,t){await W(e,e=>({...e,name:t}))}async function F(t){let s=await U(t);if(await (0,n.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)})),s?.git?.tokenRef)try{await P(s.git.tokenRef)}catch{}if(s?.git){let e=r.default.resolve(s.git.cloneRoot??s.rootDir),t=r.default.resolve((0,n.reposDir)()),i=r.default.relative(t,e);if(e!==t&&""!==i&&!i.startsWith("..")&&!r.default.isAbsolute(i))try{(0,a.rmSync)(e,{recursive:!0,force:!0})}catch{}}try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function $(e,t){await W(e,e=>({...e,allowedUserIds:t}))}async function q(e,t){await W(e,e=>({...e,pinnedPaths:t}))}async function G(e){await W(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}e.s(["assertGitAvailable",0,d,"cloneRepo",0,g,"currentBranch",0,k,"detectGitRepo",0,A,"findEnclosingGitRepo",0,T,"gitBranches",0,x,"gitCheckout",0,S,"gitFileDiff",0,R,"gitFileHistory",0,_,"gitFileInfo",0,E,"headSha",0,y,"pullRepo",0,v,"validateRemoteUrl",0,h],787140);let X=!1;async function z(){if(X)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?r.default.resolve(process.env.ROOT_DIR):null),t=await (0,n.readConfig)();if((t.workspaces??[]).length>0||!e(t)){X=!0;return}let a=null;await (0,n.updateConfig)(t=>{let n=t.workspaces??[],i=e(t);if(n.length>0||!i)return t;let o=r.default.resolve(i);return a={id:"ws_"+(0,s.randomBytes)(6).toString("base64url"),name:r.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:t.pinnedPaths},{...t,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),X=!0}e.s(["createGitWorkspace",0,B,"createWorkspace",0,M,"getWorkspace",0,U,"listWorkspaces",0,D,"migrateConfigToWorkspaces",0,z,"refreshGitWorkspace",0,H,"removeWorkspace",0,F,"renameWorkspace",0,L,"safeWorkspacePath",0,function(e,t){if(!e)return null;if(!t||"."===t)return e;let a=r.default.resolve(e,t);return a===e||a.startsWith(e+r.default.sep)?a:null},"sanitizeWorkspace",0,function(e){if(!e.git)return e;let{tokenRef:t,...r}=e.git;return{...e,git:r}},"setWorkspaceAccess",0,$,"setWorkspacePins",0,q,"touchWorkspace",0,G,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}],359211)},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),s=e.headers.get("referer");if(!a&&!s)return null;let n=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let a=new Set;for(let e of t)for(let t of["http","https"])for(let s of r)a.add(`${t}://${e}${s}`);return a}(e.headers.get("host")??"");if(a)return n.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(s){try{let{protocol:e,host:t}=new URL(s);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227);function s(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function n(e,t){if(!e)return null;let n=a.default.normalize(t);if(n.startsWith("..")||a.default.isAbsolute(n)||s(n))return null;let i=a.default.join(e,n);if(i!==e&&!i.startsWith(e+a.default.sep))return null;try{let t=await (0,r.realpath)(i);if(t!==e&&!t.startsWith(e+a.default.sep))return null}catch{let t=a.default.dirname(i);if(t!==i)try{let s=await (0,r.realpath)(t);if(s!==e&&!s.startsWith(e+a.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let a=420;try{let t=await (0,r.stat)(e);a=511&t.mode}catch{}let s=e+".~"+process.pid+"."+Date.now()+".tmp",n=await (0,r.open)(s,"w",a);try{await n.write(t),await n.datasync()}finally{await n.close()}await (0,r.rename)(s,e)}async function l(e,t){let s=a.default.dirname(e);if(t)return await (0,r.mkdir)(s,{recursive:!0}),!0;try{return await (0,r.stat)(s),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,s,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[a.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,n,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},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})}])},97082,e=>{"use strict";var t=e.i(286607),r=e.i(750227),a=e.i(660526),s=e.i(902157),n=e.i(666680);let i=null;function o(){if(i)return i;let e=r.default.join(process.env.HOME??a.default.homedir(),".wiki-viewer");return(0,s.mkdirSync)(e,{recursive:!0}),(i=new t.default(r.default.join(e,"shared.db"))).pragma("journal_mode = WAL"),i.pragma("synchronous = NORMAL"),i.exec(`
|
|
3
|
-
CREATE TABLE IF NOT EXISTS shared_docs (
|
|
4
|
-
id TEXT PRIMARY KEY,
|
|
5
|
-
workspace_id TEXT NOT NULL,
|
|
6
|
-
file_path TEXT NOT NULL,
|
|
7
|
-
token TEXT NOT NULL UNIQUE,
|
|
8
|
-
password_hash TEXT,
|
|
9
|
-
expires_at TEXT,
|
|
10
|
-
created_by TEXT NOT NULL,
|
|
11
|
-
created_at TEXT NOT NULL,
|
|
12
|
-
view_count INTEGER NOT NULL DEFAULT 0,
|
|
13
|
-
is_revoked INTEGER NOT NULL DEFAULT 0
|
|
14
|
-
);
|
|
15
|
-
CREATE INDEX IF NOT EXISTS shared_docs_token_idx ON shared_docs(token);
|
|
16
|
-
CREATE INDEX IF NOT EXISTS shared_docs_file_idx ON shared_docs(workspace_id, file_path);
|
|
17
|
-
`),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
|
|
18
|
-
(id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
|
|
19
|
-
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)}])},687458,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),s=e.i(475331),n=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),w=e.i(844146),m=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(702414),y=e.i(402662),k=e.i(254226),_=e.i(359211),R=e.i(719126),E=e.i(517387),x=e.i(97082);async function S(t){let r,a=(0,x.getShareByToken)(t);if(!a)return{ok:!1,response:v.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(a.isRevoked)return{ok:!1,response:v.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,x.isExpired)(a))return{ok:!1,response:v.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let s=await (0,_.getWorkspace)(a.workspaceId);if(!s)return{ok:!1,response:v.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let n=await (0,R.safeAbsPath)(s.rootDir,a.filePath);if(!n)return{ok:!1,response:v.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};let{readFile:i,stat:o}=await e.A(687903);try{if((await o(n)).size>1048576)return{ok:!1,response:v.NextResponse.json({error:"too_large",message:"File too large to share (max 1MB)"},{status:413})}}catch{return{ok:!1,response:v.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}try{r=(await i(n)).toString("utf-8")}catch(e){return console.error("[share] readFile(%s) %s",n,e instanceof Error?e.message:String(e)),{ok:!1,response:v.NextResponse.json({error:"read_error",message:"Failed to read file"},{status:500})}}return(0,x.incrementViewCount)(t),{ok:!0,content:r,filename:a.filePath.split("/").pop()??a.filePath,viewCount:a.viewCount+1}}async function T(e,{params:t}){let{token:r}=await t,a=(0,E.checkAndConsume)(`share:${r}`,1);if(!a.ok)return v.NextResponse.json({error:"rate_limited",message:"Too many requests"},{status:429,headers:{"Retry-After":String(Math.ceil(a.retryAfterMs/1e3))}});let s=(0,x.getShareByToken)(r);if(!s)return v.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404});if(s.isRevoked)return v.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410});if((0,x.isExpired)(s))return v.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410});if(s.passwordHash)return v.NextResponse.json({protected:!0,message:"This document is password-protected"},{status:401});let n=await S(r);return n.ok?v.NextResponse.json({content:n.content,filename:n.filename,viewCount:n.viewCount}):n.response}async function A(e,{params:t}){let{token:r}=await t,a=(0,x.getShareByToken)(r);if(!a)return v.NextResponse.json({error:"not_found"},{status:404});if(a.isRevoked)return v.NextResponse.json({error:"revoked"},{status:410});if((0,x.isExpired)(a))return v.NextResponse.json({error:"expired"},{status:410});if(!a.passwordHash)return v.NextResponse.json({error:"not_protected"},{status:400});let s=(0,E.checkAndConsume)(`share-pwd:${r}`,1);if(!s.ok)return v.NextResponse.json({error:"rate_limited",message:"Too many attempts. Try again later."},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let n=await e.json();if(!n.password||"string"!=typeof n.password)return v.NextResponse.json({error:"missing_password"},{status:400});if(!(0,x.verifyPassword)(n.password,a.passwordHash))return v.NextResponse.json({error:"wrong_password",message:"Incorrect password"},{status:403});let i=await S(r);return i.ok?v.NextResponse.json({content:i.content,filename:i.filename,viewCount:i.viewCount}):i.response}async function N(t,{params:r}){let{token:a}=await r,s=(0,y.checkOrigin)(t);if(s)return s;let n=await (0,k.requireUser)(t);if(!n.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let i=(0,x.getShareByToken)(a);if(!i)return v.NextResponse.json({error:"not_found"},{status:404});if(i.createdBy!==n.user.id){let{isAdmin:t}=await e.A(919623);if(!await t(n.user.id,n.user.email))return v.NextResponse.json({error:"FORBIDDEN"},{status:403})}return(0,x.revokeShare)(i.id),v.NextResponse.json({ok:!0})}e.s(["DELETE",0,N,"GET",0,T,"POST",0,A],998553);var b=e.i(998553);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/[token]/route",pathname:"/api/share/[token]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/[token]/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:j,serverHooks:O}=I;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/[token]/route";v=v.replace(/\/index$/,"")||"/";let y=await I.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,params:_,nextConfig:R,parsedUrl:E,isDraftMode:x,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:b,clientReferenceManifest:C,serverActionsManifest:j}=y,O=(0,o.normalizeAppPath)(v),P=!!(S.dynamicRoutes[O]||S.routes[b]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!S.routes[b],t=S.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!P||I.isDev||x||(U="/index"===(U=b)?"/":U);let M=!0===I.isDev||!P,B=P&&!M;j&&C&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:C,serverActionsManifest:j});let H=e.method||"GET",W=(0,n.getTracer)(),L=W.getActiveScopeSpan(),F=!!(null==T?void 0:T.isWrappedByNextServer),$=!!(0,s.getRequestMeta)(e,"minimalMode"),q=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,R,S,$);null==q||q.resetRequestCache(),globalThis.__incrementalCache=q;let G={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:M,incrementalCache:q,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,T)},sharedContext:{buildId:k}},X=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>I.handle(K,G).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 a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${H} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!$&&A&&N&&!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=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(X,z,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,T),t}},u=await I.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:$});if(!P)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});$||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return $&&P||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(X,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&L?await o(L):(s=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,T),P)throw t;return await (0,p.sendResponse)(X,z,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:j})},"routeModule",0,I,"serverHooks",0,O,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,j],687458)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))},919623,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_admin_ts_0g4i6v_._.js"].map(t=>e.l(t))).then(()=>t(583627)))}];
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0905hi1._.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
module.exports=[719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function s(e,t){if(!e)return null;let s=r.default.normalize(t);if(s.startsWith("..")||r.default.isAbsolute(s)||n(s))return null;let i=r.default.join(e,s);if(i!==e&&!i.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(i);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(i);if(t!==i)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function l(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,a.open)(n,"w",r);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,a.rename)(n,e)}async function o(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,l,"ensureParentDir",0,o,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,s,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},81111,(e,t,a)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},687769,(e,t,a)=>{t.exports=e.x("node:events",()=>require("node:events"))},275859,e=>{"use strict";var t=e.i(912714),a=e.i(750227);async function r(e,r){try{let n=a.default.join(e,r,"package.json");return(await (0,t.stat)(n)).isFile()}catch{return!1}}async function n(e,r){try{let n=a.default.join(e,r,"index.html");return(await (0,t.stat)(n)).isFile()}catch{return!1}}e.s(["isAppFolder",0,n,"isNodeApp",0,r])},735049,e=>{"use strict";var t=e.i(364564),a=e.i(102095),r=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),l=e.i(690324),o=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),m=e.i(844146),v=e.i(193695);e.i(105888);var x=e.i(530564),w=e.i(660038),g=e.i(922239),_=e.i(437856);async function y(e){let t=await (0,w.resolveWorkspaceForUser)(e);if(!t.ok)return new Response(t.code,{status:t.status});let{ws:a,rootDir:r}=t;(0,_.ensureIndexer)(a.id,r).catch(e=>console.error("[search] ensureIndexer failed",e));let n=new TextEncoder,s=null,i=null,l=null;return new Response(new ReadableStream({start(e){l=e,s=(0,g.subscribe)(a.id,r,(e,t)=>{if(l)try{l.enqueue(n.encode(`data: ${JSON.stringify({type:e,path:t})}
|
|
2
|
-
|
|
3
|
-
`))}catch{}}),i=setInterval(()=>{try{e.enqueue(n.encode(": heartbeat\n\n"))}catch{null!==i&&clearInterval(i)}},15e3)},cancel(){l=null,null!==i&&clearInterval(i),s?.()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}})}e.s(["GET",0,y,"runtime",0,"nodejs"],197405);var R=e.i(197405);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/wiki/watch/route",pathname:"/api/wiki/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/watch/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:k,serverHooks:j}=E;async function b(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/wiki/watch/route";w=w.replace(/\/index$/,"")||"/";let g=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:R,parsedUrl:C,isDraftMode:k,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:P,revalidateOnlyGenerated:A,resolvedPathname:q,clientReferenceManifest:T,serverActionsManifest:N}=g,S=(0,l.normalizeAppPath)(w),O=!!(j.dynamicRoutes[S]||j.routes[q]),I=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!k){let e=!!j.routes[q],t=j.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await I();throw new v.NoFallbackError}}let H=null;!O||E.isDev||k||(H="/index"===(H=q)?"/":H);let D=!0===E.isDev||!O,M=O&&!D;N&&T&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:T,serverActionsManifest:N});let U=e.method||"GET",W=(0,s.getTracer)(),z=W.getActiveScopeSpan(),F=!!(null==b?void 0:b.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,R,j,B);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let K={params:y,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:$,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,b)},sharedContext:{buildId:_}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>E.handle(X,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=W.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${U} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${U} ${w}`)}),l=async n=>{var s,l;let o=async({previousCacheEntry:a})=>{try{if(!B&&P&&A&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let o=K.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(L,G,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);o&&(t[m.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,b),t}},u=await E.handleResponse({req:e,nextConfig:R,cacheKey:H,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:A,responseGenerator:o,waitUntil:r.waitUntil,isMinimalMode:B});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.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});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&O||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)(L,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&z?await l(z):(n=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,b),O)throw t;return await (0,p.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:k})},"routeModule",0,E,"serverHooks",0,j,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,k],735049)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/07~4_next_dist_server_app-render_after-task-async-storage_external_0lathp_.js","server/chunks/0p91_next_dist_0yrhsoz._.js","server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(e=>Promise.resolve().then(()=>e(437856)))}];
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0aa63~j._.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function a(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=a();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function i(){return(await (0,t.readConfig)()).adminUserIds??[]}async function s(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=a().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let a=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==a.length||r?{...t,adminUserIds:a}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(a().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let r=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(r=!0,{...t,adminUserIds:[e]})),r&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function c(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,s,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,i,"removeAdmin",0,o,"requireAdmin",0,c])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},359211,787140,e=>{"use strict";let t;var r=e.i(750227),a=e.i(902157),n=e.i(666680),i=e.i(798003),s=e.i(874533),o=e.i(812057),l=e.i(912714),c=e.i(660526);let u=(0,o.promisify)(s.execFile);async function d(){if(!0!==t)try{await u("git",["--version"]),t=!0}catch{throw Error("git binary not found. Install git and ensure it is on PATH.")}}let p=/[;\|&$`<>(){}\n\0]/;function h(e,t={}){let r;if(p.test(e))return{ok:!1,reason:"URL contains forbidden characters"};try{r=new URL(e)}catch{return{ok:!1,reason:"URL could not be parsed"}}let a=r.protocol;if("https:"===a);else if("http:"===a&&t.allowInsecureHttp);else if("http:"===a)return{ok:!1,reason:"http: is not allowed (set allowInsecureHttp to permit)"};else return{ok:!1,reason:`Scheme '${a.replace(":","")}' is not allowed. Use https.`};let{allowedHosts:n}=t;if(n&&n.length>0){let e=r.hostname.toLowerCase();if(!n.map(e=>e.toLowerCase()).includes(e))return{ok:!1,reason:`Host '${r.hostname}' is not in the allowed hosts list`}}return{ok:!0,url:r}}async function f(e){let t=await (0,l.mkdtemp)(r.default.join((0,c.tmpdir)(),"wiki-git-")),n=r.default.join(t,"askpass.sh"),i=`#!/bin/sh
|
|
2
|
-
printf '%s' '${e.replace(/'/g,"'\\''")}'`;(0,a.writeFileSync)(n,i,{mode:448});try{(0,a.chmodSync)(n,448)}catch{}return n}function m(e){try{(0,a.unlinkSync)(e)}catch{}let t=r.default.dirname(e);if(t!==(0,c.tmpdir)())try{(0,a.rmSync)(t,{recursive:!0,force:!0})}catch{}}async function w(e){let t=await f(e);return{env:{...process.env,GIT_ASKPASS:t,GIT_TERMINAL_PROMPT:"0"},askpassPath:t}}async function g(e){let t,a,{branch:n,token:i,destDir:s,subpath:o}=e,l=e.depth??1,c=e.username??"x-access-token";o&&(t=function(e){if(r.default.isAbsolute(e))throw Error("subpath must be relative");if(e.includes(".."))throw Error("subpath must not contain '..'");if(/[\0\n]/.test(e)||p.test(e))throw Error("subpath contains forbidden characters");let t=e.split(r.default.sep).join("/").replace(/\/+$/,"");if(".git"===t||t.startsWith(".git/"))throw Error("subpath must not point at .git");return t}(o));let d=["clone","--depth",String(l),"--single-branch","--no-tags"];n&&d.push("--branch",n),t&&d.push("--filter=blob:none","--sparse");let h=i?function(e,t){try{let r=new URL(e);return r.username=t,r.password="",r.toString()}catch{return e}}(e.remoteUrl,c):e.remoteUrl;d.push(h,s);try{if(i){let e=await w(i);a=e.askpassPath,await u("git",d,{env:e.env})}else await u("git",d,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});t&&await u("git",["-C",s,"sparse-checkout","set","--cone",t],{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{a&&m(a)}}async function y(e){let t,{rootDir:r,token:a}=e,n=["-C",r,"pull","--ff-only"];try{if(a){let e=await w(a);t=e.askpassPath,await u("git",n,{env:e.env})}else await u("git",n,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{t&&m(t)}}async function v(e){let{stdout:t}=await u("git",["-C",e,"rev-parse","HEAD"]);return t.trim()}async function R(e){let{stdout:t}=await u("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"]);return t.trim()}async function k(e,t,r=50){let{stdout:a}=await u("git",["-C",e,"log","--follow",`--max-count=${r}`,"--pretty=format:%H\x1f%s\x1f%an\x1f%aI","--",t]);return a.trim()?a.trim().split("\n").map(e=>{let t=e.split("\x1f"),r=(t[0]??"").trim();return{sha:r,shortSha:r.slice(0,7),message:(t[1]??"").trim(),author:(t[2]??"").trim(),date:(t[3]??"").trim()}}):[]}async function _(e,t,r){try{let{stdout:a}=await u("git",["-C",e,"diff",`${r}^`,r,"--",t]);return a}catch{let{stdout:a}=await u("git",["-C",e,"show",r,"--",t]);return a}}async function A(e,t){try{let{stdout:r}=await u("git",["-C",e,"log","-1","--pretty=format:%H\x1f%an\x1f%aI","--",t]);if(!r.trim())return null;let a=r.trim().split("\x1f");return{sha:(a[0]??"").trim(),author:(a[1]??"").trim(),date:(a[2]??"").trim()}}catch{return null}}async function I(e){let{stdout:t}=await u("git",["-C",e,"branch"]);return t.split("\n").filter(Boolean).map(e=>({current:e.startsWith("*"),name:e.replace(/^\*?\s+/,"").trim()}))}async function S(e,t){if(!(!(!t||t.length>200||p.test(t)||t.includes("..")||t.startsWith("-")||t.startsWith("/")||t.endsWith("/"))&&/^[a-zA-Z0-9._\-/]+$/.test(t)&&1)){let e=Error("Invalid branch name");throw e.invalidBranch=!0,e}let{stdout:r}=await u("git",["-C",e,"status","--porcelain"]);if(r.trim().length>0){let e=Error("Repository has uncommitted changes");throw e.dirty=!0,e}await u("git",["-C",e,"checkout",t]);let[a,n]=await Promise.all([v(e),R(e)]);return{sha:a,branch:n}}async function b(e,t){let a=t.split("/").filter(Boolean);for(let t=a.length-1;t>=0;t--){let n=0===t?e:r.default.join(e,...a.slice(0,t));if(await E(n))return{repoDir:n,relFromRepo:a.slice(t).join("/")}}return null}async function E(e){try{await (0,l.stat)(r.default.join(e,".git"))}catch{return null}try{let{stdout:t}=await u("git",["-C",e,"rev-parse","--show-toplevel"]);if(t.trim()!==e)return null;let r=await R(e),{stdout:a}=await u("git",["-C",e,"status","--porcelain"]),n=a.trim().length>0;return{branch:r,dirty:n}}catch{return null}}function C(){return r.default.join(process.env.HOME??c.default.homedir(),".wiki-viewer")}function P(){return r.default.join(C(),"git-secrets.json")}function O(){let e=P();if(!(0,a.existsSync)(e))return{};try{return JSON.parse((0,a.readFileSync)(e,"utf-8"))}catch{return{}}}function x(e){let t=P();(0,a.writeFileSync)(t,JSON.stringify(e),{mode:384});try{(0,a.chmodSync)(t,384)}catch{}}async function T(e,t){await (0,l.mkdir)(C(),{recursive:!0});let r=O();r[e]=t,x(r)}async function U(e){return O()[e]??null}async function N(e){let t=O();e in t&&(delete t[e],x(t))}async function D(){return(await (0,i.readConfig)()).workspaces??[]}async function j(e){return(await D()).find(t=>t.id===e)??null}async function H(e){let t=r.default.resolve(e.rootDir),a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:e.name??r.default.basename(t),rootDir:t,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}async function W(t){let s;if(await d(),!t.allowLocalPath){let e=h(t.remoteUrl,{allowedHosts:t.allowedHosts,allowInsecureHttp:t.allowInsecureHttp});if(!e.ok)throw Error(e.reason)}let o="ws_"+(0,n.randomBytes)(6).toString("base64url"),l=r.default.join((0,i.reposDir)(),o),c=t.subpath?r.default.join(l,t.subpath):l;t.token&&(s="git_"+(0,n.randomBytes)(9).toString("base64url"),await T(s,t.token));try{await g({remoteUrl:t.remoteUrl,branch:t.branch,token:t.token,username:t.username,destDir:l,subpath:t.subpath})}catch(e){if(s)try{await N(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw e}if(t.subpath){let{lstat:n,realpath:i}=await e.A(687903),o=!1;try{if((await n(c)).isDirectory()){let e=await i(l),t=await i(c);o=t===e||t.startsWith(e+r.default.sep)}}catch{}if(!o){if(s)try{await N(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw Error(`Subpath '${t.subpath}' not found in the repository.`)}}let u=new Date().toISOString(),p=await v(l),f=t.branch?void 0:await R(l),m={id:o,name:t.name??r.default.basename(t.remoteUrl.replace(/\.git$/,"")),rootDir:c,createdAt:u,lastOpenedAt:u,createdBy:t.createdBy,readOnly:!0,git:{remoteUrl:t.remoteUrl,branch:t.branch??f,tokenRef:s,username:t.username,lastPulledAt:u,lastSha:p,subpath:t.subpath,cloneRoot:t.subpath?l:void 0}};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],m]})),m}async function q(e){let t=await j(e);if(!t)throw Error(`Workspace ${e} not found`);if(!t.git)throw Error(`Workspace ${e} is not a git-backed workspace`);let r=t.git.tokenRef?await U(t.git.tokenRef)??void 0:void 0,a=t.git.cloneRoot??t.rootDir;try{await y({rootDir:a,token:r,username:t.git.username})}catch(r){let t=r instanceof Error?r.message:String(r);throw await M(e,e=>({...e,git:e.git?{...e.git,lastError:t}:e.git})),r}let n=await v(a),i=new Date().toISOString();return await M(e,e=>({...e,git:e.git?{...e.git,lastSha:n,lastPulledAt:i,lastError:void 0}:e.git})),{lastSha:n,lastPulledAt:i}}function M(e,t){return(0,i.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function $(e,t){await M(e,e=>({...e,name:t}))}async function B(t){let n=await j(t);if(await (0,i.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)})),n?.git?.tokenRef)try{await N(n.git.tokenRef)}catch{}if(n?.git){let e=r.default.resolve(n.git.cloneRoot??n.rootDir),t=r.default.resolve((0,i.reposDir)()),s=r.default.relative(t,e);if(e!==t&&""!==s&&!s.startsWith("..")&&!r.default.isAbsolute(s))try{(0,a.rmSync)(e,{recursive:!0,force:!0})}catch{}}try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function L(e,t){await M(e,e=>({...e,allowedUserIds:t}))}async function F(e,t){await M(e,e=>({...e,pinnedPaths:t}))}async function G(e){await M(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}e.s(["assertGitAvailable",0,d,"cloneRepo",0,g,"currentBranch",0,R,"detectGitRepo",0,E,"findEnclosingGitRepo",0,b,"gitBranches",0,I,"gitCheckout",0,S,"gitFileDiff",0,_,"gitFileHistory",0,k,"gitFileInfo",0,A,"headSha",0,v,"pullRepo",0,y,"validateRemoteUrl",0,h],787140);let K=!1;async function z(){if(K)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?r.default.resolve(process.env.ROOT_DIR):null),t=await (0,i.readConfig)();if((t.workspaces??[]).length>0||!e(t)){K=!0;return}let a=null;await (0,i.updateConfig)(t=>{let i=t.workspaces??[],s=e(t);if(i.length>0||!s)return t;let o=r.default.resolve(s);return a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:r.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:t.pinnedPaths},{...t,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),K=!0}e.s(["createGitWorkspace",0,W,"createWorkspace",0,H,"getWorkspace",0,j,"listWorkspaces",0,D,"migrateConfigToWorkspaces",0,z,"refreshGitWorkspace",0,q,"removeWorkspace",0,B,"renameWorkspace",0,$,"safeWorkspacePath",0,function(e,t){if(!e)return null;if(!t||"."===t)return e;let a=r.default.resolve(e,t);return a===e||a.startsWith(e+r.default.sep)?a:null},"sanitizeWorkspace",0,function(e){if(!e.git)return e;let{tokenRef:t,...r}=e.git;return{...e,git:r}},"setWorkspaceAccess",0,L,"setWorkspacePins",0,F,"touchWorkspace",0,G,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}],359211)},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),n=e.headers.get("referer");if(!a&&!n)return null;let i=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 i.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(i.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},489209,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),n=e.i(475331),i=e.i(490301),s=e.i(670943),o=e.i(690324),l=e.i(243133),c=e.i(404870),u=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),m=e.i(844146),w=e.i(193695);e.i(105888);var g=e.i(530564),y=e.i(702414),v=e.i(402662),R=e.i(583627),k=e.i(359211);async function _(e,{params:t}){let r=(0,v.checkOrigin)(e);if(r)return r;let a=await (0,R.requireAdmin)(e);if(!a.ok)return y.NextResponse.json({error:a.code},{status:a.status});let{id:n}=await t;try{let e=await (0,k.refreshGitWorkspace)(n);return y.NextResponse.json({ok:!0,...e})}catch(t){let e=t instanceof Error?t.message:String(t);return y.NextResponse.json({error:e},{status:400})}}e.s(["POST",0,_,"runtime",0,"nodejs"],604442);var A=e.i(604442);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/system/workspaces/[id]/refresh/route",pathname:"/api/system/workspaces/[id]/refresh",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/system/workspaces/[id]/refresh/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:b,serverHooks:E}=I;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/system/workspaces/[id]/refresh/route";y=y.replace(/\/index$/,"")||"/";let v=await I.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:_,parsedUrl:A,isDraftMode:S,prerenderManifest:b,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:x,serverActionsManifest:T}=v,U=(0,o.normalizeAppPath)(y),N=!!(b.dynamicRoutes[U]||b.routes[O]),D=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(N&&!S){let e=!!b.routes[O],t=b.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await D();throw new w.NoFallbackError}}let j=null;!N||I.isDev||S||(j="/index"===(j=O)?"/":j);let H=!0===I.isDev||!N,W=N&&!H;T&&x&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:x,serverActionsManifest:T});let q=e.method||"GET",M=(0,i.getTracer)(),$=M.getActiveScopeSpan(),B=!!(null==E?void 0:E.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,_,b,L);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let G={params:k,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>I.onRequestError(e,t,a,n,E)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>I.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.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=`${q} ${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(`${q} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&C&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(K,z,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,E),t}},c=await I.handleResponse({req:e,nextConfig:_,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!N)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&N||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(K,z,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};B&&$?await o($):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof w.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:C})},!1,E),N)throw t;return await (0,p.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:b})},"routeModule",0,I,"serverHooks",0,E,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,b],489209)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0avcplk._.js.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module.exports=[719126,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(750227);function n(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function s(e,t){if(!e)return null;let s=r.default.normalize(t);if(s.startsWith("..")||r.default.isAbsolute(s)||n(s))return null;let i=r.default.join(e,s);if(i!==e&&!i.startsWith(e+r.default.sep))return null;try{let t=await (0,a.realpath)(i);if(t!==e&&!t.startsWith(e+r.default.sep))return null}catch{let t=r.default.dirname(i);if(t!==i)try{let n=await (0,a.realpath)(t);if(n!==e&&!n.startsWith(e+r.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let r=420;try{let t=await (0,a.stat)(e);r=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,a.open)(n,"w",r);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,a.rename)(n,e)}async function l(e,t){let n=r.default.dirname(e);if(t)return await (0,a.mkdir)(n,{recursive:!0}),!0;try{return await (0,a.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,n,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[r.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,s,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},857764,(e,t,a)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,a)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var a=e.i(59639);e.s(["minproc",()=>a.default],651212);var r=e.i(857764);e.s(["urlToPath",()=>r.fileURLToPath],316552)},794776,e=>{"use strict";let t,a=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,a,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},889264,e=>{"use strict";let t=globalThis;function a(){return t.__wikiLeaseStore}function r(e,t){return`${e}\u0000${t}`}function n(e,t){let n=a(),s=r(e,t),i=n.leases.get(s);return!!i&&(!(Date.now()>=i.expiresAt)||(n.leases.delete(s),n.generations.set(s,(n.generations.get(s)??0)+1),!1))}t.__wikiLeaseStore||(t.__wikiLeaseStore={leases:new Map,generations:new Map}),e.s(["clearLease",0,function(e,t,n){let s=a(),i=r(e,t),o=s.leases.get(i);o&&o.userId===n&&(s.leases.delete(i),s.generations.set(i,(s.generations.get(i)??0)+1))},"hasActiveLease",0,function(e,t){return n(e,t)},"leaseGeneration",0,function(e,t){let n=r(e,t);return a().generations.get(n)??0},"setLease",0,function(e,t,s,i=9e4){let o=a(),l=r(e,t),u=n(e,t);o.leases.set(l,{userId:s,expiresAt:Date.now()+i}),u||o.generations.set(l,(o.generations.get(l)??0)+1)}])},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),r=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??r.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function p(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function d(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function f(){let e=await p();if(e)return e;let t={version:1,agents:[]};return await d(t),t}async function h(e){let a=await p();if(!a)return null;let r=c(e);for(let e of a.agents)if(function(e,a){let r=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(a.padEnd(64,"0"),"utf8");return r.length===n.length&&(0,t.timingSafeEqual)(r,n)&&e.length===a.length}(e.tokenHash,r))return e;return null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await f(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await d(t)})}async function g(e){return(0,s.withFileMutex)(i,async()=>{let t=await p();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await d(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await p();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await d(t))})}e.s(["addAgent",0,m,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,p,"removeAgent",0,g,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var r=e.i(254226);async function n(e){let a=await (0,r.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:r}=e;return void 0!==r.workspaceId&&void 0!==t.workspaceId&&r.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${r.workspaceId}")`}:r.ops.includes(t.op)?t.filePath&&!r.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},973909,e=>{"use strict";var t=e.i(912714),a=e.i(750227);function r(e,t){return a.default.join(e,".proof",t+".json")}async function n(e,a){let n=r(e,a);try{let e=await (0,t.readFile)(n,"utf-8"),a=JSON.parse(e);if(1!==a.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${a.schemaVersion}`);return a}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function s(e,n,s){let i=r(e,n);await (0,t.mkdir)(a.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(s,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,n,s){let i=r(e,n),o=r(e,s);try{await (0,t.mkdir)(a.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,a){let n=r(e,a);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,n,"writeSidecar",0,s])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let a=[];for(let r of t){let t={...r,id:e.nextEventId++};e.events.push(t),a.push(t)}return a},"pollEvents",0,function(e,t,a){return e.events.filter(e=>e.id>t).slice(0,a)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let a=Object.values(e.lastAck),r=a.length>0?Math.min(...a):1/0,n=e.events.length-t,s=e.events.filter((e,t)=>t>=n||e.id>r);e.events=s}])},850948,e=>{"use strict";function t(e){return e.replace(/&/g,"&").replace(/"/g,""")}e.s(["newSpanId",0,function(){let e=Math.floor(65535*Math.random()).toString(16).padStart(4,"0");return`p${e}`},"revertProofSpan",0,function(e,t){let a=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=RegExp(`<proof-span\\b[^>]*\\bid="${a}"[^>]*>[\\s\\S]*?<\\/proof-span>`,"g");return e.replace(r,"")},"wrapAsProofSpan",0,function(e,a){let r,n=(r=[`id="${t(a.spanId)}"`,`origin="${a.origin}"`],a.basis&&r.push(`basis="${t(a.basis)}"`),a.basisDetail&&r.push(`basis-detail="${t(a.basisDetail)}"`),r.push(`by="${t(a.by)}"`),r.push(`at="${t(a.at)}"`),a.inResponseTo&&r.push(`in-response-to="${t(a.inResponseTo)}"`),r.join(" ")),s=e.trim();if(s.startsWith("```")||s.startsWith("~~~")||s.startsWith("<")&&!s.startsWith("<proof-span")||/^[-*_]{3,}\s*$/.test(s))return null;let i=s.split("\n")[0];if(i.includes("|")&&/^\|.*\|/.test(i))return null;let o=s.match(/^(#{1,6})\s+(.+)$/);if(o){let e=o[1],t=o[2].trimEnd();return`${e} <proof-span ${n}>${t}</proof-span>`}return s.startsWith(">")?s.split("\n").map(e=>{let t=e.match(/^(>\s?)(.*)/);if(!t)return e;let a=t[1],r=t[2];return r.trim()?`${a}<proof-span ${n}>${r}</proof-span>`:e}).join("\n"):/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/.test(s.split("\n")[0])?s.split("\n").map(e=>{let t=e.match(/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/);if(!t)return e;let a=t[1],r=t[2];return r.trim()?`${a}<proof-span ${n}>${r}</proof-span>`:e}).join("\n"):`<proof-span ${n}>${s}</proof-span>`}])},670910,e=>{"use strict";var t=e.i(286607),a=e.i(750227),r=e.i(660526),n=e.i(902157);let s=null;e.s(["writeAuditRow",0,function(e){try{(function(){if(s)return s;let e=a.default.join(process.env.HOME??r.default.homedir(),".wiki-viewer");(0,n.mkdirSync)(e,{recursive:!0});let i=a.default.join(e,"auth.db");(s=new t.default(i)).pragma("journal_mode = WAL"),s.exec(`
|
|
2
|
-
CREATE TABLE IF NOT EXISTS agent_fs_audit (
|
|
3
|
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
4
|
-
agent_id TEXT NOT NULL,
|
|
5
|
-
op TEXT NOT NULL,
|
|
6
|
-
path TEXT NOT NULL,
|
|
7
|
-
old_sha TEXT,
|
|
8
|
-
new_sha TEXT,
|
|
9
|
-
forced INTEGER NOT NULL DEFAULT 0,
|
|
10
|
-
at TEXT NOT NULL,
|
|
11
|
-
workspace_id TEXT
|
|
12
|
-
)
|
|
13
|
-
`);try{s.exec("ALTER TABLE agent_fs_audit ADD COLUMN workspace_id TEXT")}catch{}return s})().prepare(`INSERT INTO agent_fs_audit (agent_id, op, path, old_sha, new_sha, forced, at, workspace_id)
|
|
14
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(e.agentId,e.op,e.path,e.oldSha??null,e.newSha??null,+!!e.forced,new Date().toISOString(),e.workspaceId??null)}catch(e){console.error("[agent-fs audit] write failed:",e)}}])},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0b8_kyo._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),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}])},973909,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e,t){return r.default.join(e,".proof",t+".json")}async function n(e,r){let n=a(e,r);try{let e=await (0,t.readFile)(n,"utf-8"),r=JSON.parse(e);if(1!==r.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${r.schemaVersion}`);return r}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function s(e,n,s){let i=a(e,n);await (0,t.mkdir)(r.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(s,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,n,s){let i=a(e,n),o=a(e,s);try{await (0,t.mkdir)(r.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,r){let n=a(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,n,"writeSidecar",0,s])},901280,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),n=e.i(475331),s=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),c=e.i(867883),p=e.i(336708),h=e.i(682278),m=e.i(157569),f=e.i(844146),v=e.i(193695);e.i(105888);var R=e.i(530564),_=e.i(912714),w=e.i(750227),g=e.i(702414),E=e.i(402662),y=e.i(660038),x=e.i(359211),N=e.i(973909);async function k(e){let t=(0,E.checkOrigin)(e);if(t)return t;let r=await (0,y.resolveWorkspaceForUser)(e,"write");if(!r.ok)return g.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,n=await e.json();if(!n.from||!n.to||"string"!=typeof n.from||"string"!=typeof n.to)return g.NextResponse.json({error:"Missing from/to paths"},{status:400});let s=(0,x.safeWorkspacePath)(a,n.from),i=(0,x.safeWorkspacePath)(a,n.to);if(!s||!i)return g.NextResponse.json({error:"Invalid path"},{status:400});if(i.startsWith(s+w.default.sep)||i===s)return g.NextResponse.json({error:"Cannot move a folder into itself"},{status:400});try{await (0,_.stat)(s)}catch{return g.NextResponse.json({error:"Source not found"},{status:404})}try{await (0,_.rename)(s,i);let e=w.default.extname(n.from).toLowerCase();return(".md"===e||".markdown"===e)&&await (0,N.moveSidecar)(a,n.from,n.to),g.NextResponse.json({ok:!0})}catch{return g.NextResponse.json({error:"Move failed"},{status:500})}}e.s(["POST",0,k],428957);var C=e.i(428957);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/move/route",pathname:"/api/wiki/move",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/move/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:A,serverHooks:O}=S;async function j(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/wiki/move/route";_=_.replace(/\/index$/,"")||"/";let w=await S.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,params:E,nextConfig:y,parsedUrl:x,isDraftMode:N,prerenderManifest:k,routerServerContext:C,isOnDemandRevalidate:P,revalidateOnlyGenerated:A,resolvedPathname:O,clientReferenceManifest:j,serverActionsManifest:T}=w,b=(0,o.normalizeAppPath)(_),q=!!(k.dynamicRoutes[b]||k.routes[O]),I=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,x,!1):t.end("This page could not be found"),null);if(q&&!N){let e=!!k.routes[O],t=k.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new v.NoFallbackError}}let D=null;!q||S.isDev||N||(D="/index"===(D=O)?"/":D);let H=!0===S.isDev||!q,U=q&&!H;T&&j&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:j,serverActionsManifest:T});let M=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),B=!!(null==C?void 0:C.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,y,k,K);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let z={params:E,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:W,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,C)},sharedContext:{buildId:g}},L=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>S.handle(G,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} ${_}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&P&&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 o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.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 S.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,C),t}},u=await S.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});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==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&q||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)(L,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&F?await o(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,C),q)throw t;return await (0,p.sendResponse)(L,V,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,O,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,A],901280)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0bticq1._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),s=e.headers.get("referer");if(!a&&!s)return null;let n=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let a=new Set;for(let e of t)for(let t of["http","https"])for(let s of r)a.add(`${t}://${e}${s}`);return a}(e.headers.get("host")??"");if(a)return n.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(s){try{let{protocol:e,host:t}=new URL(s);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},892918,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),s=e.i(475331),n=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),p=e.i(867883),c=e.i(336708),h=e.i(682278),v=e.i(157569),R=e.i(844146),m=e.i(193695);e.i(105888);var _=e.i(530564),f=e.i(702414),g=e.i(402662),w=e.i(787140),E=e.i(660038),y=e.i(359211);async function x(e){let t=(0,g.checkOrigin)(e);if(t)return t;let r=await (0,E.resolveWorkspaceForUser)(e,"write");if(!r.ok)return f.NextResponse.json({error:r.code},{status:r.status});let{rootDir:a}=r,s=(await e.json()).path;if(!s||"string"!=typeof s)return f.NextResponse.json({error:"Invalid path"},{status:400});let n=(0,y.safeWorkspacePath)(a,s);if(!n||n===a)return f.NextResponse.json({error:"Invalid path"},{status:400});if(!await (0,w.detectGitRepo)(n))return f.NextResponse.json({error:"Not a git repository"},{status:400});try{await (0,w.pullRepo)({rootDir:n});let[e,t]=await Promise.all([(0,w.currentBranch)(n),(0,w.headSha)(n)]);return f.NextResponse.json({ok:!0,branch:e,sha:t})}catch(t){let e=t instanceof Error?t.message:"Pull failed";return f.NextResponse.json({error:"Pull failed",message:e},{status:500})}}e.s(["POST",0,x],934772);var P=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:P,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:k,serverHooks:A}=C;async function j(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/wiki/git-pull/route";f=f.replace(/\/index$/,"")||"/";let g=await C.prepare(e,t,{srcPage:f,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:N,routerServerContext:k,isOnDemandRevalidate:A,revalidateOnlyGenerated:j,resolvedPathname:O,clientReferenceManifest:b,serverActionsManifest:T}=g,S=(0,o.normalizeAppPath)(f),q=!!(N.dynamicRoutes[S]||N.routes[O]),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=!!N.routes[O],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new m.NoFallbackError}}let D=null;!q||C.isDev||P||(D="/index"===(D=O)?"/":D);let H=!0===C.isDev||!q,U=q&&!H;T&&b&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:b,serverActionsManifest:T});let M=e.method||"GET",$=(0,n.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==k?void 0:k.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),z=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,y,N,K);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let W={params:E,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:z,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>C.onRequestError(e,t,a,s,k)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>C.handle(V,W).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),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${M} ${f}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&A&&j&&!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=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(L,G,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[R.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>=R.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!q)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||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 K&&q||d.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await o(B):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),q)throw t;return await (0,c.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:k})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,k],892918)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0bwevvu._.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function a(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,r){if(r){let e=a();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function i(){return(await (0,t.readConfig)()).adminUserIds??[]}async function s(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function o(e){let r=a().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let a=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==a.length||r?{...t,adminUserIds:a}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(a().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let r=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(r=!0,{...t,adminUserIds:[e]})),r&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,s,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,i,"removeAdmin",0,o,"requireAdmin",0,u])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},359211,787140,e=>{"use strict";let t;var r=e.i(750227),a=e.i(902157),n=e.i(666680),i=e.i(798003),s=e.i(874533),o=e.i(812057),l=e.i(912714),u=e.i(660526);let c=(0,o.promisify)(s.execFile);async function d(){if(!0!==t)try{await c("git",["--version"]),t=!0}catch{throw Error("git binary not found. Install git and ensure it is on PATH.")}}let p=/[;\|&$`<>(){}\n\0]/;function h(e,t={}){let r;if(p.test(e))return{ok:!1,reason:"URL contains forbidden characters"};try{r=new URL(e)}catch{return{ok:!1,reason:"URL could not be parsed"}}let a=r.protocol;if("https:"===a);else if("http:"===a&&t.allowInsecureHttp);else if("http:"===a)return{ok:!1,reason:"http: is not allowed (set allowInsecureHttp to permit)"};else return{ok:!1,reason:`Scheme '${a.replace(":","")}' is not allowed. Use https.`};let{allowedHosts:n}=t;if(n&&n.length>0){let e=r.hostname.toLowerCase();if(!n.map(e=>e.toLowerCase()).includes(e))return{ok:!1,reason:`Host '${r.hostname}' is not in the allowed hosts list`}}return{ok:!0,url:r}}async function f(e){let t=await (0,l.mkdtemp)(r.default.join((0,u.tmpdir)(),"wiki-git-")),n=r.default.join(t,"askpass.sh"),i=`#!/bin/sh
|
|
2
|
-
printf '%s' '${e.replace(/'/g,"'\\''")}'`;(0,a.writeFileSync)(n,i,{mode:448});try{(0,a.chmodSync)(n,448)}catch{}return n}function w(e){try{(0,a.unlinkSync)(e)}catch{}let t=r.default.dirname(e);if(t!==(0,u.tmpdir)())try{(0,a.rmSync)(t,{recursive:!0,force:!0})}catch{}}async function m(e){let t=await f(e);return{env:{...process.env,GIT_ASKPASS:t,GIT_TERMINAL_PROMPT:"0"},askpassPath:t}}async function g(e){let t,a,{branch:n,token:i,destDir:s,subpath:o}=e,l=e.depth??1,u=e.username??"x-access-token";o&&(t=function(e){if(r.default.isAbsolute(e))throw Error("subpath must be relative");if(e.includes(".."))throw Error("subpath must not contain '..'");if(/[\0\n]/.test(e)||p.test(e))throw Error("subpath contains forbidden characters");let t=e.split(r.default.sep).join("/").replace(/\/+$/,"");if(".git"===t||t.startsWith(".git/"))throw Error("subpath must not point at .git");return t}(o));let d=["clone","--depth",String(l),"--single-branch","--no-tags"];n&&d.push("--branch",n),t&&d.push("--filter=blob:none","--sparse");let h=i?function(e,t){try{let r=new URL(e);return r.username=t,r.password="",r.toString()}catch{return e}}(e.remoteUrl,u):e.remoteUrl;d.push(h,s);try{if(i){let e=await m(i);a=e.askpassPath,await c("git",d,{env:e.env})}else await c("git",d,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});t&&await c("git",["-C",s,"sparse-checkout","set","--cone",t],{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{a&&w(a)}}async function v(e){let t,{rootDir:r,token:a}=e,n=["-C",r,"pull","--ff-only"];try{if(a){let e=await m(a);t=e.askpassPath,await c("git",n,{env:e.env})}else await c("git",n,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}finally{t&&w(t)}}async function y(e){let{stdout:t}=await c("git",["-C",e,"rev-parse","HEAD"]);return t.trim()}async function R(e){let{stdout:t}=await c("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"]);return t.trim()}async function k(e,t,r=50){let{stdout:a}=await c("git",["-C",e,"log","--follow",`--max-count=${r}`,"--pretty=format:%H\x1f%s\x1f%an\x1f%aI","--",t]);return a.trim()?a.trim().split("\n").map(e=>{let t=e.split("\x1f"),r=(t[0]??"").trim();return{sha:r,shortSha:r.slice(0,7),message:(t[1]??"").trim(),author:(t[2]??"").trim(),date:(t[3]??"").trim()}}):[]}async function _(e,t,r){try{let{stdout:a}=await c("git",["-C",e,"diff",`${r}^`,r,"--",t]);return a}catch{let{stdout:a}=await c("git",["-C",e,"show",r,"--",t]);return a}}async function A(e,t){try{let{stdout:r}=await c("git",["-C",e,"log","-1","--pretty=format:%H\x1f%an\x1f%aI","--",t]);if(!r.trim())return null;let a=r.trim().split("\x1f");return{sha:(a[0]??"").trim(),author:(a[1]??"").trim(),date:(a[2]??"").trim()}}catch{return null}}async function E(e){let{stdout:t}=await c("git",["-C",e,"branch"]);return t.split("\n").filter(Boolean).map(e=>({current:e.startsWith("*"),name:e.replace(/^\*?\s+/,"").trim()}))}async function I(e,t){if(!(!(!t||t.length>200||p.test(t)||t.includes("..")||t.startsWith("-")||t.startsWith("/")||t.endsWith("/"))&&/^[a-zA-Z0-9._\-/]+$/.test(t)&&1)){let e=Error("Invalid branch name");throw e.invalidBranch=!0,e}let{stdout:r}=await c("git",["-C",e,"status","--porcelain"]);if(r.trim().length>0){let e=Error("Repository has uncommitted changes");throw e.dirty=!0,e}await c("git",["-C",e,"checkout",t]);let[a,n]=await Promise.all([y(e),R(e)]);return{sha:a,branch:n}}async function C(e,t){let a=t.split("/").filter(Boolean);for(let t=a.length-1;t>=0;t--){let n=0===t?e:r.default.join(e,...a.slice(0,t));if(await S(n))return{repoDir:n,relFromRepo:a.slice(t).join("/")}}return null}async function S(e){try{await (0,l.stat)(r.default.join(e,".git"))}catch{return null}try{let{stdout:t}=await c("git",["-C",e,"rev-parse","--show-toplevel"]);if(t.trim()!==e)return null;let r=await R(e),{stdout:a}=await c("git",["-C",e,"status","--porcelain"]),n=a.trim().length>0;return{branch:r,dirty:n}}catch{return null}}function b(){return r.default.join(process.env.HOME??u.default.homedir(),".wiki-viewer")}function O(){return r.default.join(b(),"git-secrets.json")}function P(){let e=O();if(!(0,a.existsSync)(e))return{};try{return JSON.parse((0,a.readFileSync)(e,"utf-8"))}catch{return{}}}function x(e){let t=O();(0,a.writeFileSync)(t,JSON.stringify(e),{mode:384});try{(0,a.chmodSync)(t,384)}catch{}}async function N(e,t){await (0,l.mkdir)(b(),{recursive:!0});let r=P();r[e]=t,x(r)}async function U(e){return P()[e]??null}async function D(e){let t=P();e in t&&(delete t[e],x(t))}async function T(){return(await (0,i.readConfig)()).workspaces??[]}async function j(e){return(await T()).find(t=>t.id===e)??null}async function W(e){let t=r.default.resolve(e.rootDir),a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:e.name??r.default.basename(t),rootDir:t,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),createdBy:e.createdBy};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],a]})),a}async function H(t){let s;if(await d(),!t.allowLocalPath){let e=h(t.remoteUrl,{allowedHosts:t.allowedHosts,allowInsecureHttp:t.allowInsecureHttp});if(!e.ok)throw Error(e.reason)}let o="ws_"+(0,n.randomBytes)(6).toString("base64url"),l=r.default.join((0,i.reposDir)(),o),u=t.subpath?r.default.join(l,t.subpath):l;t.token&&(s="git_"+(0,n.randomBytes)(9).toString("base64url"),await N(s,t.token));try{await g({remoteUrl:t.remoteUrl,branch:t.branch,token:t.token,username:t.username,destDir:l,subpath:t.subpath})}catch(e){if(s)try{await D(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw e}if(t.subpath){let{lstat:n,realpath:i}=await e.A(687903),o=!1;try{if((await n(u)).isDirectory()){let e=await i(l),t=await i(u);o=t===e||t.startsWith(e+r.default.sep)}}catch{}if(!o){if(s)try{await D(s)}catch{}try{(0,a.rmSync)(l,{recursive:!0,force:!0})}catch{}throw Error(`Subpath '${t.subpath}' not found in the repository.`)}}let c=new Date().toISOString(),p=await y(l),f=t.branch?void 0:await R(l),w={id:o,name:t.name??r.default.basename(t.remoteUrl.replace(/\.git$/,"")),rootDir:u,createdAt:c,lastOpenedAt:c,createdBy:t.createdBy,readOnly:!0,git:{remoteUrl:t.remoteUrl,branch:t.branch??f,tokenRef:s,username:t.username,lastPulledAt:c,lastSha:p,subpath:t.subpath,cloneRoot:t.subpath?l:void 0}};return await (0,i.updateConfig)(e=>({...e,workspaces:[...e.workspaces??[],w]})),w}async function q(e){let t=await j(e);if(!t)throw Error(`Workspace ${e} not found`);if(!t.git)throw Error(`Workspace ${e} is not a git-backed workspace`);let r=t.git.tokenRef?await U(t.git.tokenRef)??void 0:void 0,a=t.git.cloneRoot??t.rootDir;try{await v({rootDir:a,token:r,username:t.git.username})}catch(r){let t=r instanceof Error?r.message:String(r);throw await M(e,e=>({...e,git:e.git?{...e.git,lastError:t}:e.git})),r}let n=await y(a),i=new Date().toISOString();return await M(e,e=>({...e,git:e.git?{...e.git,lastSha:n,lastPulledAt:i,lastError:void 0}:e.git})),{lastSha:n,lastPulledAt:i}}function M(e,t){return(0,i.updateConfig)(r=>{let a=(r.workspaces??[]).map(r=>r.id===e?t(r):r);return{...r,workspaces:a}}).then(()=>void 0)}async function B(e,t){await M(e,e=>({...e,name:t}))}async function $(t){let n=await j(t);if(await (0,i.updateConfig)(e=>({...e,workspaces:(e.workspaces??[]).filter(e=>e.id!==t)})),n?.git?.tokenRef)try{await D(n.git.tokenRef)}catch{}if(n?.git){let e=r.default.resolve(n.git.cloneRoot??n.rootDir),t=r.default.resolve((0,i.reposDir)()),s=r.default.relative(t,e);if(e!==t&&""!==s&&!s.startsWith("..")&&!r.default.isAbsolute(s))try{(0,a.rmSync)(e,{recursive:!0,force:!0})}catch{}}try{let{purgeWorkspace:r}=await e.A(754121);await r(t)}catch(e){console.error("[search] purge failed on workspace remove",e)}}async function L(e,t){await M(e,e=>({...e,allowedUserIds:t}))}async function F(e,t){await M(e,e=>({...e,pinnedPaths:t}))}async function K(e){await M(e,e=>({...e,lastOpenedAt:new Date().toISOString()}))}e.s(["assertGitAvailable",0,d,"cloneRepo",0,g,"currentBranch",0,R,"detectGitRepo",0,S,"findEnclosingGitRepo",0,C,"gitBranches",0,E,"gitCheckout",0,I,"gitFileDiff",0,_,"gitFileHistory",0,k,"gitFileInfo",0,A,"headSha",0,y,"pullRepo",0,v,"validateRemoteUrl",0,h],787140);let G=!1;async function z(){if(G)return;let e=e=>e.lastOpenedPath??(process.env.ROOT_DIR?r.default.resolve(process.env.ROOT_DIR):null),t=await (0,i.readConfig)();if((t.workspaces??[]).length>0||!e(t)){G=!0;return}let a=null;await (0,i.updateConfig)(t=>{let i=t.workspaces??[],s=e(t);if(i.length>0||!s)return t;let o=r.default.resolve(s);return a={id:"ws_"+(0,n.randomBytes)(6).toString("base64url"),name:r.default.basename(o),rootDir:o,createdAt:new Date().toISOString(),lastOpenedAt:new Date().toISOString(),pinnedPaths:t.pinnedPaths},{...t,workspaces:[a]}}),a&&console.log(`[wiki-viewer] Migrated lastOpenedPath → workspace "${a.name}" (${a.id})`),G=!0}e.s(["createGitWorkspace",0,H,"createWorkspace",0,W,"getWorkspace",0,j,"listWorkspaces",0,T,"migrateConfigToWorkspaces",0,z,"refreshGitWorkspace",0,q,"removeWorkspace",0,$,"renameWorkspace",0,B,"safeWorkspacePath",0,function(e,t){if(!e)return null;if(!t||"."===t)return e;let a=r.default.resolve(e,t);return a===e||a.startsWith(e+r.default.sep)?a:null},"sanitizeWorkspace",0,function(e){if(!e.git)return e;let{tokenRef:t,...r}=e.git;return{...e,git:r}},"setWorkspaceAccess",0,L,"setWorkspacePins",0,F,"touchWorkspace",0,K,"userCanAccess",0,function(e,t,r){return!!r||!e.allowedUserIds||0===e.allowedUserIds.length||e.allowedUserIds.includes(t)}],359211)},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),n=e.headers.get("referer");if(!a&&!n)return null;let i=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 i.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(i.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},249361,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),n=e.i(475331),i=e.i(490301),s=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),c=e.i(420180),d=e.i(867883),p=e.i(336708),h=e.i(682278),f=e.i(157569),w=e.i(844146),m=e.i(193695);e.i(105888);var g=e.i(530564),v=e.i(702414),y=e.i(402662),R=e.i(254226),k=e.i(583627),_=e.i(359211);async function A(e,{params:t}){let r=(0,y.checkOrigin)(e);if(r)return r;let a=await (0,R.requireUser)(e);if(!a.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{id:n}=await t,i=await (0,_.getWorkspace)(n);if(!i)return v.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404});let s=await (0,k.isAdmin)(a.user.id,a.user.email);if(!(0,_.userCanAccess)(i,a.user.id,s))return v.NextResponse.json({error:"WORKSPACE_FORBIDDEN"},{status:403});let o=await e.json();if(void 0!==o.allowedUserIds&&!s)return v.NextResponse.json({error:"ADMIN_REQUIRED"},{status:403});void 0!==o.name&&await (0,_.renameWorkspace)(n,o.name.trim()),void 0!==o.pinnedPaths&&await (0,_.setWorkspacePins)(n,o.pinnedPaths),void 0!==o.allowedUserIds&&await (0,_.setWorkspaceAccess)(n,o.allowedUserIds);let l=await (0,_.getWorkspace)(n);return v.NextResponse.json({ok:!0,workspace:l?(0,_.sanitizeWorkspace)(l):l})}async function E(e,{params:t}){let r=(0,y.checkOrigin)(e);if(r)return r;let a=await (0,k.requireAdmin)(e);if(!a.ok)return v.NextResponse.json({error:a.code},{status:a.status});let{id:n}=await t;return await (0,_.getWorkspace)(n)?(await (0,_.removeWorkspace)(n),v.NextResponse.json({ok:!0})):v.NextResponse.json({error:"WORKSPACE_NOT_FOUND"},{status:404})}e.s(["DELETE",0,E,"PATCH",0,A,"runtime",0,"nodejs"],692671);var I=e.i(692671);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/system/workspaces/[id]/route",pathname:"/api/system/workspaces/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/system/workspaces/[id]/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:b,serverHooks:O}=C;async function P(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/system/workspaces/[id]/route";v=v.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:_,parsedUrl:A,isDraftMode:E,prerenderManifest:I,routerServerContext:S,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:x,serverActionsManifest:N}=y,U=(0,o.normalizeAppPath)(v),D=!!(I.dynamicRoutes[U]||I.routes[P]),T=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!E){let e=!!I.routes[P],t=I.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await T();throw new m.NoFallbackError}}let j=null;!D||C.isDev||E||(j="/index"===(j=P)?"/":j);let W=!0===C.isDev||!D,H=D&&!W;N&&x&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:x,serverActionsManifest:N});let q=e.method||"GET",M=(0,i.getTracer)(),B=M.getActiveScopeSpan(),$=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,_,I,L);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let K={params:k,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:W,incrementalCache:F,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,S)},sharedContext:{buildId:R}},G=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>C.handle(Z,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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=`${q} ${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(`${q} ${v}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&b&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(G,z,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,S),t}},u=await C.handleResponse({req:e,nextConfig:_,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",b?"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&&D||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&B?await o(B):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,S),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:S,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,O,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,b],249361)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0c__k3q._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[857764,(e,t,n)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,n)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var n=e.i(59639);e.s(["minproc",()=>n.default],651212);var s=e.i(857764);e.s(["urlToPath",()=>s.fileURLToPath],316552)},794776,e=>{"use strict";let t,n=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,n,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},889264,e=>{"use strict";let t=globalThis;function n(){return t.__wikiLeaseStore}function s(e,t){return`${e}\u0000${t}`}function r(e,t){let r=n(),a=s(e,t),i=r.leases.get(a);return!!i&&(!(Date.now()>=i.expiresAt)||(r.leases.delete(a),r.generations.set(a,(r.generations.get(a)??0)+1),!1))}t.__wikiLeaseStore||(t.__wikiLeaseStore={leases:new Map,generations:new Map}),e.s(["clearLease",0,function(e,t,r){let a=n(),i=s(e,t),o=a.leases.get(i);o&&o.userId===r&&(a.leases.delete(i),a.generations.set(i,(a.generations.get(i)??0)+1))},"hasActiveLease",0,function(e,t){return r(e,t)},"leaseGeneration",0,function(e,t){let r=s(e,t);return n().generations.get(r)??0},"setLease",0,function(e,t,a,i=9e4){let o=n(),l=s(e,t),u=r(e,t);o.leases.set(l,{userId:a,expiresAt:Date.now()+i}),u||o.generations.set(l,(o.generations.get(l)??0)+1)}])},814747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,n)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,n)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,n)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),n=e.i(912714),s=e.i(660526),r=e.i(750227),a=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??s.default.homedir();return r.default.join(e,".wiki-viewer")}function u(){return r.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,n.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,n.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,n.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,n.chmod)(t,384)}catch{}await (0,n.rename)(t,u())}async function f(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let n=await d();if(!n)return null;let s=c(e);for(let e of n.agents)if(function(e,n){let s=Buffer.from(e.padEnd(64,"0"),"utf8"),r=Buffer.from(n.padEnd(64,"0"),"utf8");return s.length===r.length&&(0,t.timingSafeEqual)(s,r)&&e.length===n.length}(e.tokenHash,s))return e;return null}async function m(e){await (0,a.withFileMutex)(i,async()=>{let t=await f(),n=t.agents.findIndex(t=>t.id===e.id);n>=0?t.agents[n]=e:t.agents.push(e),await p(t)})}async function g(e){return(0,a.withFileMutex)(i,async()=>{let t=await d();if(!t)return!1;let n=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==n&&(await p(t),!0)})}async function _(e){Date.now()-(o.get(e)??0)<3e4||await (0,a.withFileMutex)(i,async()=>{let t=await d();if(!t)return;let n=t.agents.find(t=>t.id===e);n&&(n.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,m,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,g,"updateLastSeen",0,_])},215043,552350,e=>{"use strict";var t=e.i(228064);function n(e,t){return(function(e){let t="^",n=0;for(;n<e.length;)"*"===e[n]&&"*"===e[n+1]?(t+=".*","/"===e[n+=2]&&(t+="(?:.+/)?",n++)):("*"===e[n]?t+="[^/]*":"?"===e[n]?t+="[^/]":t+=e[n].replace(/[.+^${}()|[\]\\]/g,"\\$&"),n++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,n],552350);var s=e.i(254226);async function r(e){let n=await (0,s.getSessionFromRequest)(e);if(n?.user){let e=n.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let r=e.headers.get("authorization")??"",a=r.startsWith("Bearer ")?r.slice(7).trim():"";if(!a)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(a);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,r,"enforceScope",0,function(e,t){let{scope:s}=e;return void 0!==s.workspaceId&&void 0!==t.workspaceId&&s.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${s.workspaceId}")`}:s.ops.includes(t.op)?t.filePath&&!s.paths.some(e=>n(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},973909,e=>{"use strict";var t=e.i(912714),n=e.i(750227);function s(e,t){return n.default.join(e,".proof",t+".json")}async function r(e,n){let r=s(e,n);try{let e=await (0,t.readFile)(r,"utf-8"),n=JSON.parse(e);if(1!==n.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${n.schemaVersion}`);return n}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function a(e,r,a){let i=s(e,r);await (0,t.mkdir)(n.default.dirname(i),{recursive:!0});let o=i+".tmp";await (0,t.writeFile)(o,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(o,i)}async function i(e,r,a){let i=s(e,r),o=s(e,a);try{await (0,t.mkdir)(n.default.dirname(o),{recursive:!0}),await (0,t.rename)(i,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,n){let r=s(e,n);try{await (0,t.unlink)(r)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,i,"readSidecar",0,r,"writeSidecar",0,a])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let n=[];for(let s of t){let t={...s,id:e.nextEventId++};e.events.push(t),n.push(t)}return n},"pollEvents",0,function(e,t,n){return e.events.filter(e=>e.id>t).slice(0,n)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let n=Object.values(e.lastAck),s=n.length>0?Math.min(...n):1/0,r=e.events.length-t,a=e.events.filter((e,t)=>t>=r||e.id>s);e.events=a}])},850948,e=>{"use strict";function t(e){return e.replace(/&/g,"&").replace(/"/g,""")}e.s(["newSpanId",0,function(){let e=Math.floor(65535*Math.random()).toString(16).padStart(4,"0");return`p${e}`},"revertProofSpan",0,function(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`<proof-span\\b[^>]*\\bid="${n}"[^>]*>[\\s\\S]*?<\\/proof-span>`,"g");return e.replace(s,"")},"wrapAsProofSpan",0,function(e,n){let s,r=(s=[`id="${t(n.spanId)}"`,`origin="${n.origin}"`],n.basis&&s.push(`basis="${t(n.basis)}"`),n.basisDetail&&s.push(`basis-detail="${t(n.basisDetail)}"`),s.push(`by="${t(n.by)}"`),s.push(`at="${t(n.at)}"`),n.inResponseTo&&s.push(`in-response-to="${t(n.inResponseTo)}"`),s.join(" ")),a=e.trim();if(a.startsWith("```")||a.startsWith("~~~")||a.startsWith("<")&&!a.startsWith("<proof-span")||/^[-*_]{3,}\s*$/.test(a))return null;let i=a.split("\n")[0];if(i.includes("|")&&/^\|.*\|/.test(i))return null;let o=a.match(/^(#{1,6})\s+(.+)$/);if(o){let e=o[1],t=o[2].trimEnd();return`${e} <proof-span ${r}>${t}</proof-span>`}return a.startsWith(">")?a.split("\n").map(e=>{let t=e.match(/^(>\s?)(.*)/);if(!t)return e;let n=t[1],s=t[2];return s.trim()?`${n}<proof-span ${r}>${s}</proof-span>`:e}).join("\n"):/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/.test(a.split("\n")[0])?a.split("\n").map(e=>{let t=e.match(/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/);if(!t)return e;let n=t[1],s=t[2];return s.trim()?`${n}<proof-span ${r}>${s}</proof-span>`:e}).join("\n"):`<proof-span ${r}>${a}</proof-span>`}])},517387,e=>{"use strict";var t=e.i(794776);let n=new Map;e.s(["checkAndConsume",0,function(e,s=1){let r=Date.now(),a=t.OPS_PER_MINUTE,i=n.get(e);i||(i={tokens:a,lastRefill:r},n.set(e,i));let o=Math.floor((r-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(a,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<s)?{ok:!1,retryAfterMs:Math.max(1,1e3*(s-i.tokens)-(r-i.lastRefill))}:(i.tokens-=s,{ok:!0})}])},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0cp~z4x._.js.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module.exports=[402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let a=e.headers.get("origin"),s=e.headers.get("referer");if(!a&&!s)return null;let n=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let a=new Set;for(let e of t)for(let t of["http","https"])for(let s of r)a.add(`${t}://${e}${s}`);return a}(e.headers.get("host")??"");if(a)return n.has(a)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(s){try{let{protocol:e,host:t}=new URL(s);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227);function s(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")}async function n(e,t){if(!e)return null;let n=a.default.normalize(t);if(n.startsWith("..")||a.default.isAbsolute(n)||s(n))return null;let i=a.default.join(e,n);if(i!==e&&!i.startsWith(e+a.default.sep))return null;try{let t=await (0,r.realpath)(i);if(t!==e&&!t.startsWith(e+a.default.sep))return null}catch{let t=a.default.dirname(i);if(t!==i)try{let s=await (0,r.realpath)(t);if(s!==e&&!s.startsWith(e+a.default.sep))return null}catch{}}return i}let i={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".env":"text/plain; charset=utf-8"};async function o(e,t){let a=420;try{let t=await (0,r.stat)(e);a=511&t.mode}catch{}let s=e+".~"+process.pid+"."+Date.now()+".tmp",n=await (0,r.open)(s,"w",a);try{await n.write(t),await n.datasync()}finally{await n.close()}await (0,r.rename)(s,e)}async function l(e,t){let s=a.default.dirname(e);if(t)return await (0,r.mkdir)(s,{recursive:!0}),!0;try{return await (0,r.stat)(s),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,s,"isMarkdown",0,function(e){return e.endsWith(".md")||e.endsWith(".markdown")},"looksLikeBinary",0,function(e){return e.slice(0,Math.min(e.length,8192)).includes(0)},"mimeByExt",0,function(e){return i[a.default.extname(e).toLowerCase()]??"application/octet-stream"},"safeAbsPath",0,n,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},97082,e=>{"use strict";var t=e.i(286607),r=e.i(750227),a=e.i(660526),s=e.i(902157),n=e.i(666680);let i=null;function o(){if(i)return i;let e=r.default.join(process.env.HOME??a.default.homedir(),".wiki-viewer");return(0,s.mkdirSync)(e,{recursive:!0}),(i=new t.default(r.default.join(e,"shared.db"))).pragma("journal_mode = WAL"),i.pragma("synchronous = NORMAL"),i.exec(`
|
|
2
|
-
CREATE TABLE IF NOT EXISTS shared_docs (
|
|
3
|
-
id TEXT PRIMARY KEY,
|
|
4
|
-
workspace_id TEXT NOT NULL,
|
|
5
|
-
file_path TEXT NOT NULL,
|
|
6
|
-
token TEXT NOT NULL UNIQUE,
|
|
7
|
-
password_hash TEXT,
|
|
8
|
-
expires_at TEXT,
|
|
9
|
-
created_by TEXT NOT NULL,
|
|
10
|
-
created_at TEXT NOT NULL,
|
|
11
|
-
view_count INTEGER NOT NULL DEFAULT 0,
|
|
12
|
-
is_revoked INTEGER NOT NULL DEFAULT 0
|
|
13
|
-
);
|
|
14
|
-
CREATE INDEX IF NOT EXISTS shared_docs_token_idx ON shared_docs(token);
|
|
15
|
-
CREATE INDEX IF NOT EXISTS shared_docs_file_idx ON shared_docs(workspace_id, file_path);
|
|
16
|
-
`),i}function l(e){return{id:e.id,workspaceId:e.workspace_id,filePath:e.file_path,token:e.token,passwordHash:e.password_hash??null,expiresAt:e.expires_at??null,createdBy:e.created_by,createdAt:e.created_at,viewCount:e.view_count??0,isRevoked:1===e.is_revoked}}e.s(["createShare",0,function(e){var t;let r,a,s=o(),i="shr_"+(0,n.randomBytes)(8).toString("base64url"),l=(0,n.randomBytes)(16).toString("base64url"),u=e.password?(t=e.password,r=(0,n.randomBytes)(16).toString("hex"),a=(0,n.scryptSync)(t,r,64).toString("hex"),`${r}:${a}`):null,d={id:i,workspaceId:e.workspaceId,filePath:e.filePath,token:l,passwordHash:u,expiresAt:e.expiresAt??null,createdBy:e.createdBy,createdAt:new Date().toISOString(),viewCount:0,isRevoked:!1},p={...d,isRevoked:+!!d.isRevoked};return s.prepare(`INSERT INTO shared_docs
|
|
17
|
-
(id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
|
|
18
|
-
VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(p),d},"getShareByToken",0,function(e){let t=o().prepare("SELECT * FROM shared_docs WHERE token = ?").get(e);return t?l(t):null},"incrementViewCount",0,function(e){o().prepare("UPDATE shared_docs SET view_count = view_count + 1 WHERE token = ?").run(e)},"isExpired",0,function(e){return!!e.expiresAt&&new Date(e.expiresAt)<new Date},"listSharesForFile",0,function(e,t){return o().prepare("SELECT * FROM shared_docs WHERE workspace_id = ? AND file_path = ? AND is_revoked = 0 ORDER BY created_at DESC").all(e,t).map(l)},"revokeShare",0,function(e){o().prepare("UPDATE shared_docs SET is_revoked = 1 WHERE id = ?").run(e)},"verifyPassword",0,function(e,t){let[r,a]=t.split(":"),s=(0,n.scryptSync)(e,r,64),i=Buffer.from(a,"hex");return s.length===i.length&&(0,n.timingSafeEqual)(s,i)}])},732733,e=>{"use strict";var t=e.i(364564),r=e.i(102095),a=e.i(691091),s=e.i(475331),n=e.i(490301),i=e.i(670943),o=e.i(690324),l=e.i(243133),u=e.i(404870),d=e.i(420180),p=e.i(867883),c=e.i(336708),h=e.i(682278),f=e.i(157569),v=e.i(844146),w=e.i(193695);e.i(105888);var m=e.i(530564),_=e.i(702414),x=e.i(402662),R=e.i(254226),E=e.i(660038),g=e.i(719126),y=e.i(97082);async function k(t){let r=(0,x.checkOrigin)(t);if(r)return r;let a=await (0,R.requireUser)(t);if(!a.ok)return _.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let s=await (0,E.resolveWorkspaceForUser)(t);if(!s.ok)return _.NextResponse.json({error:s.code},{status:s.status});let n=await t.json(),i=n.path;if(!i||"string"!=typeof i)return _.NextResponse.json({error:"Missing path"},{status:400});let o=await (0,g.safeAbsPath)(s.rootDir,i);if(!o)return _.NextResponse.json({error:"Invalid path"},{status:400});let{stat:l}=await e.A(687903);try{await l(o)}catch{return _.NextResponse.json({error:"File not found"},{status:404})}if(void 0!==n.password&&"string"!=typeof n.password)return _.NextResponse.json({error:"Invalid password"},{status:400});if(void 0!==n.expiresAt&&null!==n.expiresAt&&"string"!=typeof n.expiresAt)return _.NextResponse.json({error:"Invalid expiresAt"},{status:400});if(n.expiresAt){let e=new Date(n.expiresAt);if(isNaN(e.getTime()))return _.NextResponse.json({error:"Invalid date"},{status:400});if(e.getTime()<Date.now())return _.NextResponse.json({error:"Date is in the past"},{status:400})}let u=(0,y.createShare)({workspaceId:s.ws.id,filePath:i,password:n.password&&n.password.length>0?n.password:void 0,expiresAt:n.expiresAt||void 0,createdBy:a.user.id});return _.NextResponse.json({token:u.token,url:`/s/${u.token}`,hasPassword:!!u.passwordHash,expiresAt:u.expiresAt,createdAt:u.createdAt})}async function T(e){let t=(0,x.checkOrigin)(e);if(t)return t;if(!(await (0,R.requireUser)(e)).ok)return _.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let r=await (0,E.resolveWorkspaceForUser)(e);if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let{searchParams:a}=new URL(e.url),s=a.get("path");if(!s)return _.NextResponse.json({error:"Missing path"},{status:400});let n=(0,y.listSharesForFile)(r.ws.id,s);return _.NextResponse.json({shares:n.map(e=>({id:e.id,token:e.token,url:`/s/${e.token}`,hasPassword:!!e.passwordHash,expiresAt:e.expiresAt,createdAt:e.createdAt,viewCount:e.viewCount,isExpired:!!e.expiresAt&&new Date(e.expiresAt)<new Date}))})}e.s(["GET",0,T,"POST",0,k],870221);var A=e.i(870221);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/route",pathname:"/api/share",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:j,serverHooks:O}=N;async function C(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/share/route";_=_.replace(/\/index$/,"")||"/";let x=await N.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:E,nextConfig:g,parsedUrl:y,isDraftMode:k,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:P}=x,I=(0,o.normalizeAppPath)(_),D=!!(T.dynamicRoutes[I]||T.routes[O]),b=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!T.routes[O],t=T.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(g.adapterPath)return await b();throw new w.NoFallbackError}}let U=null;!D||N.isDev||k||(U="/index"===(U=O)?"/":U);let H=!0===N.isDev||!D,L=D&&!H;P&&C&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:C,serverActionsManifest:P});let q=e.method||"GET",B=(0,n.getTracer)(),F=B.getActiveScopeSpan(),M=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,g,T,W);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let X={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!g.experimental.authInterrupts},cacheComponents:!!g.cacheComponents,supportsDynamicResponse:H,incrementalCache:$,cacheLifeProfiles:g.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>N.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},z=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>N.handle(G,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")!==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=`${q} ${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(`${q} ${_}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&S&&j&&!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,c.sendResponse)(z,K,n,X.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[v.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>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:m.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 N.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:S})},!1,A),t}},u=await N.handleResponse({req:e,nextConfig:g,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||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)(z,K,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};M&&F?await o(F):(s=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${q} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof w.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:S})},!1,A),D)throw t;return await (0,c.sendResponse)(z,K,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:j})},"routeModule",0,N,"serverHooks",0,O,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,j],732733)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__00mtevo._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0fmdv9h._.js.map
|