wiki-viewer 2.12.0 → 2.14.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/app-path-routes-manifest.json +14 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +81 -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/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/approve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/deny/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/route.js +1 -1
- 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 +7 -7
- 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 +7 -7
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/live/attach/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/{internal/span → live/attach}/route.js +11 -11
- package/.next/standalone/.next/server/app/api/agent/live/attach/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/live/attach/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route.js +17 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/live/md-preview/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route.js +17 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/live/poll/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/reply/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/reply/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/live/reply/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/live/reply/route.js +17 -0
- package/.next/standalone/.next/server/app/api/agent/live/reply/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/{internal/span → live/reply}/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/live/reply/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route.js +18 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/live/web-preview/route_client-reference-manifest.js +3 -0
- 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 +9 -9
- 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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/route.js +1 -1
- 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 +1 -1
- 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/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js +1 -1
- 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 +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route.js +18 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-request/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route.js +18 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-resolve/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route.js +16 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/live/md-status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/{agent/internal/span → wiki/live/md-status}/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/wiki/live/request/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route.js +16 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/live/request/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route.js +17 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/live/status/route_client-reference-manifest.js +3 -0
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/scratch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/search/route.js +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route.js +7 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/picker.js/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route.js +16 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/request/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route.js +17 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/resolve/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route.js +16 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/web-tweak/status/route_client-reference-manifest.js +3 -0
- 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/app-paths-manifest.json +14 -1
- package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_031ecpl.js +274 -0
- package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0afqvqi.js +3 -0
- package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0ofi5.l.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07wa2lq._.js → [root-of-the-server]__0-l8919._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0e~2gkf._.js → [root-of-the-server]__0-vsohg._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.xk8gi._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0002pqj._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01v1udu._.js +16 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01y-312._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__020sc-x._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02373p-._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0n2r6u9._.js → [root-of-the-server]__03c8~ck._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03qy0.z._.js +55 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__056pu9b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06kspyc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07bxa4u._.js +90 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08xiuca._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0936qml._.js +43 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09g2xhj._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0badnl7._.js +43 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bqhp4b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dk42.p._.js +90 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e_irm6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iksibp._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jlrhzi._.js +55 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kamtmx._.js +50 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kpcc70._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0laknd~._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m.o598._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mgvfb5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n7uto3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oxzq2p._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r-3u3v._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t8r97l._.js +50 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vuw0yp._.js +50 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0xoz8e8._.js → [root-of-the-server]__0wtrbmm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y4lx2l._.js +50 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0z5xk6f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zrcu6l._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10-ona2._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__130a-u1._.js +50 -0
- package/.next/standalone/.next/server/chunks/_079xuln._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_live_attach_route_actions_0cy5eae.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_live_md-preview_route_actions_07po~tm.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_live_poll_route_actions_0tef7r~.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_live_reply_route_actions_0modpib.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_live_web-preview_route_actions_0qjm1cw.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_live_md-request_route_actions_0z5ad2q.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_live_md-resolve_route_actions_0_8g88b.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_live_md-status_route_actions_02ykgzf.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_live_request_route_actions_00m8pc2.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_live_status_route_actions_0v.pypx.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_web-tweak_picker_js_route_actions_118~f~j.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_web-tweak_request_route_actions_0wlzrco.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_web-tweak_resolve_route_actions_0wq6pw5.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_web-tweak_status_route_actions_0vr4h6u.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_0-fyxoz._.js → 0~w0_katex_dist_katex_mjs_0okh~tf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_blockDiagram-GPEHLZMM_mjs_0v204vn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_c4Diagram-AAUBKEIU_mjs_0.iwqva._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-3OPIFGDE_mjs_09p1amp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-5ZQYHXKU_mjs_0z1.978._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-727SXJPM_mjs_115~dsb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-AQP2D5EJ_mjs_0euza.d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-CSCIHK7Q_mjs_01i7moi._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-KSCS5N6A_mjs_0v4oeem._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-O5CBEL6O_mjs_11437bo._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_dagre-BM42HDAG_mjs_05ekknz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_diagram-OG6HWLK6_mjs_0t5sus6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_erDiagram-TEJ5UH35_mjs_0v6rnqy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_flowDiagram-I6XJVG4X_mjs_13pu1pv._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-PVQCEYII_mjs_0jp8i-h._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_ishikawaDiagram-YF4QCWOH_mjs_0tcayi4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_journeyDiagram-JHISSGLW_mjs_0-ln2o9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_kanban-definition-UN3LZRKU_mjs_0_sdvmq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_mindmap-definition-RKZ34NQL_mjs_002sdr9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_quadrantDiagram-W4KKPZXB_mjs_0re1qsf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_requirementDiagram-4Y6WPE33_mjs_067p6fg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_sankeyDiagram-5OEKKPKP_mjs_11ifrnu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_sequenceDiagram-3UESZ5HK_mjs_015n5fb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_stateDiagram-AJRCARHV_mjs_0q8ykwx._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_timeline-definition-PNZ67QCA_mjs_0ie6b6s._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_vennDiagram-CIIHVFJN_mjs_0hds9fe._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_wardleyDiagram-YWT4CUSO_mjs_0s.dkn9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_xychartDiagram-2RQKCTM6_mjs_0v-eh5w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_mermaid_core_mjs_0hj_n-~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~4py6h._.js → [root-of-the-server]__0t5fses._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0d9d~c~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0kkaybx._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0oq8kwv._.js +284 -12
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0f0qocb._.js → node_modules__pnpm_0-l23--._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0_g0a7t._.js → node_modules__pnpm_00d-n5v._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0v7wopg._.js → node_modules__pnpm_014r.0e._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0zdl7-7._.js → node_modules__pnpm_03j578g._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_04rulr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_09y5c~i._.js → node_modules__pnpm_05qsb2c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0sdy2lv._.js → node_modules__pnpm_08i5ti8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0b6_242._.js → node_modules__pnpm_09t82cx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0f6r-u~._.js → node_modules__pnpm_09~hu70._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0pggrwu._.js → node_modules__pnpm_0cfriah._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_02qa21p._.js → node_modules__pnpm_0ct341~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0d4-t2b._.js → node_modules__pnpm_0eps_u_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0fb6~r_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0q9s5k5._.js → node_modules__pnpm_0k47joo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0l9eomm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0q_v1_2._.js → node_modules__pnpm_0nsy85b._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0vahm7l._.js → node_modules__pnpm_0n~wbom._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0.xieh4._.js → node_modules__pnpm_0o1._vw._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0kib6pw._.js → node_modules__pnpm_0t21hj7._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0~wqhb9._.js → node_modules__pnpm_0tl8mi0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0f9artj._.js → node_modules__pnpm_0tqv.ym._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_05c~go7._.js → node_modules__pnpm_0v9mhna._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_07hg43b._.js → node_modules__pnpm_0w8.hpb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0_zd0nt._.js → node_modules__pnpm_0wrxa~f._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0g_tlt-._.js → node_modules__pnpm_0xrjcxa._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ghm84g._.js → node_modules__pnpm_0xrusyy._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0c6q9~6._.js → node_modules__pnpm_0y.wb-7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0tvmv0e._.js → node_modules__pnpm_0yu-3eu._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0k6yfdh._.js → node_modules__pnpm_11q1n~-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_01~03ak._.js → node_modules__pnpm_1323nh~._.js} +2 -2
- package/.next/standalone/.next/server/functions-config-manifest.json +15 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/0k~5ok-cacnor.js +417 -0
- package/.next/standalone/.next/static/chunks/{04um2f1eeqcss.js → 0noq2zqrh0z_0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{04f8lhbw6m9ee.js → 0tn7wdt213lbb.js} +1 -1
- package/.next/standalone/.next/static/chunks/{138ap~9f.rqkh.css → 12-umagms5yro.css} +1 -1
- package/.next/standalone/.next/static/chunks/17446l.6t9j17.css +1 -0
- package/.next/standalone/.test-floor +1 -1
- package/.next/standalone/_status.md +19 -0
- package/.next/standalone/meta/contract.md +67 -0
- package/.next/standalone/meta/overview.md +10 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/queries/lint-2026-08-15.md +28 -0
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/specs/changes/block-preconditions/proposal.md +90 -0
- package/.next/standalone/specs/changes/blockref-frontmatter-misalign/proposal.md +81 -0
- package/.next/standalone/specs/changes/collective-agent-review/design.md +183 -0
- package/.next/standalone/specs/changes/collective-agent-review/proposal.md +138 -0
- package/.next/standalone/specs/changes/collective-agent-review/requirements.md +100 -0
- package/.next/standalone/specs/changes/collective-agent-review/tasks.md +62 -0
- package/.next/standalone/specs/changes/live-collab/design.md +141 -0
- package/.next/standalone/specs/changes/live-collab/proposal.md +133 -0
- package/.next/standalone/specs/changes/live-collab/requirements.md +91 -0
- package/.next/standalone/specs/changes/live-collab/tasks.md +39 -0
- package/.next/standalone/specs/changes/live-collab-web/findings-termdeck.md +120 -0
- package/.next/standalone/specs/changes/live-collab-web/proposal.md +184 -0
- package/.next/standalone/specs/changes/live-unified/design.md +49 -0
- package/.next/standalone/specs/changes/live-unified/proposal.md +54 -0
- package/.next/standalone/specs/changes/web-tweak-variants/proposal.md +65 -0
- package/.next/standalone/wp-test-6mm5qr/burst-0.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-1.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-10.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-11.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-12.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-13.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-14.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-15.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-16.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-17.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-18.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-19.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-2.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-20.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-21.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-22.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-23.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-24.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-25.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-26.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-27.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-28.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-29.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-3.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-30.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-31.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-32.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-33.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-34.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-35.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-36.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-37.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-38.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-39.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-4.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-40.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-41.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-42.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-43.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-44.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-45.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-46.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-47.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-48.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-49.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-5.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-6.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-7.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-8.txt +1 -0
- package/.next/standalone/wp-test-6mm5qr/burst-9.txt +1 -0
- package/.next/standalone/wp-test-SiMBLk/child/nested.txt +1 -0
- package/.next/standalone/wp-test-SiMBLk/rootfile.txt +1 -0
- package/.next/standalone/wp-test-bFyuuZ/child/nested.txt +1 -0
- package/.next/standalone/wp-test-bFyuuZ/rootfile.txt +1 -0
- package/.next/standalone/wp-test-dn9shN/after-reset.txt +1 -0
- package/.next/standalone/wp-test-gL64l2/shared.txt +1 -0
- package/.next/standalone/wp-test-mlyQ7q/test.txt +1 -0
- package/.next/standalone/wp-test-o3g2XI/shared.txt +1 -0
- package/.next/standalone/wp-test-oHeYCM/subA/a.txt +1 -0
- package/.next/standalone/wp-test-oHeYCM/subB/b.txt +1 -0
- package/package.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/internal/span/route/app-paths-manifest.json +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__04vo55d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_g-.kr._.js +0 -20
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bpv09n._.js +0 -20
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e1kbl7._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0omny3u._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q~ky91._.js +0 -16
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r--676._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x.030x._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xlo2r_._.js +0 -3
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_internal_span_route_actions_121if52.js +0 -3
- package/.next/standalone/.next/static/chunks/0gogvjz6oxo51.css +0 -1
- package/.next/standalone/.next/static/chunks/11ehczv8yax~_.js +0 -145
- /package/.next/standalone/.next/server/app/api/agent/{internal/span → live/attach}/route/build-manifest.json +0 -0
- /package/.next/standalone/.next/server/app/api/agent/{internal/span → live/attach}/route/server-reference-manifest.json +0 -0
- /package/.next/standalone/.next/server/app/api/agent/{internal/span → live/attach}/route.js.map +0 -0
- /package/.next/standalone/.next/static/{AsrmwC0YfrYEMAXj2s0Wx → BXRSlvxAOCUzi4h8wCLQi}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{AsrmwC0YfrYEMAXj2s0Wx → BXRSlvxAOCUzi4h8wCLQi}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{AsrmwC0YfrYEMAXj2s0Wx → BXRSlvxAOCUzi4h8wCLQi}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Unified Live: impeccable experience for markdown + HTML
|
|
2
|
+
|
|
3
|
+
## Owner decree
|
|
4
|
+
"impeccable experience comes with wiki-viewer, but extended to also text/markdown files, not just html/webapps." The live responder is the user's **current chat agent session** (via MCP tools it calls), not a headless daemon.
|
|
5
|
+
|
|
6
|
+
## Foundational invariant (both consultants converged)
|
|
7
|
+
**Live is speculative until Accept. Accept is the only transition from proposal to canonical source, on every surface.**
|
|
8
|
+
|
|
9
|
+
This reverses two things shipped earlier this session, deliberately, because the async premises that justified them are gone (the agent is now live and in-session):
|
|
10
|
+
1. Markdown Live moves from **write-first-then-activity/audit provenance** to **write-on-accept** speculative preview.
|
|
11
|
+
2. The batch instruction-queue + RunReviewBar UX is removed from the Live path.
|
|
12
|
+
|
|
13
|
+
Proof-span provenance survives only as an *accepted-edit* audit mark and (optionally) for the separate non-Live async agent path. It is never a pending-review artifact in Live.
|
|
14
|
+
|
|
15
|
+
## Shared vocabulary (surface-neutral, user-facing)
|
|
16
|
+
| Concept | Term | HTML | Markdown |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| Thing changed | **Target** | DOM element | rendered block (text-range = pointing context) |
|
|
19
|
+
| Generated option | **Variant** | DOM/source candidate | markdown/source candidate |
|
|
20
|
+
| Pending candidate set | **Proposal** | N variants | N variants |
|
|
21
|
+
| Persist | **Accept** | apply source patch | apply block patch (tier-2 block.replace) |
|
|
22
|
+
| Abort | **Discard** | restore DOM | drop client state |
|
|
23
|
+
| Dispatch | **Go** | — | — |
|
|
24
|
+
| Surface-level ask | Steer | (deferred v2) | (deferred v2) |
|
|
25
|
+
| New content | Insert | new element | new block |
|
|
26
|
+
|
|
27
|
+
Retire user-facing "Instruct / Send / Tweak."
|
|
28
|
+
|
|
29
|
+
## Shared state machine (both surfaces)
|
|
30
|
+
Idle → Targeted → Waiting(agent) → Generating → Preview(cycle variants) → Accepted | Discarded | Invalidated(file changed underneath).
|
|
31
|
+
|
|
32
|
+
## Presence (honest, pull-based agent)
|
|
33
|
+
One indicator, two states everywhere:
|
|
34
|
+
- solid "● <agent> listening" only while a long-poll is currently held (presence TTL).
|
|
35
|
+
- pulsing amber "◌ no agent — Connect" otherwise.
|
|
36
|
+
Go is disabled when amber; the amber affordance **is** Connect. Instant feel = target flips to Generating the moment Go is pressed, before any agent reply. Grace window (~10s) prevents amber flicker during the agent's chat turns.
|
|
37
|
+
|
|
38
|
+
## Responder = chat agent via MCP tools
|
|
39
|
+
Delete the standalone `wiki-viewer-mcp live` daemon and its reference-agent runtime. Expose the live loop as MCP tools the chat agent calls: attach, poll (held), reply, snapshot, submit (variants), apply. Accept/Discard remain **human/UI-only** (trusted); the agent never commits source.
|
|
40
|
+
|
|
41
|
+
## Scope (v1)
|
|
42
|
+
IN: presence + Connect; select block/element (+ optional text-range); Go → Generating → 2–5 variants in place → cycle → Accept/Discard; write-on-accept everywhere; Insert; MCP live tools; delete daemon + write-first markdown review path.
|
|
43
|
+
OUT (cut): Steer; batch instruction-queue + RunReviewBar in Live; live knobs/sliders; freehand strokes; node-app HTML; multi-file candidates; multi-block markdown variants; comments-as-instructions (comments revert to plain comments).
|
|
44
|
+
|
|
45
|
+
## Biggest risk
|
|
46
|
+
Two review dialects surviving. Mitigation: total convergence — one commit gate (Accept), one verb set, one state machine. No Live path may write-first.
|
|
47
|
+
|
|
48
|
+
## Acceptance criteria
|
|
49
|
+
- Markdown Live never writes the file before Accept; Discard leaves the file byte-identical.
|
|
50
|
+
- HTML and markdown share verbs, presence, state machine, and commit semantics.
|
|
51
|
+
- The chat agent session (not a daemon) responds via MCP tools; `wiki-viewer-mcp live` subcommand no longer exists.
|
|
52
|
+
- Accept commits the exact selected variant verbatim through the one engine (tier-2 for markdown, source-patch for web), hash/revision-gated.
|
|
53
|
+
- Presence is solid only while a poll is held; Go is inert/Connect when amber.
|
|
54
|
+
- Full test suite green; typecheck + lint clean.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Web tweak variants (step 2)
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
|
|
5
|
+
Step 1 gives one target one candidate: instruct an element, the agent returns one
|
|
6
|
+
staged change, accept or discard. The impeccable-native differentiator is missing:
|
|
7
|
+
ask for options and pick the best. Today a human who wants alternatives must
|
|
8
|
+
re-instruct the same element repeatedly, losing the earlier attempt each time.
|
|
9
|
+
|
|
10
|
+
## Desired outcome
|
|
11
|
+
|
|
12
|
+
For a single web element, a human asks for options. The agent returns N candidate
|
|
13
|
+
changes in one reply. The human switches between them in-frame (each candidate's
|
|
14
|
+
DOM preview applied live to the iframe), then accepts exactly one. Accept commits
|
|
15
|
+
that candidate's source patch verbatim; the rest are discarded.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
- Web surface only (static-HTML opaque-origin viewer, same as step 1). Markdown
|
|
20
|
+
variants are out of scope.
|
|
21
|
+
- One target, one instruction, N candidates. Not batch: variants and the step-1
|
|
22
|
+
collective batch are separate flows.
|
|
23
|
+
- New live request kind `web.tweak.variants`. Existing `web.tweak` (single) and
|
|
24
|
+
batch paths are untouched.
|
|
25
|
+
- Agent returns all candidates in one reply (`variants[]`). No incremental
|
|
26
|
+
streaming of candidates.
|
|
27
|
+
- Agent decides the count; server caps it (`MAX_VARIANTS = 5`).
|
|
28
|
+
- Write-on-accept preserved: source is clean until the human accepts one variant.
|
|
29
|
+
Accept reuses `commitCandidate` verbatim with the selected candidate's
|
|
30
|
+
`candidateSourcePatch` + `baseFiles`.
|
|
31
|
+
|
|
32
|
+
## Non-goals
|
|
33
|
+
|
|
34
|
+
- Markdown variants (N activity/audit provenance candidates per block).
|
|
35
|
+
- Multi-element variants (variants over a batch run).
|
|
36
|
+
- Multi-file candidates per variant (v1 keeps the single-file commit invariant).
|
|
37
|
+
- Incremental / streaming candidate delivery.
|
|
38
|
+
- Persisting rejected variants after resolve.
|
|
39
|
+
|
|
40
|
+
## Risks
|
|
41
|
+
|
|
42
|
+
- **Wrong candidate committed.** Accept must commit the exact variant the human
|
|
43
|
+
selected, by immutable `variantId`, not by re-synthesis or array index that
|
|
44
|
+
could shift. Mitigation: select by `variantId`; commit that variant's stored
|
|
45
|
+
candidate verbatim.
|
|
46
|
+
- **Base drift across variants.** Each variant carries its own `baseFiles`
|
|
47
|
+
(all against the same base). Accept re-checks the selected variant's baseFiles
|
|
48
|
+
on disk; BASE_DRIFT => nothing written, transaction invalidated.
|
|
49
|
+
- **Preview leakage between variants.** Switching must fully revert the previous
|
|
50
|
+
variant's DOM ops before applying the next, or previews compound. Mitigation:
|
|
51
|
+
picker `revert` before each `apply`, same undo-state machinery as step 1.
|
|
52
|
+
- **Count abuse.** Agent returns 50 candidates. Mitigation: server caps at
|
|
53
|
+
MAX_VARIANTS, rejects over-cap replies.
|
|
54
|
+
|
|
55
|
+
## Acceptance criteria
|
|
56
|
+
|
|
57
|
+
1. A human can request variants for one element and receive N (2..MAX) candidates.
|
|
58
|
+
2. Switching a variant in-frame shows only that variant's DOM preview (no
|
|
59
|
+
compounding).
|
|
60
|
+
3. Accept commits exactly the selected variant's source patch verbatim, iff its
|
|
61
|
+
baseFiles still match; otherwise BASE_DRIFT and nothing is written.
|
|
62
|
+
4. Discard writes nothing and clears the preview.
|
|
63
|
+
5. Single-tweak and batch flows are unchanged (regression floor holds).
|
|
64
|
+
6. Every variant candidate is single-file, baseFiles-covered, and path-scoped to
|
|
65
|
+
the agent, same as step 1.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 10
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 11
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 12
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 13
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 14
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 15
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 16
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 17
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 18
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 20
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 21
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 22
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 23
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 24
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 25
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 26
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 27
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 28
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 29
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 30
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 31
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 32
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 33
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 34
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 35
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 36
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 37
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 38
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 39
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 40
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 41
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 42
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 43
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 44
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 45
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 46
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 47
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 48
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 49
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 5
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 6
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 7
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data 9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
hello
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
hello
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function n(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function a(e,s,i={}){let o;if(!e)return null;let l=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(s);if(null===l)return null;if(i.deniedSegments?.length){for(let e of l.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{o=await (0,t.realpath)(e)}catch{return null}let u=l?r.default.join(o,l):o;try{let e=await (0,t.realpath)(u),a=r.default.relative(o,e);if(n(a))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let a=r.default.dirname(e);if(a===e)break;try{let e=await (0,t.realpath)(a),s=r.default.relative(o,e);if(n(s))return null;return{relPath:l,absolutePath:u}}catch{e=a}}return null}}e.s(["resolveWorkspacePath",0,a])},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 n=e.headers.get("origin"),a=e.headers.get("referer");if(!n&&!a)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 n=new Set;for(let e of t)for(let t of["http","https"])for(let a of r)n.add(`${t}://${e}${a}`);return n}(e.headers.get("host")??"");if(n)return s.has(n)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(a){try{let{protocol:e,host:t}=new URL(a);if(s.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},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])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},973909,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function n(e,t){return r.default.join(e,".proof",t+".json")}async function a(e,r){let a=n(e,r);try{let e=await (0,t.readFile)(a,"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,a,s){let i=n(e,a);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,a,s){let i=n(e,a),o=n(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 a=n(e,r);try{await (0,t.unlink)(a)}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,a,"writeSidecar",0,s])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},265484,e=>{"use strict";var t=e.i(364564),r=e.i(102095),n=e.i(691091),a=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),f=e.i(157569),v=e.i(844146),m=e.i(193695);e.i(105888);var R=e.i(530564),w=e.i(666680),g=e.i(912714),E=e.i(750227),_=e.i(702414),x=e.i(402662),y=e.i(660038),N=e.i(536654),S=e.i(307764),k=e.i(832852),b=e.i(973909),A=e.i(794776);let I=[".proof",".git"],j=new Set(["txt","md","markdown","json","yaml","yml","toml","csv","tsv","xml","html","css","js","ts","tsx","jsx","sh","bash","zsh","rb","py","go","rs","java","c","cpp","h","php","swift","kt","lua","sql","scss","mmd","mermaid","ini","env","log","conf"]),P=new Set(["md","markdown"]);function T(e){let t=e.split(".").pop()?.toLowerCase()??"";return j.has(t)}function C(e){let t=e.split(".").pop()?.toLowerCase()??"";return P.has(t)}async function O(e){let t=await (0,y.resolveWorkspaceForUser)(e);if(!t.ok)return _.NextResponse.json({error:t.code},{status:t.status});let{rootDir:r}=t,{searchParams:n}=new URL(e.url),a=n.get("path")??"",s=await (0,N.resolveWorkspacePath)(r,a,{deniedSegments:I});if(!s)return _.NextResponse.json({error:"Invalid path"},{status:400});let i=s.absolutePath;if(!T(E.default.basename(i)))return _.NextResponse.json({error:"Not a text file"},{status:400});try{let e=await (0,g.readFile)(i);if(e.length>1048576)return _.NextResponse.json({error:"File too large (max 1MB)"},{status:413});let t=e.toString("utf-8"),n={};if(C(E.default.basename(i))){let e=await (0,b.readSidecar)(r,a);e&&(n["X-Wiki-Revision"]=String(e.revision),n["X-Wiki-Fingerprint"]=e.fingerprint)}return _.NextResponse.json({content:t},{headers:n})}catch{return _.NextResponse.json({error:"File not found"},{status:404})}}async function q(e){let t=(0,x.checkOrigin)(e);if(t)return t;let r=await (0,y.resolveWorkspaceForUser)(e,"write");if(!r.ok)return _.NextResponse.json({error:r.code},{status:r.status});let{rootDir:n}=r,a=await e.json(),s=a.path,i=a.content;if(!s||"string"!=typeof s)return _.NextResponse.json({error:"Invalid path"},{status:400});if("string"!=typeof i)return _.NextResponse.json({error:"Missing content"},{status:400});let o=await (0,N.resolveWorkspacePath)(n,s,{allowMissing:!0,deniedSegments:I});if(!o)return _.NextResponse.json({error:"Invalid path"},{status:400});let l=o.absolutePath;if(!T(E.default.basename(l)))return _.NextResponse.json({error:"Not a text file"},{status:400});if(!C(E.default.basename(l)))try{return await (0,g.mkdir)(E.default.dirname(l),{recursive:!0}),await (0,g.writeFile)(l,i,"utf-8"),_.NextResponse.json({ok:!0})}catch{return _.NextResponse.json({error:"Failed to save"},{status:500})}return(0,k.withFileMutex)((0,k.workspaceLockKey)(n,s),async()=>{let e=await (0,b.readSidecar)(n,s)??(0,b.emptySidecar)(s);if(void 0===a.baseRevision||"number"!=typeof a.baseRevision)return _.NextResponse.json({error:"BASE_REVISION_REQUIRED",message:"baseRevision is required when saving markdown files."},{status:400});if(a.baseRevision!==e.revision)return _.NextResponse.json({error:"STALE_REVISION",currentRevision:e.revision,message:"File was modified since your last read. Reload and retry."},{status:409});try{await (0,g.mkdir)(E.default.dirname(l),{recursive:!0}),await (0,g.writeFile)(l,i,"utf-8")}catch{return _.NextResponse.json({error:"Failed to save"},{status:500})}let t=e.revision+1;return e.revision=t,e.fingerprint="sha256:"+(0,w.createHash)("sha256").update(i,"utf8").digest("hex"),e.updatedAt=new Date().toISOString(),(0,S.emitEvents)(e,[{type:"file.edited",at:new Date().toISOString(),by:`user:${r.userId}`,revision:t}]),(0,S.trimEvents)(e,A.SIDECAR_EVENT_TRIM_SIZE),await (0,b.writeSidecar)(n,s,e),_.NextResponse.json({ok:!0,revision:t})})}e.s(["GET",0,O,"PUT",0,q],400832);var M=e.i(400832);let D=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/content/route",pathname:"/api/wiki/content",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/content/route.ts",nextConfigOutput:"standalone",userland:M,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:U,serverHooks:H}=D;async function W(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),D.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/wiki/content/route";w=w.replace(/\/index$/,"")||"/";let g=await D.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,params:_,nextConfig:x,parsedUrl:y,isDraftMode:N,prerenderManifest:S,routerServerContext:k,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:j,serverActionsManifest:P}=g,T=(0,o.normalizeAppPath)(w),C=!!(S.dynamicRoutes[T]||S.routes[I]),O=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,y,!1):t.end("This page could not be found"),null);if(C&&!N){let e=!!S.routes[I],t=S.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await O();throw new m.NoFallbackError}}let q=null;!C||D.isDev||N||(q="/index"===(q=I)?"/":q);let M=!0===D.isDev||!C,F=C&&!M;P&&j&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:j,serverActionsManifest:P});let U=e.method||"GET",H=(0,s.getTracer)(),W=H.getActiveScopeSpan(),$=!!(null==k?void 0:k.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await D.getIncrementalCache(e,x,S,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let K={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:x.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>D.onRequestError(e,t,n,a,k)},sharedContext:{buildId:E}},V=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>D.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${U} ${w}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!C)return await (0,p.sendResponse)(V,z,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await D.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:b})},!1,k),t}},u=await D.handleResponse({req:e,nextConfig:x,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!C)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});B||t.setHeader("x-nextjs-cache",b?"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 B&&C||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&W?await o(W):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await D.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:b})},!1,k),C)throw t;return await (0,p.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",0,W,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:U})},"routeModule",0,D,"serverHooks",0,H,"workAsyncStorage",0,F,"workUnitAsyncStorage",0,U],265484)},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)))},396690,e=>{e.v(t=>Promise.all(["server/chunks/032z_better-auth_dist_adapters_kysely-adapter_index_mjs_0.uqexi._.js"].map(t=>e.l(t))).then(()=>t(320652)))},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)))},526888,e=>{e.v(e=>Promise.resolve().then(()=>e(28962)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__04vo55d._.js.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function s(e,n,i={}){let o;if(!e)return null;let l=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(n);if(null===l)return null;if(i.deniedSegments?.length){for(let e of l.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{o=await (0,t.realpath)(e)}catch{return null}let u=l?r.default.join(o,l):o;try{let e=await (0,t.realpath)(u),s=r.default.relative(o,e);if(a(s))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let s=r.default.dirname(e);if(s===e)break;try{let e=await (0,t.realpath)(s),n=r.default.relative(o,e);if(a(n))return null;return{relPath:l,absolutePath:u}}catch{e=s}}return null}}e.s(["resolveWorkspacePath",0,s])},848475,e=>{"use strict";var t=e.i(750227);let r={".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",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227),s=e.i(536654),n=e.i(848475);async function i(e,t){if(!e)return null;let r=await (0,s.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:[".proof",".git"]});return r?.absolutePath??null}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,function(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")},"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(0,n.contentTypeForPath)(e)},"safeAbsPath",0,i,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},487018,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0);function r(e){return 1===e.length&&Array.isArray(e[0])?e[0]:e}class a{stmt;constructor(e){this.stmt=e}get reader(){return this.stmt.columns().length>0}all(...e){let t=r(e);return this.stmt.all(...t)}get(...e){let t=r(e);return this.stmt.get(...t)}run(...e){let t=r(e),a=this.stmt.run(...t);return{changes:Number(a.changes),lastInsertRowid:Number(a.lastInsertRowid)}}iterate(...e){let t=r(e);return this.stmt.iterate(...t)}}class s{db;constructor(e){this.db=new t.DatabaseSync(e),this.db.exec("PRAGMA busy_timeout = 5000"),this.db.exec("PRAGMA journal_mode = WAL")}prepare(e){return new a(this.db.prepare(e))}exec(e){this.db.exec(e)}close(){this.db.close()}pragma(e){this.db.exec(`PRAGMA ${e}`)}}e.s(["default",()=>s])},97082,e=>{"use strict";var t=e.i(487018),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,c={id:i,workspaceId:e.workspaceId,filePath:e.filePath,token:l,passwordHash:u,expiresAt:e.expiresAt??null,createdBy:e.createdBy,createdAt:new Date().toISOString(),viewCount:0,isRevoked:!1},d={...c,isRevoked:+!!c.isRevoked};return s.prepare(`INSERT INTO shared_docs
|
|
17
|
-
(id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
|
|
18
|
-
VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(d),c},"getShareByToken",0,function(e){let t=o().prepare("SELECT * FROM shared_docs WHERE token = ?").get(e);return t?l(t):null},"incrementViewCount",0,function(e){o().prepare("UPDATE shared_docs SET view_count = view_count + 1 WHERE token = ?").run(e)},"isExpired",0,function(e){return!!e.expiresAt&&new Date(e.expiresAt)<new Date},"listSharesForFile",0,function(e,t){return o().prepare("SELECT * FROM shared_docs WHERE workspace_id = ? AND file_path = ? AND is_revoked = 0 ORDER BY created_at DESC").all(e,t).map(l)},"revokeShare",0,function(e){o().prepare("UPDATE shared_docs SET is_revoked = 1 WHERE id = ?").run(e)},"verifyPassword",0,function(e,t){let[r,a]=t.split(":"),s=(0,n.scryptSync)(e,r,64),i=Buffer.from(a,"hex");return s.length===i.length&&(0,n.timingSafeEqual)(s,i)}])},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},517387,e=>{"use strict";var t=e.i(794776);let r=new Map;e.s(["checkAndConsume",0,function(e,a=1){let s=Date.now(),n=t.OPS_PER_MINUTE,i=r.get(e);i||(i={tokens:n,lastRefill:s},r.set(e,i));let o=Math.floor((s-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(n,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<a)?{ok:!1,retryAfterMs:Math.max(1,1e3*(a-i.tokens)-(s-i.lastRefill))}:(i.tokens-=a,{ok:!0})}])},211451,63467,e=>{"use strict";var t=e.i(702414),r=e.i(912714),a=e.i(97082),s=e.i(359211),n=e.i(719126);async function i(e){let i,o=(0,a.getShareByToken)(e);if(!o)return{ok:!1,response:t.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(o.isRevoked)return{ok:!1,response:t.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,a.isExpired)(o))return{ok:!1,response:t.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let l=await (0,s.getWorkspace)(o.workspaceId);if(!l)return{ok:!1,response:t.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let u=await (0,n.safeAbsPath)(l.rootDir,o.filePath);if(!u)return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};try{i=await (0,r.stat)(u)}catch{return{ok:!1,response:t.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}if(i.isDirectory())return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Directories cannot be shared"},{status:400})};let c=o.filePath.split("/").pop()??o.filePath;return{ok:!0,target:{share:o,absPath:u,filename:c}}}e.s(["resolveShareTarget",0,i],211451);var o=e.i(666680);function l(e){let t=(0,o.createHash)("sha256").update(e).digest("hex").slice(0,24);return`wv_share_${t}`}function u(e,t){let r=`${e.e}|${e.t}`;return(0,o.createHmac)("sha256",t).update(r).digest("hex")}e.s(["inlineContentDisposition",0,function(e){let t=e.replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`inline; filename="${t}"`},"isUnlocked",0,function(e,t,r){let a=function(e,t){let r=e.headers.get("cookie")??"",a=l(t);for(let e of r.split(";")){let t=e.indexOf("=");if(!(t<=0)&&e.slice(0,t).trim()===a)return e.slice(t+1).trim()}}(e,t);return!!a&&function(e,t,r){let a,s=t.indexOf(".");if(-1===s)return!1;let n=t.slice(0,s),i=t.slice(s+1);try{a=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{return!1}if(a.t!==e||"number"!=typeof a.e||a.e<=Date.now())return!1;let l=u(a,r),c=Buffer.from(l,"hex"),d=Buffer.from(i,"hex");return c.length===d.length&&(0,o.timingSafeEqual)(c,d)}(t,a,r)},"serializeUnlockCookie",0,function(e,t,r){let a,s,n,{name:i,value:o}=(s=u(a={t:t,e:Date.now()+9e5},r),n=`${Buffer.from(JSON.stringify(a)).toString("base64url")}.${s}`,{name:l(t),value:n}),c=new URL(e.url),d=[`${i}=${o}`,"HttpOnly","SameSite=Strict",`Path=${c.pathname}`,"Max-Age=900"];return"https:"===c.protocol&&d.push("Secure"),d.join("; ")}],63467)},689746,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),m=e.i(844146),g=e.i(193695);e.i(105888);var x=e.i(530564),v=e.i(702414),w=e.i(912714),R=e.i(517387),E=e.i(719126),k=e.i(211451),_=e.i(63467),y=e.i(97082);async function T(e,{params:t}){let r,{token:a}=await t,s=(0,R.checkAndConsume)(`share-asset:${a}`,1);if(!s.ok)return v.NextResponse.json({error:"rate_limited"},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let n=await (0,k.resolveShareTarget)(a);if(!n.ok)return n.response;let{share:i,absPath:o,filename:l}=n.target;if(i.passwordHash&&!(0,_.isUnlocked)(e,a,i.passwordHash))return v.NextResponse.json({error:"unauthorized",message:"Unlock required"},{status:401,headers:{"Cache-Control":"private, no-store"}});try{r=await (0,w.stat)(o)}catch{return v.NextResponse.json({error:"file_gone"},{status:410,headers:{"Cache-Control":"private, no-store"}})}if(r.size>0xa00000)return v.NextResponse.json({error:"too_large"},{status:413,headers:{"Cache-Control":"private, no-store"}});let u=await (0,w.readFile)(o),c=(0,E.mimeByExt)(o);(0,y.incrementViewCount)(a);let d=!!i.passwordHash;return new v.NextResponse(u,{headers:{"Content-Type":c,"Content-Disposition":(0,_.inlineContentDisposition)(l),"Cache-Control":d?"private, no-store":"public, max-age=300"}})}e.s(["GET",0,T],484926);var A=e.i(484926);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/share/[token]/asset/route",pathname:"/api/share/[token]/asset",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/share/[token]/asset/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:C,serverHooks:b}=N;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/[token]/asset/route";v=v.replace(/\/index$/,"")||"/";let w=await N.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:E,nextConfig:k,parsedUrl:_,isDraftMode:y,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:S,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:P,serverActionsManifest:I}=w,O=(0,o.normalizeAppPath)(v),D=!!(T.dynamicRoutes[O]||T.routes[b]),M=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,_,!1):t.end("This page could not be found"),null);if(D&&!y){let e=!!T.routes[b],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new g.NoFallbackError}}let j=null;!D||N.isDev||y||(j="/index"===(j=b)?"/":j);let U=!0===N.isDev||!D,H=D&&!U;I&&P&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:I});let L=e.method||"GET",B=(0,n.getTracer)(),q=B.getActiveScopeSpan(),$=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,s.getRequestMeta)(e,"minimalMode"),W=(0,s.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,k,T,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>N.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>N.handle(K,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&S&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,G,n,X.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:x.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:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,A),t}},u=await N.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&q?await o(q):(s=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof g.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,A),D)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:C})},"routeModule",0,N,"serverHooks",0,b,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,C],689746)},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0_g-.kr._.js.map
|
|
@@ -1,20 +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"))},256294,296555,e=>{"use strict";let t;var r=e.i(874533),s=e.i(812057),a=e.i(912714),n=e.i(750227),i=e.i(660526);e.i(902157);let o=RegExp("[;|&$`<>(){}\\n\\r\\0]");function l(e){let{target:t,mountpoint:r,port:s}=e,a=t.user?`${t.user}@`:"",n=[`${a}${t.host}:${t.remotePath}`,r];s&&Number.isInteger(Number(s))&&Number(s)>0&&65536>Number(s)&&n.push("-p",String(s));let i=e.authMethod??"agent";!e.authMethod&&(null!=e.password?i="password":e.keyPath&&(i="keyfile"));let o=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(e.readOnly&&o.push("ro"),"keyfile"===i&&e.keyPath&&(o.push(`IdentityFile=${e.keyPath}`),o.push("IdentitiesOnly=yes")),"password"===i){let e=o.indexOf("BatchMode=yes");e>=0&&o.splice(e,1),o.push("password_stdin"),o.push("PreferredAuthentications=password,keyboard-interactive"),o.push("PubkeyAuthentication=no"),o.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&o.push(...e.extraOptions),n.push("-o",o.join(",")),n}e.s(["buildSshfsArgs",0,l,"isValidKeyPath",0,function(e){return!(!e||o.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"parseSshTarget",0,function(e){let t;if(!e||o.test(e))return null;let r=e.trim(),s=r.indexOf(":");if(s<=0)return null;let a=r.slice(0,s),n=r.slice(s+1);if(!n.startsWith("/")||n.includes(".."))return null;let i=a,l=a.indexOf("@");return l>=0&&(t=a.slice(0,l),i=a.slice(l+1),!t)?null:i&&/^[a-zA-Z0-9.\-]+$/.test(i)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:i,remotePath:n}:null}],296555);let u=(0,s.promisify)(r.execFile);function c(){return n.default.join(i.default.homedir(),".wiki-viewer","mounts")}async function d(){if(!0!==t)try{await u("sshfs",["--version"]),t=!0}catch{throw Error("sshfs binary not found. Install sshfs + FUSE (e.g. `apt install sshfs`, `brew install macfuse sshfs`) and ensure it is on PATH.")}}async function p(t){var r;let s=n.default.resolve(t),i=!1;try{i=(await (0,a.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===s&&/fuse/.test(t[2]??"")})}catch{i=!1}return!!i&&(r=s,new Promise(t=>{let s=!1,a=setTimeout(()=>{s||(s=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(r)).then(()=>{s||(s=!0,clearTimeout(a),t(!0))}).catch(()=>{s||(s=!0,clearTimeout(a),t(!1))})}))}async function h(e){await d(),await (0,a.mkdir)(e.mountpoint,{recursive:!0});let t=l(e);if(await new Promise((s,a)=>{let n=(0,r.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),i="",o=setTimeout(()=>{n.kill("SIGKILL"),a(Error("sshfs mount timed out after 25s."))},25e3);n.stderr?.on("data",e=>{i+=e.toString()}),n.on("error",e=>{clearTimeout(o),a(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),n.on("close",e=>{clearTimeout(o),0===e?s():a(Error(`sshfs exited ${e}: ${i.trim()||"mount failed"}`))}),"password"===e.authMethod&&n.stdin?.write((e.password??"")+"\n"),n.stdin?.end()}),!await p(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function f(e){let t=n.default.resolve(e);for(let[e,r]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await u(e,r);break}catch{}try{await (0,a.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,d,"isMounted",0,p,"mountSshfs",0,h,"mountpointFor",0,function(e){return n.default.join(c(),e)},"mountsDir",0,c,"unmountSshfs",0,f],256294)},536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function s(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function a(e,n,i={}){let o;if(!e)return null;let l=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(n);if(null===l)return null;if(i.deniedSegments?.length){for(let e of l.split("/").filter(Boolean))if(i.deniedSegments.includes(e))return null}try{o=await (0,t.realpath)(e)}catch{return null}let u=l?r.default.join(o,l):o;try{let e=await (0,t.realpath)(u),a=r.default.relative(o,e);if(s(a))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let a=r.default.dirname(e);if(a===e)break;try{let e=await (0,t.realpath)(a),n=r.default.relative(o,e);if(s(n))return null;return{relPath:l,absolutePath:u}}catch{e=a}}return null}}e.s(["resolveWorkspacePath",0,a])},402662,e=>{"use strict";var t=e.i(702414);e.s(["checkOrigin",0,function(e){let r=e.method.toUpperCase();if("GET"===r||"HEAD"===r||"OPTIONS"===r)return null;let s=e.headers.get("origin"),a=e.headers.get("referer");if(!s&&!a)return null;let n=function(e){let t=Array.from(new Set(["localhost","127.0.0.1",e.split(":")[0],...(process.env.WIKI_OWNER_HOSTS??"").split(",").map(e=>e.trim()).filter(Boolean)])),r=["",":3000",":3003"];e.includes(":")&&r.push(":"+e.split(":")[1]);let s=new Set;for(let e of t)for(let t of["http","https"])for(let a of r)s.add(`${t}://${e}${a}`);return s}(e.headers.get("host")??"");if(s)return n.has(s)?null:t.NextResponse.json({error:"FORBIDDEN",message:"Bad origin"},{status:403});if(a){try{let{protocol:e,host:t}=new URL(a);if(n.has(`${e}//${t}`))return null}catch{}return t.NextResponse.json({error:"FORBIDDEN",message:"Bad referer"},{status:403})}return null}])},848475,e=>{"use strict";var t=e.i(750227);let r={".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",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),s=e.i(750227),a=e.i(536654),n=e.i(848475);async function i(e,t){if(!e)return null;let r=await (0,a.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:[".proof",".git"]});return r?.absolutePath??null}async function o(e,t){let s=420;try{let t=await (0,r.stat)(e);s=511&t.mode}catch{}let a=e+".~"+process.pid+"."+Date.now()+".tmp",n=await (0,r.open)(a,"w",s);try{await n.write(t),await n.datasync()}finally{await n.close()}await (0,r.rename)(a,e)}async function l(e,t){let a=s.default.dirname(e);if(t)return await (0,r.mkdir)(a,{recursive:!0}),!0;try{return await (0,r.stat)(a),!0}catch{return!1}}e.s(["atomicWrite",0,o,"ensureParentDir",0,l,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,function(e){let t=e.replace(/\\/g,"/");return".proof"===t||t.startsWith(".proof/")||".git"===t||t.startsWith(".git/")},"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(0,n.contentTypeForPath)(e)},"safeAbsPath",0,i,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},487018,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0);function r(e){return 1===e.length&&Array.isArray(e[0])?e[0]:e}class s{stmt;constructor(e){this.stmt=e}get reader(){return this.stmt.columns().length>0}all(...e){let t=r(e);return this.stmt.all(...t)}get(...e){let t=r(e);return this.stmt.get(...t)}run(...e){let t=r(e),s=this.stmt.run(...t);return{changes:Number(s.changes),lastInsertRowid:Number(s.lastInsertRowid)}}iterate(...e){let t=r(e);return this.stmt.iterate(...t)}}class a{db;constructor(e){this.db=new t.DatabaseSync(e),this.db.exec("PRAGMA busy_timeout = 5000"),this.db.exec("PRAGMA journal_mode = WAL")}prepare(e){return new s(this.db.prepare(e))}exec(e){this.db.exec(e)}close(){this.db.close()}pragma(e){this.db.exec(`PRAGMA ${e}`)}}e.s(["default",()=>a])},97082,e=>{"use strict";var t=e.i(487018),r=e.i(750227),s=e.i(660526),a=e.i(902157),n=e.i(666680);let i=null;function o(){if(i)return i;let e=r.default.join(process.env.HOME??s.default.homedir(),".wiki-viewer");return(0,a.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,s,a=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"),s=(0,n.scryptSync)(t,r,64).toString("hex"),`${r}:${s}`):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 a.prepare(`INSERT INTO shared_docs
|
|
17
|
-
(id, workspace_id, file_path, token, password_hash, expires_at, created_by, created_at, view_count, is_revoked)
|
|
18
|
-
VALUES (@id, @workspaceId, @filePath, @token, @passwordHash, @expiresAt, @createdBy, @createdAt, @viewCount, @isRevoked)`).run(d),c},"getShareByToken",0,function(e){let t=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,s]=t.split(":"),a=(0,n.scryptSync)(e,r,64),i=Buffer.from(s,"hex");return a.length===i.length&&(0,n.timingSafeEqual)(a,i)}])},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},517387,e=>{"use strict";var t=e.i(794776);let r=new Map;e.s(["checkAndConsume",0,function(e,s=1){let a=Date.now(),n=t.OPS_PER_MINUTE,i=r.get(e);i||(i={tokens:n,lastRefill:a},r.set(e,i));let o=Math.floor((a-i.lastRefill)/1e3);return(o>0&&(i.tokens=Math.min(n,i.tokens+o),i.lastRefill=i.lastRefill+1e3*o),i.tokens<s)?{ok:!1,retryAfterMs:Math.max(1,1e3*(s-i.tokens)-(a-i.lastRefill))}:(i.tokens-=s,{ok:!0})}])},211451,63467,e=>{"use strict";var t=e.i(702414),r=e.i(912714),s=e.i(97082),a=e.i(359211),n=e.i(719126);async function i(e){let i,o=(0,s.getShareByToken)(e);if(!o)return{ok:!1,response:t.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404})};if(o.isRevoked)return{ok:!1,response:t.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410})};if((0,s.isExpired)(o))return{ok:!1,response:t.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410})};let l=await (0,a.getWorkspace)(o.workspaceId);if(!l)return{ok:!1,response:t.NextResponse.json({error:"workspace_gone",message:"Workspace no longer exists"},{status:410})};let u=await (0,n.safeAbsPath)(l.rootDir,o.filePath);if(!u)return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Invalid file path"},{status:400})};try{i=await (0,r.stat)(u)}catch{return{ok:!1,response:t.NextResponse.json({error:"file_gone",message:"File no longer exists"},{status:410})}}if(i.isDirectory())return{ok:!1,response:t.NextResponse.json({error:"path_invalid",message:"Directories cannot be shared"},{status:400})};let c=o.filePath.split("/").pop()??o.filePath;return{ok:!0,target:{share:o,absPath:u,filename:c}}}e.s(["resolveShareTarget",0,i],211451);var o=e.i(666680);function l(e){let t=(0,o.createHash)("sha256").update(e).digest("hex").slice(0,24);return`wv_share_${t}`}function u(e,t){let r=`${e.e}|${e.t}`;return(0,o.createHmac)("sha256",t).update(r).digest("hex")}e.s(["inlineContentDisposition",0,function(e){let t=e.replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`inline; filename="${t}"`},"isUnlocked",0,function(e,t,r){let s=function(e,t){let r=e.headers.get("cookie")??"",s=l(t);for(let e of r.split(";")){let t=e.indexOf("=");if(!(t<=0)&&e.slice(0,t).trim()===s)return e.slice(t+1).trim()}}(e,t);return!!s&&function(e,t,r){let s,a=t.indexOf(".");if(-1===a)return!1;let n=t.slice(0,a),i=t.slice(a+1);try{s=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{return!1}if(s.t!==e||"number"!=typeof s.e||s.e<=Date.now())return!1;let l=u(s,r),c=Buffer.from(l,"hex"),d=Buffer.from(i,"hex");return c.length===d.length&&(0,o.timingSafeEqual)(c,d)}(t,s,r)},"serializeUnlockCookie",0,function(e,t,r){let s,a,n,{name:i,value:o}=(a=u(s={t:t,e:Date.now()+9e5},r),n=`${Buffer.from(JSON.stringify(s)).toString("base64url")}.${a}`,{name:l(t),value:n}),c=new URL(e.url),d=[`${i}=${o}`,"HttpOnly","SameSite=Strict",`Path=${c.pathname}`,"Max-Age=900"];return"https:"===c.protocol&&d.push("Secure"),d.join("; ")}],63467)},687458,e=>{"use strict";var t=e.i(364564),r=e.i(102095),s=e.i(691091),a=e.i(475331),n=e.i(490301),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(702414),x=e.i(402662),_=e.i(254226),k=e.i(517387),y=e.i(97082),R=e.i(211451),E=e.i(63467);let T={"Cache-Control":"private, no-store"};async function N(t){let{readFile:r,stat:s}=await e.A(687903);try{if((await s(t)).size>1048576)return null;return(await r(t)).toString("utf-8")}catch(e){return console.error("[share] readFile(%s) %s",t,e instanceof Error?e.message:String(e)),null}}async function S(e,{params:t}){let{token:r}=await t,s=(0,k.checkAndConsume)(`share:${r}`,1);if(!s.ok)return v.NextResponse.json({error:"rate_limited",message:"Too many requests"},{status:429,headers:{"Retry-After":String(Math.ceil(s.retryAfterMs/1e3))}});let a=(0,y.getShareByToken)(r);if(!a)return v.NextResponse.json({error:"not_found",message:"Share link not found"},{status:404,headers:T});if(a.isRevoked)return v.NextResponse.json({error:"revoked",message:"Share link has been revoked"},{status:410,headers:T});if((0,y.isExpired)(a))return v.NextResponse.json({error:"expired",message:"Share link has expired"},{status:410,headers:T});if(a.passwordHash&&!(0,E.isUnlocked)(e,r,a.passwordHash))return v.NextResponse.json({protected:!0,message:"This document is password-protected"},{status:401,headers:T});let n=await (0,R.resolveShareTarget)(r);if(!n.ok)return n.response;let i=await N(n.target.absPath);return null===i?v.NextResponse.json({error:"read_error",message:"Failed to read file"},{status:500,headers:T}):((0,y.incrementViewCount)(r),v.NextResponse.json({content:i,filename:n.target.filename,filePath:n.target.share.filePath,viewCount:n.target.share.viewCount+1},{headers:a.passwordHash?T:void 0}))}async function A(e,{params:t}){let{token:r}=await t,s=(0,y.getShareByToken)(r);if(!s)return v.NextResponse.json({error:"not_found"},{status:404});if(s.isRevoked)return v.NextResponse.json({error:"revoked"},{status:410});if((0,y.isExpired)(s))return v.NextResponse.json({error:"expired"},{status:410});if(!s.passwordHash)return v.NextResponse.json({error:"not_protected"},{status:400});let a=(0,k.checkAndConsume)(`share-pwd:${r}`,1);if(!a.ok)return v.NextResponse.json({error:"rate_limited",message:"Too many attempts. Try again later."},{status:429,headers:{"Retry-After":String(Math.ceil(a.retryAfterMs/1e3))}});let n=await e.json();if(!n.password||"string"!=typeof n.password)return v.NextResponse.json({error:"missing_password"},{status:400});if(!(0,y.verifyPassword)(n.password,s.passwordHash))return v.NextResponse.json({error:"wrong_password",message:"Incorrect password"},{status:403,headers:T});let i=await (0,R.resolveShareTarget)(r);if(!i.ok)return i.response;let o=await N(i.target.absPath);if(null===o)return v.NextResponse.json({error:"read_error",message:"Failed to read file"},{status:500,headers:T});(0,y.incrementViewCount)(r);let l=(0,E.serializeUnlockCookie)(e,r,s.passwordHash);return v.NextResponse.json({content:o,filename:i.target.filename,filePath:i.target.share.filePath,viewCount:i.target.share.viewCount+1},{headers:{...T,"Set-Cookie":l}})}async function P(t,{params:r}){let{token:s}=await r,a=(0,x.checkOrigin)(t);if(a)return a;let n=await (0,_.requireUser)(t);if(!n.ok)return v.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let i=(0,y.getShareByToken)(s);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,y.revokeShare)(i.id),v.NextResponse.json({ok:!0})}e.s(["DELETE",0,P,"GET",0,S,"POST",0,A],998553);var b=e.i(998553);let j=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:O,serverHooks:I}=j;async function D(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),j.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/share/[token]/route";v=v.replace(/\/index$/,"")||"/";let x=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:_,params:k,nextConfig:y,parsedUrl:R,isDraftMode:E,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:b,serverActionsManifest:C}=x,O=(0,o.normalizeAppPath)(v),I=!!(T.dynamicRoutes[O]||T.routes[P]),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,R,!1):t.end("This page could not be found"),null);if(I&&!E){let e=!!T.routes[P],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await D();throw new g.NoFallbackError}}let M=null;!I||j.isDev||E||(M="/index"===(M=P)?"/":M);let U=!0===j.isDev||!I,H=I&&!U;C&&b&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:b,serverActionsManifest:C});let B=e.method||"GET",$=(0,n.getTracer)(),q=$.getActiveScopeSpan(),L=!!(null==N?void 0:N.isWrappedByNextServer),F=!!(0,a.getRequestMeta)(e,"minimalMode"),W=(0,a.getRequestMeta)(e,"incrementalCache")||await j.getIncrementalCache(e,y,T,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let z={params:k,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:y.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>j.onRequestError(e,t,s,a,N)},sharedContext:{buildId:_}},X=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>j.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")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${B} ${v}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&S&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(X,K,n,z.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,s=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,N),t}},u=await j.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:F});if(!I)return null;if((null==u||null==(n=u.value)?void 0:n.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});F||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&I||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)(X,K,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};L&&q?await o(q):(a=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${B} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof g.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,N),I)throw t;return await (0,p.sendResponse)(X,K,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:O})},"routeModule",0,j,"serverHooks",0,I,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,O],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)))},396690,e=>{e.v(t=>Promise.all(["server/chunks/032z_better-auth_dist_adapters_kysely-adapter_index_mjs_0.uqexi._.js"].map(t=>e.l(t))).then(()=>t(320652)))},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)))},526888,e=>{e.v(e=>Promise.resolve().then(()=>e(28962)))},893412,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js"].map(t=>e.l(t))).then(()=>t(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},919623,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_auth_admin_ts_0g4i6v_._.js"].map(t=>e.l(t))).then(()=>t(583627)))}];
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0bpv09n._.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)},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 g(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 m(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 v(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,g,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,m,"updateLastSeen",0,v])},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>`}])},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])},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})}])},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)}])},323588,e=>{"use strict";e.s(["apiUrl",0,function(e){if(!e.startsWith("/"))return e;let t=process.env.WIKI_URL_PREFIX??"";return!t||e.startsWith(t+"/")||e===t?e:t+e}])},400053,e=>{"use strict";var t=e.i(973909),n=e.i(889264),s=e.i(323588);async function r(e,r){if(!(r.endsWith(".md")||r.endsWith(".markdown")))return{state:"not-markdown",revision:0,snapshotUrl:null};let a=(0,s.apiUrl)(`/api/agent/files/${r}`),i=await (0,t.readSidecar)(e,r),o=(0,n.leaseGeneration)(e,r),l=(i?.revision??0)+o,u=(0,n.hasActiveLease)(e,r);if(!i&&!u)return{state:"untracked",revision:l,snapshotUrl:a};if(u)return{state:"active",revision:l,snapshotUrl:a};let c=i.suggestions.filter(e=>"pending"===e.status&&!e.stale).length,d=i.comments.filter(e=>!e.resolved).length,p=Object.keys(i.blockProvenance??{}).length;return c>0||d>0||p>0?{state:"active",revision:l,snapshotUrl:a}:{state:"tracked",revision:l,snapshotUrl:a}}e.s(["computeCollabState",0,r])},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)))},396690,e=>{e.v(t=>Promise.all(["server/chunks/032z_better-auth_dist_adapters_kysely-adapter_index_mjs_0.uqexi._.js"].map(t=>e.l(t))).then(()=>t(320652)))},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)))},526888,e=>{e.v(e=>Promise.resolve().then(()=>e(28962)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0e1kbl7._.js.map
|