wiki-viewer 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/routes-manifest.json +8 -2
  7. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js +5 -5
  25. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/wiki/hosted-apps/[slug]/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/wiki/hosted-apps/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/wiki/preview-token/route/app-paths-manifest.json +3 -0
  57. package/.next/standalone/.next/server/app/api/wiki/preview-token/route/build-manifest.json +9 -0
  58. package/.next/standalone/.next/server/app/api/wiki/preview-token/route/server-reference-manifest.json +4 -0
  59. package/.next/standalone/.next/server/app/api/wiki/preview-token/route.js +16 -0
  60. package/.next/standalone/.next/server/app/api/wiki/preview-token/route.js.map +5 -0
  61. package/.next/standalone/.next/server/app/api/wiki/preview-token/route.js.nft.json +1 -0
  62. package/.next/standalone/.next/server/app/api/wiki/preview-token/route_client-reference-manifest.js +3 -0
  63. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/wiki/scratch/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/app/[slug]/[[...rest]]/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  73. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01aj28~._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/[root-of-the-server]__034zu-9._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_2j7pq._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_yp6y3._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b1c__~._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0brb3j9._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ivbizg._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j3mjvx._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0k2nouu._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0puvgme._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u7wq9p._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ul.gyt._.js +1 -1
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wcg8qs._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wwl3h1._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yzumg-._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10i6erq._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12g8s_j._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_preview-token_route_actions_0qy7g8h.js +3 -0
  91. package/.next/standalone/.next/server/chunks/src_lib_auth_api-key_ts_0t_ma-t._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/_0d28.zp._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/_0e1uo~z._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/_0k6g8yo._.js +3 -3
  95. package/.next/standalone/.next/server/functions-config-manifest.json +1 -0
  96. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  97. package/.next/standalone/.next/server/pages/500.html +1 -1
  98. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  100. package/.next/standalone/.next/static/chunks/{10g31imtogo50.js → 05cs75jhm80il.js} +3 -3
  101. package/.next/standalone/.next/static/chunks/{065s1_n.1k11t.js → 0_7f_-q0ts6hi.js} +1 -1
  102. package/.next/standalone/.next/static/chunks/{0f8kfd9d6kq0b.js → 0dbqnlb6493qs.js} +1 -1
  103. package/.next/standalone/next.config.ts +8 -4
  104. package/.next/standalone/package.json +1 -1
  105. package/.next/standalone/server.js +1 -1
  106. package/package.json +1 -1
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ltsov-._.js +0 -3
  108. /package/.next/standalone/.next/static/{mrSrqLgdAMIe7NGggoXtb → RC2yGgJpI7BPjsVect9PK}/_buildManifest.js +0 -0
  109. /package/.next/standalone/.next/static/{mrSrqLgdAMIe7NGggoXtb → RC2yGgJpI7BPjsVect9PK}/_clientMiddlewareManifest.js +0 -0
  110. /package/.next/standalone/.next/static/{mrSrqLgdAMIe7NGggoXtb → RC2yGgJpI7BPjsVect9PK}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(660526),a=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function u(){return a.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function f(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function p(e){let r=await c();if(!r)return null;let n=d(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function g(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await f(t)})}async function w(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await f(t),!0)})}async function v(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await f(t))})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,g,"lookupAgentByToken",0,p,"readRegistry",0,c,"removeAgent",0,w,"updateLastSeen",0,v])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var n=e.i(254226);async function a(e){let r=await (0,n.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,a,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var n=e.i(857764);e.s(["urlToPath",()=>n.fileURLToPath],316552)},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},973909,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function i(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function o(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function l(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),i=0;for(;i<s.length&&i<n.suffix.length&&s[i]===n.suffix[i];)i+=1;a+=i}return a}function u(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],i=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<i&&(s=e,i=t)}let o=t.filter(e=>Math.abs(e-r)===i);if(1===o.length){let r=t.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let u=o.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s),d=u.filter(e=>e.s===u[0].s);return d.length>1?{at:d[0].h,ambiguous:!0}:{at:u[0].h,ambiguous:!0}}function d(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=c(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=o(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=u(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=c(e,t.ref,r);if(a){let r=o(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=u(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,i=0;for(let e of r)for(let r of o(e.markdown,t.quote))1===(i+=1)&&(s={block:e,at:r});return 1===i&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:i>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function c(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function f(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},o=new Set(Object.keys(n)),l=new Map(t.map(e=>[e.ref,e])),u=t=>l.get(t)??l.get(e.refAliases?.[t]??""),d=!1,c=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(d=!0,e.textAnchor){let t=u(e.ref??""),i={id:a(o),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,i.offset,i.length);i.prefix=e.prefix,i.suffix=e.suffix}return n[i.id]=i,{...e,anchorId:i.id}}let t=u(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let l=i(t.markdown,t.ref,r,o);return n[l.id]=l,{...e,anchorId:l.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:c,updatedAt:r},changed:d}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:i}=f(s,n);return i}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function g(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let i=s+".tmp";await (0,t.writeFile)(i,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(i,s)}async function m(e,n,a){let s=h(e,n),i=h(e,a);try{await (0,t.mkdir)(r.default.dirname(i),{recursive:!0}),await (0,t.rename)(s,i)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,i,"anchorForRange",0,function(e,t,r,n,i,o){let{prefix:l,suffix:u}=s(e,r,n);return{id:a(o),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:l,suffix:u,createdAt:i,updatedAt:i}},"migrateSidecar",0,f,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=d(e,a,r),i=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...i?{blockMarkdown:i.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,d],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,m,"readSidecar",0,p,"writeSidecar",0,g],973909)},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},478097,e=>{"use strict";var t=e.i(985426),r=e.i(257574),n=e.i(507835),a=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),f=e.i(725836),h=e.i(532736),p=e.i(257858),g=e.i(487476),m=e.i(193695);e.i(484264);var w=e.i(315709),v=e.i(912714),x=e.i(351216),R=e.i(215043),k=e.i(206536),A=e.i(973909),E=e.i(832852),_=e.i(660038),y=e.i(359211);async function N(e,{params:t}){let r=await (0,R.checkAuth)(e);if(!r.ok)return x.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{path:n}=await t,a=n.join("/");if(n.some(e=>".proof"===e))return x.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});let s=await (0,_.resolveWorkspaceForAgent)(e);if(!s.ok)return x.NextResponse.json({error:s.code},{status:s.status});let{ws:i,rootDir:o}=s,l=(0,y.safeWorkspacePath)(o,a);if(!l)return x.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let u=(0,R.enforceScope)(r.agent,{filePath:a,op:"read",workspaceId:i.id});if(!u.ok)return x.NextResponse.json({error:u.code,message:u.message},{status:403});let d=await (0,A.readSidecar)(o,a)??(0,A.emptySidecar)(a);return a.endsWith(".md")||a.endsWith(".markdown")||await (0,E.withFileMutex)((0,E.workspaceLockKey)(o,a),async()=>{try{let e=await (0,v.readFile)(l,"utf-8");await (0,k.reconcileTextCommentAnchors)(o,a,e,d)}catch(e){if("ENOENT"!==e.code)throw e}}),x.NextResponse.json(d)}e.s(["GET",0,N,"runtime",0,"nodejs"],206380);var I=e.i(206380);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/sidecar/[...path]/route",pathname:"/api/agent/sidecar/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/sidecar/[...path]/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:b}=S;async function P(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/sidecar/[...path]/route";v=v.replace(/\/index$/,"")||"/";let x=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:A,parsedUrl:E,isDraftMode:_,prerenderManifest:y,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:b,serverActionsManifest:P}=x,q=(0,o.normalizeAppPath)(v),C=!!(y.dynamicRoutes[q]||y.routes[T]),M=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(C&&!_){let e=!!y.routes[T],t=y.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await M();throw new m.NoFallbackError}}let j=null;!C||S.isDev||_||(j="/index"===(j=T)?"/":j);let D=!0===S.isDev||!C,U=C&&!D;P&&b&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:b,serverActionsManifest:P});let H=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,y,V);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:k,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,N)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>S.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${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(`${H} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!V&&I&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!C)return await (0,f.sendResponse)(W,G,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),t}},u=await S.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:V});if(!C)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return V&&C||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,p.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(W,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),C)throw t;return await (0,f.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})},"routeModule",0,S,"serverHooks",0,b,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,T],478097)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(660526),a=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function u(){return a.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function f(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function p(e){let r=await c();if(!r)return null;let n=d(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function g(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await f(t)})}async function w(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await f(t),!0)})}async function v(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await f(t))}).catch(()=>{})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,g,"lookupAgentByToken",0,p,"readRegistry",0,c,"removeAgent",0,w,"updateLastSeen",0,v])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var n=e.i(254226);async function a(e){let r=await (0,n.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,a,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var n=e.i(857764);e.s(["urlToPath",()=>n.fileURLToPath],316552)},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},973909,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function i(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function o(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function l(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),i=0;for(;i<s.length&&i<n.suffix.length&&s[i]===n.suffix[i];)i+=1;a+=i}return a}function u(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],i=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<i&&(s=e,i=t)}let o=t.filter(e=>Math.abs(e-r)===i);if(1===o.length){let r=t.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let u=o.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s),d=u.filter(e=>e.s===u[0].s);return d.length>1?{at:d[0].h,ambiguous:!0}:{at:u[0].h,ambiguous:!0}}function d(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=c(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=o(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=u(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=c(e,t.ref,r);if(a){let r=o(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=u(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,i=0;for(let e of r)for(let r of o(e.markdown,t.quote))1===(i+=1)&&(s={block:e,at:r});return 1===i&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:i>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function c(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function f(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},o=new Set(Object.keys(n)),l=new Map(t.map(e=>[e.ref,e])),u=t=>l.get(t)??l.get(e.refAliases?.[t]??""),d=!1,c=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(d=!0,e.textAnchor){let t=u(e.ref??""),i={id:a(o),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,i.offset,i.length);i.prefix=e.prefix,i.suffix=e.suffix}return n[i.id]=i,{...e,anchorId:i.id}}let t=u(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let l=i(t.markdown,t.ref,r,o);return n[l.id]=l,{...e,anchorId:l.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:c,updatedAt:r},changed:d}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:i}=f(s,n);return i}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function g(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let i=s+".tmp";await (0,t.writeFile)(i,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(i,s)}async function m(e,n,a){let s=h(e,n),i=h(e,a);try{await (0,t.mkdir)(r.default.dirname(i),{recursive:!0}),await (0,t.rename)(s,i)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,i,"anchorForRange",0,function(e,t,r,n,i,o){let{prefix:l,suffix:u}=s(e,r,n);return{id:a(o),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:l,suffix:u,createdAt:i,updatedAt:i}},"migrateSidecar",0,f,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=d(e,a,r),i=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...i?{blockMarkdown:i.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,d],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,m,"readSidecar",0,p,"writeSidecar",0,g],973909)},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},478097,e=>{"use strict";var t=e.i(985426),r=e.i(257574),n=e.i(507835),a=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),f=e.i(725836),h=e.i(532736),p=e.i(257858),g=e.i(487476),m=e.i(193695);e.i(484264);var w=e.i(315709),v=e.i(912714),x=e.i(351216),R=e.i(215043),k=e.i(206536),A=e.i(973909),E=e.i(832852),_=e.i(660038),y=e.i(359211);async function N(e,{params:t}){let r=await (0,R.checkAuth)(e);if(!r.ok)return x.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let{path:n}=await t,a=n.join("/");if(n.some(e=>".proof"===e))return x.NextResponse.json({error:"INVALID_PATH",message:"Path must not be under .proof"},{status:400});let s=await (0,_.resolveWorkspaceForAgent)(e);if(!s.ok)return x.NextResponse.json({error:s.code},{status:s.status});let{ws:i,rootDir:o}=s,l=(0,y.safeWorkspacePath)(o,a);if(!l)return x.NextResponse.json({error:"INVALID_PATH",message:"Path traversal rejected"},{status:400});let u=(0,R.enforceScope)(r.agent,{filePath:a,op:"read",workspaceId:i.id});if(!u.ok)return x.NextResponse.json({error:u.code,message:u.message},{status:403});let d=await (0,A.readSidecar)(o,a)??(0,A.emptySidecar)(a);return a.endsWith(".md")||a.endsWith(".markdown")||await (0,E.withFileMutex)((0,E.workspaceLockKey)(o,a),async()=>{try{let e=await (0,v.readFile)(l,"utf-8");await (0,k.reconcileTextCommentAnchors)(o,a,e,d)}catch(e){if("ENOENT"!==e.code)throw e}}),x.NextResponse.json(d)}e.s(["GET",0,N,"runtime",0,"nodejs"],206380);var I=e.i(206380);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/sidecar/[...path]/route",pathname:"/api/agent/sidecar/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/sidecar/[...path]/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:b}=S;async function P(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/agent/sidecar/[...path]/route";v=v.replace(/\/index$/,"")||"/";let x=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:A,parsedUrl:E,isDraftMode:_,prerenderManifest:y,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:b,serverActionsManifest:P}=x,q=(0,o.normalizeAppPath)(v),C=!!(y.dynamicRoutes[q]||y.routes[T]),M=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(C&&!_){let e=!!y.routes[T],t=y.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await M();throw new m.NoFallbackError}}let j=null;!C||S.isDev||_||(j="/index"===(j=T)?"/":j);let D=!0===S.isDev||!C,U=C&&!D;P&&b&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:b,serverActionsManifest:P});let H=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,y,V);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:k,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,N)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>S.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${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(`${H} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!V&&I&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!C)return await (0,f.sendResponse)(W,G,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),t}},u=await S.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:V});if(!C)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return V&&C||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,p.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(W,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),C)throw t;return await (0,f.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})},"routeModule",0,S,"serverHooks",0,b,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,T],478097)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0ul.gyt._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(660526),a=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function u(){return a.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function f(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function d(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function h(){let e=await f();if(e)return e;let t={version:1,agents:[]};return await d(t),t}async function p(e){let r=await f();if(!r)return null;let n=c(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function m(e){let t=await f();return t?t.agents.find(t=>t.id===e)??null:null}async function g(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await d(t)})}async function w(e){return(0,s.withFileMutex)(i,async()=>{let t=await f();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await d(t),!0)})}async function x(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await f();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await d(t))})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentById",0,m,"lookupAgentByToken",0,p,"readRegistry",0,f,"removeAgent",0,w,"updateLastSeen",0,x])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var n=e.i(254226);async function a(e){let r=await (0,n.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,a,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},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])},848475,e=>{"use strict";var t=e.i(750227);let r={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".mdx":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(750227),a=e.i(716234),s=e.i(536654),i=e.i(848475);async function o(e,t){if(!e)return null;let r=await (0,s.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:a.DENIED_SEGMENTS});return r?.absolutePath??null}async function l(e,t){let n=420;try{let t=await (0,r.stat)(e);n=511&t.mode}catch{}let a=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,r.open)(a,"w",n);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,r.rename)(a,e)}async function u(e,t){let a=n.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,l,"ensureParentDir",0,u,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,function(e){let t=e.replace(/\\/g,"/");return a.DENIED_SEGMENTS.some(e=>t===e||t.startsWith(e+"/"))},"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,i.contentTypeForPath)(e)},"safeAbsPath",0,o,"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 n{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),n=this.stmt.run(...t);return{changes:Number(n.changes),lastInsertRowid:Number(n.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 n(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])},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var n=e.i(857764);e.s(["urlToPath",()=>n.fileURLToPath],316552)},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},973909,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function i(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function o(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function l(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),i=0;for(;i<s.length&&i<n.suffix.length&&s[i]===n.suffix[i];)i+=1;a+=i}return a}function u(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],i=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<i&&(s=e,i=t)}let o=t.filter(e=>Math.abs(e-r)===i);if(1===o.length){let r=t.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let u=o.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s),c=u.filter(e=>e.s===u[0].s);return c.length>1?{at:c[0].h,ambiguous:!0}:{at:u[0].h,ambiguous:!0}}function c(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=f(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=o(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=u(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=f(e,t.ref,r);if(a){let r=o(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=u(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,i=0;for(let e of r)for(let r of o(e.markdown,t.quote))1===(i+=1)&&(s={block:e,at:r});return 1===i&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:i>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function f(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function d(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},o=new Set(Object.keys(n)),l=new Map(t.map(e=>[e.ref,e])),u=t=>l.get(t)??l.get(e.refAliases?.[t]??""),c=!1,f=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(c=!0,e.textAnchor){let t=u(e.ref??""),i={id:a(o),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,i.offset,i.length);i.prefix=e.prefix,i.suffix=e.suffix}return n[i.id]=i,{...e,anchorId:i.id}}let t=u(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let l=i(t.markdown,t.ref,r,o);return n[l.id]=l,{...e,anchorId:l.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:f,updatedAt:r},changed:c}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:i}=d(s,n);return i}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function m(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let i=s+".tmp";await (0,t.writeFile)(i,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(i,s)}async function g(e,n,a){let s=h(e,n),i=h(e,a);try{await (0,t.mkdir)(r.default.dirname(i),{recursive:!0}),await (0,t.rename)(s,i)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,i,"anchorForRange",0,function(e,t,r,n,i,o){let{prefix:l,suffix:u}=s(e,r,n);return{id:a(o),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:l,suffix:u,createdAt:i,updatedAt:i}},"migrateSidecar",0,d,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=c(e,a,r),i=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...i?{blockMarkdown:i.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,c],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,g,"readSidecar",0,p,"writeSidecar",0,m],973909)},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},670910,e=>{"use strict";var t=e.i(487018),r=e.i(750227),n=e.i(660526),a=e.i(902157);let s=null;e.s(["writeAuditRow",0,function(e){try{(function(){if(s)return s;let e=r.default.join(process.env.HOME??n.default.homedir(),".wiki-viewer");(0,a.mkdirSync)(e,{recursive:!0});let i=r.default.join(e,"auth.db");(s=new t.default(i)).pragma("journal_mode = WAL"),s.exec(`
1
+ module.exports=[814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(660526),a=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return a.default.join(e,".wiki-viewer")}function u(){return a.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function f(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function d(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function h(){let e=await f();if(e)return e;let t={version:1,agents:[]};return await d(t),t}async function p(e){let r=await f();if(!r)return null;let n=c(e);for(let e of r.agents)if(function(e,r){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),a=Buffer.from(r.padEnd(64,"0"),"utf8");return n.length===a.length&&(0,t.timingSafeEqual)(n,a)&&e.length===r.length}(e.tokenHash,n))return e;return null}async function m(e){let t=await f();return t?t.agents.find(t=>t.id===e)??null:null}async function g(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await d(t)})}async function w(e){return(0,s.withFileMutex)(i,async()=>{let t=await f();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await d(t),!0)})}async function x(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await f();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await d(t))}).catch(()=>{})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentById",0,m,"lookupAgentByToken",0,p,"readRegistry",0,f,"removeAgent",0,w,"updateLastSeen",0,x])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var n=e.i(254226);async function a(e){let r=await (0,n.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let a=e.headers.get("authorization")??"",s=a.startsWith("Bearer ")?a.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,a,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},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])},848475,e=>{"use strict";var t=e.i(750227);let r={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".mdx":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),n=e.i(750227),a=e.i(716234),s=e.i(536654),i=e.i(848475);async function o(e,t){if(!e)return null;let r=await (0,s.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:a.DENIED_SEGMENTS});return r?.absolutePath??null}async function l(e,t){let n=420;try{let t=await (0,r.stat)(e);n=511&t.mode}catch{}let a=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,r.open)(a,"w",n);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,r.rename)(a,e)}async function u(e,t){let a=n.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,l,"ensureParentDir",0,u,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,function(e){let t=e.replace(/\\/g,"/");return a.DENIED_SEGMENTS.some(e=>t===e||t.startsWith(e+"/"))},"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,i.contentTypeForPath)(e)},"safeAbsPath",0,o,"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 n{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),n=this.stmt.run(...t);return{changes:Number(n.changes),lastInsertRowid:Number(n.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 n(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])},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var r=e.i(59639);e.s(["minproc",()=>r.default],651212);var n=e.i(857764);e.s(["urlToPath",()=>n.fileURLToPath],316552)},794776,e=>{"use strict";let t,r=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,r,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},973909,605,e=>{"use strict";var t=e.i(912714),r=e.i(750227);let n=0;function a(e=new Set){for(;;){n=(n+1)%0xffffff;let t=`a${n.toString(16).padStart(6,"0")}`;if(!e.has(t))return t}}function s(e,t,r){return{prefix:e.slice(Math.max(0,t-32),t),suffix:e.slice(t+r,t+r+32)}}function i(e,t,r,n){return{id:a(n),ref:t,offset:0,length:0,quote:e,prefix:"",suffix:"",createdAt:r,updatedAt:r}}function o(e,t){if(!t)return[];let r=[],n=e.indexOf(t);for(;-1!==n;)r.push(n),n=e.indexOf(t,n+1);return r}function l(e,t,r,n){let a=0;if(n.prefix){let r=e.slice(Math.max(0,t-n.prefix.length),t),s=0;for(;s<r.length&&s<n.prefix.length&&r[r.length-1-s]===n.prefix[n.prefix.length-1-s];)s+=1;a+=s}if(n.suffix){let s=e.slice(t+r,t+r+n.suffix.length),i=0;for(;i<s.length&&i<n.suffix.length&&s[i]===n.suffix[i];)i+=1;a+=i}return a}function u(e,t,r,n,a){if(1===t.length)return{at:t[0],ambiguous:!1};let s=t[0],i=Math.abs(s-r);for(let e of t){let t=Math.abs(e-r);t<i&&(s=e,i=t)}let o=t.filter(e=>Math.abs(e-r)===i);if(1===o.length){let r=t.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s);return r.length>1&&r[0].s>r[1].s?{at:r[0].h,ambiguous:!1}:{at:s,ambiguous:!1}}let u=o.map(t=>({h:t,s:l(e,t,n,a)})).sort((e,t)=>t.s-e.s),c=u.filter(e=>e.s===u[0].s);return c.length>1?{at:c[0].h,ambiguous:!0}:{at:u[0].h,ambiguous:!0}}function c(e,t,r){let n=new Map(r.map(e=>[e.ref,e])).get(t.ref);if(0===t.length){if(n)return{ref:n.ref,offset:0,length:0,status:"exact"};let a=f(e,t.ref,r);return a?{ref:a.ref,offset:0,length:0,status:"moved"}:{ref:null,offset:0,length:0,status:"lost"}}if(n){if(n.markdown.slice(t.offset,t.offset+t.length)===t.quote)return{ref:n.ref,offset:t.offset,length:t.length,status:"exact"};let e=o(n.markdown,t.quote);if(e.length>0){let{at:r,ambiguous:a}=u(n.markdown,e,t.offset,t.length,t);return{ref:n.ref,offset:r,length:t.length,status:a?"ambiguous":"moved"}}return{ref:n.ref,offset:0,length:0,status:"ambiguous"}}let a=f(e,t.ref,r);if(a){let r=o(a.markdown,t.quote);if(r.length>0){let{at:e,ambiguous:n}=u(a.markdown,r,t.offset,t.length,t);return{ref:a.ref,offset:e,length:t.length,status:n?"ambiguous":"moved"}}if(e.prevRefOrder)return{ref:a.ref,offset:0,length:0,status:"ambiguous"}}let s=null,i=0;for(let e of r)for(let r of o(e.markdown,t.quote))1===(i+=1)&&(s={block:e,at:r});return 1===i&&s?{ref:s.block.ref,offset:s.at,length:t.length,status:"moved"}:i>1?{ref:null,offset:0,length:0,status:"ambiguous"}:{ref:null,offset:0,length:0,status:"lost"}}function f(e,t,r){let n=(e.prevRefOrder&&e.prevRefOrder.includes(t)?e.prevRefOrder:Object.keys(e.refMap)).indexOf(t);if(-1===n||n>=r.length)return null;let a=r[n];return a&&a.ref!==t?a:null}function d(e,t){if(e.schemaVersion>=3)return{sidecar:e,changed:!1};if(0===t.length&&e.comments.length>0)return{sidecar:{...e,anchors:e.anchors??{}},changed:!1};let r=e.updatedAt||new Date().toISOString(),n={...e.anchors??{}},o=new Set(Object.keys(n)),l=new Map(t.map(e=>[e.ref,e])),u=t=>l.get(t)??l.get(e.refAliases?.[t]??""),c=!1,f=e.comments.map(e=>{if(e.anchorId&&n[e.anchorId])return e;if(c=!0,e.textAnchor){let t=u(e.ref??""),i={id:a(o),ref:t?.ref??e.ref??"",offset:e.textAnchor.start,length:e.textAnchor.end-e.textAnchor.start,quote:e.textAnchor.selectedText,prefix:"",suffix:"",createdAt:e.createdAt||r,updatedAt:r};if(t){let e=s(t.markdown,i.offset,i.length);i.prefix=e.prefix,i.suffix=e.suffix}return n[i.id]=i,{...e,anchorId:i.id}}let t=u(e.ref??"");if(!t)return{...e,anchorStatus:"lost"};let l=i(t.markdown,t.ref,r,o);return n[l.id]=l,{...e,anchorId:l.id}});return{sidecar:{...e,schemaVersion:3,anchors:n,comments:f,updatedAt:r},changed:c}}function h(e,t){return r.default.join(e,".proof",t+".json")}async function p(e,r,n=[]){let a=h(e,r);try{let e=await (0,t.readFile)(a,"utf-8"),r=JSON.parse(e);if(![1,2,3].includes(r.schemaVersion))throw Error(`Sidecar schema version mismatch: expected 1, 2 or 3, got ${r.schemaVersion}`);let s=r.anchors?r:{...r,anchors:{}},{sidecar:i}=d(s,n);return i}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function m(e,n,a){let s=h(e,n);await (0,t.mkdir)(r.default.dirname(s),{recursive:!0});let i=s+".tmp";await (0,t.writeFile)(i,JSON.stringify(a,null,2),"utf-8"),await (0,t.rename)(i,s)}async function g(e,n,a){let s=h(e,n),i=h(e,a);try{await (0,t.mkdir)(r.default.dirname(i),{recursive:!0}),await (0,t.rename)(s,i)}catch(e){if("ENOENT"===e.code)return;throw e}}async function w(e,r){let n=h(e,r);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["anchorForBlock",0,i,"anchorForRange",0,function(e,t,r,n,i,o){let{prefix:l,suffix:u}=s(e,r,n);return{id:a(o),ref:t,offset:r,length:n,quote:e.slice(r,r+n),prefix:l,suffix:u,createdAt:i,updatedAt:i}},"migrateSidecar",0,d,"projectCommentViews",0,function(e,t,r){let n=new Map(r.map(e=>[e.ref,e])),a={};for(let s of t)a[s.id]=function(e,t,r,n){let a=t.anchorId?e.anchors[t.anchorId]:void 0;if(!a){let e=t.ref??null,r=e?n.get(e):void 0;return{id:t.id,ref:e,offset:t.textAnchor?.start??0,length:t.textAnchor?t.textAnchor.end-t.textAnchor.start:0,status:e&&r?"exact":"lost",...r?{blockMarkdown:r.markdown}:{}}}let s=c(e,a,r),i=s.ref?n.get(s.ref):void 0;return{id:t.id,anchorId:a.id,ref:s.ref,offset:s.offset,length:s.length,status:s.status,...i?{blockMarkdown:i.markdown}:{}}}(e,s,r,n);return a},"resolveAnchor",0,c],605),e.s(["deleteSidecar",0,w,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:3,anchors:{},path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],events:[],nextEventId:1,lastAck:{},fingerprint:""}},"moveSidecar",0,g,"readSidecar",0,p,"writeSidecar",0,m],973909)},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let r=[];for(let n of t){let t={...n,id:e.nextEventId++};e.events.push(t),r.push(t)}return r},"pollEvents",0,function(e,t,r){return e.events.filter(e=>e.id>t).slice(0,r)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let r=Object.values(e.lastAck),n=r.length>0?Math.min(...r):1/0,a=e.events.length-t,s=e.events.filter((e,t)=>t>=a||e.id>n);e.events=s}])},670910,e=>{"use strict";var t=e.i(487018),r=e.i(750227),n=e.i(660526),a=e.i(902157);let s=null;e.s(["writeAuditRow",0,function(e){try{(function(){if(s)return s;let e=r.default.join(process.env.HOME??n.default.homedir(),".wiki-viewer");(0,a.mkdirSync)(e,{recursive:!0});let i=r.default.join(e,"auth.db");(s=new t.default(i)).pragma("journal_mode = WAL"),s.exec(`
2
2
  CREATE TABLE IF NOT EXISTS agent_fs_audit (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  agent_id TEXT NOT NULL,
@@ -0,0 +1,3 @@
1
+ module.exports=[536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,i,s={}){let l;if(!e)return null;let o=function(e){if(e.includes("\0")||r.default.isAbsolute(e))return null;let t=e.replace(/\\/g,"/");return(("."===(t=r.default.posix.normalize(t))||"./"===t)&&(t=""),".."===t||t.startsWith("../")||/^[a-zA-Z]:\//.test(t)||t.startsWith("/"))?null:t}(i);if(null===o)return null;if(s.deniedSegments?.length){for(let e of o.split("/").filter(Boolean))if(s.deniedSegments.includes(e))return null}try{l=await (0,t.realpath)(e)}catch{return null}let u=o?r.default.join(l,o):l;try{let e=await (0,t.realpath)(u),n=r.default.relative(l,e);if(a(n))return null;return{relPath:o,absolutePath:e}}catch{if(!s.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),i=r.default.relative(l,e);if(a(i))return null;return{relPath:o,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},696964,e=>{"use strict";var t=e.i(666680),r=e.i(499465);function a(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function n(e){return a((0,t.createHmac)("sha256",(0,r.ensureApiKey)()).update(e).digest())}e.s(["issuePreviewToken",0,function(e,t=Date.now()){let r=t+6e5,i=a(JSON.stringify({rootDir:e.rootDir,prefix:e.prefix,exp:r}));return{token:`${i}.${n(i)}`,expiresAt:r}},"previewPrefixFor",0,function(e){let t=e.replace(/^\/+/,"").replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?"":t.slice(0,r)},"verifyPreviewToken",0,function(e,r=Date.now()){let a,i=e.indexOf(".");if(i<1)return null;let s=e.slice(0,i),l=e.slice(i+1),o=n(s);if(l.length!==o.length||!(0,t.timingSafeEqual)(Buffer.from(l,"utf-8"),Buffer.from(o,"utf-8")))return null;try{a=JSON.parse(Buffer.from(s.replace(/-/g,"+").replace(/_/g,"/"),"base64").toString("utf-8"))}catch{return null}return"string"!=typeof a?.rootDir||""===a.rootDir||"string"!=typeof a?.prefix||"number"!=typeof a?.exp||!Number.isFinite(a.exp)||a.exp<=r?null:{rootDir:a.rootDir,prefix:a.prefix}},"withinPreviewPrefix",0,function(e,t){let r=t.replace(/^\/+/,"");return""===e||r===e||r.startsWith(`${e}/`)}])},29355,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),i=e.i(119791),s=e.i(141062),l=e.i(957291),o=e.i(535899),u=e.i(610241),d=e.i(62749),p=e.i(624891),c=e.i(725836),h=e.i(532736),f=e.i(257858),v=e.i(487476),m=e.i(193695);e.i(484264);var w=e.i(315709),g=e.i(351216),_=e.i(660038),R=e.i(536654),x=e.i(696964),y=e.i(716234);async function P(e){let t=await (0,_.resolveWorkspaceForUser)(e);if(!t.ok)return g.NextResponse.json({error:t.code},{status:t.status});let r=new URL(e.url).searchParams.get("path")??"",a=await (0,R.resolveWorkspacePath)(t.rootDir,r,{allowMissing:!0,deniedSegments:y.DENIED_SEGMENTS});if(!a)return g.NextResponse.json({error:"invalid path"},{status:400});let{token:n,expiresAt:i}=(0,x.issuePreviewToken)({rootDir:t.rootDir,prefix:(0,x.previewPrefixFor)(a.relPath)});return g.NextResponse.json({token:n,expiresAt:i})}e.s(["GET",0,P,"runtime",0,"nodejs"],442851);var E=e.i(442851);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wiki/preview-token/route",pathname:"/api/wiki/preview-token",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wiki/preview-token/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=k;async function N(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),k.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/wiki/preview-token/route";g=g.replace(/\/index$/,"")||"/";let _=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:x,nextConfig:y,parsedUrl:P,isDraftMode:E,prerenderManifest:C,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:q}=_,D=(0,l.normalizeAppPath)(g),O=!!(C.dynamicRoutes[D]||C.routes[S]),j=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,P,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!C.routes[S],t=C.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new m.NoFallbackError}}let I=null;!O||k.isDev||E||(I="/index"===(I=S)?"/":I);let H=!0===k.isDev||!O,M=O&&!H;q&&T&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:q});let U=e.method||"GET",$=(0,i.getTracer)(),B=$.getActiveScopeSpan(),F=!!(null==b?void 0:b.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,y,C,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:x,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>k.onRequestError(e,t,a,n,b)},sharedContext:{buildId:R}},L=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>k.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${g}`)}),l=async n=>{var i,l;let o=async({previousCacheEntry:r})=>{try{if(!W&&A&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let o=z.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(L,G,i,z.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,b),t}},u=await k.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:W});if(!O)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&O||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(L,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&B?await l(B):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${g}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,b),O)throw t;return await (0,c.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,k,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b],29355)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0wwl3h1._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),n=e.i(660526),r=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return r.default.join(e,".wiki-viewer")}function u(){return r.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function g(e){let a=await c();if(!a)return null;let n=d(e);for(let e of a.agents)if(function(e,a){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),r=Buffer.from(a.padEnd(64,"0"),"utf8");return n.length===r.length&&(0,t.timingSafeEqual)(n,r)&&e.length===a.length}(e.tokenHash,n))return e;return null}async function f(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function v(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,f,"lookupAgentByToken",0,g,"readRegistry",0,c,"removeAgent",0,v,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var n=e.i(254226);async function r(e){let a=await (0,n.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let r=e.headers.get("authorization")??"",s=r.startsWith("Bearer ")?r.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,r,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},989666,e=>{"use strict";var t=e.i(985426),a=e.i(257574),n=e.i(507835),r=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),g=e.i(257858),f=e.i(487476),m=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(351216),R=e.i(215043),y=e.i(660038),_=e.i(912714),k=e.i(750227);async function E(e,t){let a=Math.min(t?.limit??50,200),n=t?.file??null,r=k.default.join(e,".proof"),s=[];async function i(e){let t;try{t=await (0,_.readdir)(e,{withFileTypes:!0})}catch{return}for(let a of t){let t=k.default.join(e,a.name);if(a.isDirectory())await i(t);else if(a.isFile()&&a.name.endsWith(".json")){let e;try{let a=await (0,_.readFile)(t,"utf-8");if(e=JSON.parse(a),![1,2,3].includes(e.schemaVersion))continue}catch{continue}if(n&&e.path!==n)continue;let a=(e.events??[]).map(t=>({...t,path:e.path}));s=s.concat(a)}}}return await i(r),s.sort((e,t)=>e.at<t.at?1:e.at>t.at?-1:0),s.slice(0,a)}var A=e.i(552350);async function x(e){let t=await (0,R.checkAuth)(e);if(!t.ok)return w.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,y.resolveWorkspaceForAgent)(e);if(!a.ok)return w.NextResponse.json({error:a.code},{status:a.status});let{ws:n,rootDir:r}=a,s=(0,R.enforceScope)(t.agent,{op:"read",workspaceId:n.id});if(!s.ok)return w.NextResponse.json({error:s.code,message:s.message},{status:403});let i=new URL(e.url),o=i.searchParams.get("limit"),l=i.searchParams.get("file")??void 0;if(l){let e=(0,R.enforceScope)(t.agent,{filePath:l,op:"read",workspaceId:n.id});if(!e.ok)return w.NextResponse.json({error:e.code,message:e.message},{status:403})}let u=50;if(null!==o){let e=parseInt(o,10);!isNaN(e)&&e>0&&(u=Math.min(e,200))}let d=await E(r,{limit:u,file:l}),c=t.agent.scope.paths,p=d.filter(e=>c.some(t=>(0,A.matchGlob)(t,e.path)));return w.NextResponse.json({events:p,count:p.length})}e.s(["GET",0,x,"runtime",0,"nodejs"],826676);var N=e.i(826676);let I=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/activity/route",pathname:"/api/agent/activity",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/activity/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:T,serverHooks:O}=I;async function C(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),I.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/activity/route";w=w.replace(/\/index$/,"")||"/";let R=await I.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:_,nextConfig:k,parsedUrl:E,isDraftMode:A,prerenderManifest:x,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:S}=R,q=(0,o.normalizeAppPath)(w),b=!!(x.dynamicRoutes[q]||x.routes[O]),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(b&&!A){let e=!!x.routes[O],t=x.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await D();throw new m.NoFallbackError}}let j=null;!b||I.isDev||A||(j="/index"===(j=O)?"/":j);let U=!0===I.isDev||!b,H=b&&!U;S&&C&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:C,serverActionsManifest:S});let F=e.method||"GET",M=(0,s.getTracer)(),B=M.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,k,x,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let L={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:G,cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>I.onRequestError(e,t,n,r,N)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let r,i=async e=>I.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=M.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${F} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${F} ${w}`)}),o=async r=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!K&&P&&T&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(r);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!b)return await (0,p.sendResponse)(W,z,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),t}},u=await I.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:K});if(!b)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&b||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(r=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),b)throw t;return await (0,p.sendResponse)(W,z,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:T})},"routeModule",0,I,"serverHooks",0,O,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,T],989666)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
1
+ module.exports=[814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),a=e.i(912714),n=e.i(660526),r=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??n.default.homedir();return r.default.join(e,".wiki-viewer")}function u(){return r.default.join(l(),"agents.json")}function d(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){try{let e=await (0,a.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,a.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,a.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,a.chmod)(t,384)}catch{}await (0,a.rename)(t,u())}async function h(){let e=await c();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function g(e){let a=await c();if(!a)return null;let n=d(e);for(let e of a.agents)if(function(e,a){let n=Buffer.from(e.padEnd(64,"0"),"utf8"),r=Buffer.from(a.padEnd(64,"0"),"utf8");return n.length===r.length&&(0,t.timingSafeEqual)(n,r)&&e.length===a.length}(e.tokenHash,n))return e;return null}async function f(e){let t=await c();return t?t.agents.find(t=>t.id===e)??null:null}async function m(e){await (0,s.withFileMutex)(i,async()=>{let t=await h(),a=t.agents.findIndex(t=>t.id===e.id);a>=0?t.agents[a]=e:t.agents.push(e),await p(t)})}async function v(e){return(0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return!1;let a=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==a&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await c();if(!t)return;let a=t.agents.find(t=>t.id===e);a&&(a.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))}).catch(()=>{})}e.s(["addAgent",0,m,"hashToken",0,d,"lookupAgentById",0,f,"lookupAgentByToken",0,g,"readRegistry",0,c,"removeAgent",0,v,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function a(e,t){return(function(e){let t="^",a=0;for(;a<e.length;)"*"===e[a]&&"*"===e[a+1]?(t+=".*","/"===e[a+=2]&&(t+="(?:.+/)?",a++)):("*"===e[a]?t+="[^/]*":"?"===e[a]?t+="[^/]":t+=e[a].replace(/[.+^${}()|[\]\\]/g,"\\$&"),a++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,a],552350);var n=e.i(254226);async function r(e){let a=await (0,n.getSessionFromRequest)(e);if(a?.user){let e=a.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let r=e.headers.get("authorization")??"",s=r.startsWith("Bearer ")?r.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,r,"enforceScope",0,function(e,t){let{scope:n}=e;return void 0!==n.workspaceId&&void 0!==t.workspaceId&&n.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${n.workspaceId}")`}:n.ops.includes(t.op)?t.filePath&&!n.paths.some(e=>a(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},989666,e=>{"use strict";var t=e.i(985426),a=e.i(257574),n=e.i(507835),r=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),d=e.i(62749),c=e.i(624891),p=e.i(725836),h=e.i(532736),g=e.i(257858),f=e.i(487476),m=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(351216),R=e.i(215043),y=e.i(660038),_=e.i(912714),k=e.i(750227);async function E(e,t){let a=Math.min(t?.limit??50,200),n=t?.file??null,r=k.default.join(e,".proof"),s=[];async function i(e){let t;try{t=await (0,_.readdir)(e,{withFileTypes:!0})}catch{return}for(let a of t){let t=k.default.join(e,a.name);if(a.isDirectory())await i(t);else if(a.isFile()&&a.name.endsWith(".json")){let e;try{let a=await (0,_.readFile)(t,"utf-8");if(e=JSON.parse(a),![1,2,3].includes(e.schemaVersion))continue}catch{continue}if(n&&e.path!==n)continue;let a=(e.events??[]).map(t=>({...t,path:e.path}));s=s.concat(a)}}}return await i(r),s.sort((e,t)=>e.at<t.at?1:e.at>t.at?-1:0),s.slice(0,a)}var A=e.i(552350);async function x(e){let t=await (0,R.checkAuth)(e);if(!t.ok)return w.NextResponse.json({error:"UNAUTHORIZED"},{status:401});let a=await (0,y.resolveWorkspaceForAgent)(e);if(!a.ok)return w.NextResponse.json({error:a.code},{status:a.status});let{ws:n,rootDir:r}=a,s=(0,R.enforceScope)(t.agent,{op:"read",workspaceId:n.id});if(!s.ok)return w.NextResponse.json({error:s.code,message:s.message},{status:403});let i=new URL(e.url),o=i.searchParams.get("limit"),l=i.searchParams.get("file")??void 0;if(l){let e=(0,R.enforceScope)(t.agent,{filePath:l,op:"read",workspaceId:n.id});if(!e.ok)return w.NextResponse.json({error:e.code,message:e.message},{status:403})}let u=50;if(null!==o){let e=parseInt(o,10);!isNaN(e)&&e>0&&(u=Math.min(e,200))}let d=await E(r,{limit:u,file:l}),c=t.agent.scope.paths,p=d.filter(e=>c.some(t=>(0,A.matchGlob)(t,e.path)));return w.NextResponse.json({events:p,count:p.length})}e.s(["GET",0,x,"runtime",0,"nodejs"],826676);var N=e.i(826676);let I=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/agent/activity/route",pathname:"/api/agent/activity",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/activity/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:T,serverHooks:O}=I;async function C(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),I.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/activity/route";w=w.replace(/\/index$/,"")||"/";let R=await I.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:_,nextConfig:k,parsedUrl:E,isDraftMode:A,prerenderManifest:x,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:S}=R,q=(0,o.normalizeAppPath)(w),b=!!(x.dynamicRoutes[q]||x.routes[O]),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(b&&!A){let e=!!x.routes[O],t=x.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await D();throw new m.NoFallbackError}}let j=null;!b||I.isDev||A||(j="/index"===(j=O)?"/":j);let U=!0===I.isDev||!b,H=b&&!U;S&&C&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:C,serverActionsManifest:S});let F=e.method||"GET",M=(0,s.getTracer)(),B=M.getActiveScopeSpan(),$=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,k,x,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let L={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:G,cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>I.onRequestError(e,t,n,r,N)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let r,i=async e=>I.handle(Z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=M.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${F} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",n),r.updateName(t))}else e.updateName(`${F} ${w}`)}),o=async r=>{var s,o;let l=async({previousCacheEntry:a})=>{try{if(!K&&P&&T&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(r);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!b)return await (0,p.sendResponse)(W,z,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),t}},u=await I.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:K});if(!b)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&b||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&B?await o(B):(r=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,N),b)throw t;return await (0,p.sendResponse)(W,z,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:T})},"routeModule",0,I,"serverHooks",0,O,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,T],989666)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0yzumg-._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let 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),n=r.default.relative(o,e);if(a(n))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(o,e);if(a(s))return null;return{relPath:l,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},848475,e=>{"use strict";var t=e.i(750227);let r={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".mdx":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227),n=e.i(716234),s=e.i(536654),i=e.i(848475);async function o(e,t){if(!e)return null;let r=await (0,s.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:n.DENIED_SEGMENTS});return r?.absolutePath??null}async function l(e,t){let a=420;try{let t=await (0,r.stat)(e);a=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,r.open)(n,"w",a);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,r.rename)(n,e)}async function u(e,t){let n=a.default.dirname(e);if(t)return await (0,r.mkdir)(n,{recursive:!0}),!0;try{return await (0,r.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,l,"ensureParentDir",0,u,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,function(e){let t=e.replace(/\\/g,"/");return n.DENIED_SEGMENTS.some(e=>t===e||t.startsWith(e+"/"))},"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,i.contentTypeForPath)(e)},"safeAbsPath",0,o,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??a.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function f(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let r=await d();if(!r)return null;let a=c(e);for(let e of r.agents)if(function(e,r){let a=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(r.padEnd(64,"0"),"utf8");return a.length===n.length&&(0,t.timingSafeEqual)(a,n)&&e.length===r.length}(e.tokenHash,a))return e;return null}async function m(e){let t=await d();return t?t.agents.find(t=>t.id===e)??null:null}async function g(e){await (0,s.withFileMutex)(i,async()=>{let t=await f(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await p(t)})}async function v(e){return(0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentById",0,m,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,v,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var a=e.i(254226);async function n(e){let r=await (0,a.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:a}=e;return void 0!==a.workspaceId&&void 0!==t.workspaceId&&a.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${a.workspaceId}")`}:a.ops.includes(t.op)?t.filePath&&!a.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},844376,(e,t,r)=>{t.exports=e.x("node:module",()=>require("node:module"))},511745,883129,e=>{"use strict";let t;var r=e.i(874533),a=e.i(750227),n=e.i(844376),s=e.i(812057),i=e.i(902157),o=e.i(857764);let l={get url(){return`file://${e.P("src/lib/search/rg-path.ts")}`}},u=(0,s.promisify)(r.execFile);function c(e){try{let t=(0,i.statSync)(e);return t.isFile()&&(73&t.mode)!=0}catch{return!1}}function d(e,t,r){let n=a.default.resolve(e);for(let e=0;e<=t;e++){let e=a.default.join(n,r);if(c(e))return e;let t=a.default.dirname(n);if(t===n)break;n=t}return null}async function p(){try{return await u("rg",["--version"]),"rg"}catch{return null}}async function f(){if(void 0!==t)return t;let e=process.env.WIKI_VIEWER_RG;if(e&&c(e))return t=e;let r=process.env.npm_config_arch||process.arch,s=`@vscode/ripgrep-${process.platform}-${r}`;try{let e=(0,o.fileURLToPath)(l.resolve("@vscode/ripgrep")),r=(0,n.createRequire)(e).resolve(`${s}/bin/rg`);if(c(r))return t=r}catch{}let i=a.default.join("node_modules",s,"bin","rg"),u=d(process.cwd(),5,i);if(u)return t=u;let f=a.default.dirname(process.execPath);if(f!==process.cwd()){let e=d(f,5,i);if(e)return t=e}return t=await p()}function h(e){return e.replace(/<\/?mark>/g,"")}function m(e,t,r={}){let a=r.window??60;if(!t.length)return h(e);let n=Buffer.from(e,"utf8"),s=n.length,i=[...t].sort((e,t)=>e.start-t.start),o=i[0],l=Math.floor((o.start+o.end)/2),u=Math.max(0,l-a),c=Math.min(s,l+a);for(;u>0&&(192&n[u])==128;)u++;for(;c<s&&(192&n[c])==128;)c--;let d=i.filter(e=>e.start<c&&e.end>u),p=[],f=u;for(let e of d){let t=Math.max(u,e.start),r=Math.min(c,e.end);t>f&&p.push({text:n.toString("utf8",f,t),mark:!1}),r>t&&p.push({text:n.toString("utf8",t,r),mark:!0}),f=r}f<c&&p.push({text:n.toString("utf8",f,c),mark:!1});let g="";for(let e of(u>0&&(g+="…"),p)){let t=h(e.text);g+=e.mark?`<mark>${t}</mark>`:t}return c<s&&(g+="…"),g}e.s(["buildSnippet",0,m],883129);var g=e.i(719126);let v=null;async function w(){if(v)return v;try{let t=await e.A(267328);return v=t,t}catch{return v={nestedHazardMounts:()=>[],rootIsHazardMount:()=>!1}}}let k=[".git",".pi",".proof","node_modules",".next"];async function x(e){let t=[];for(let e of k)t.push("--glob",`!${e}/**`);for(let r of(await w()).nestedHazardMounts(e)){let n=a.default.relative(e,r);!n||n.startsWith("..")||a.default.isAbsolute(n)||(n=n.replace(/\\/g,"/"),t.push("--glob",`!${n}/**`))}return t}async function y(e){let t=["--json","--no-config","--no-messages","--no-follow","--hidden","--no-ignore","--max-filesize","2M","--crlf"];return(await w()).rootIsHazardMount(e)&&t.push("--no-mmap"),t.push(...await x(e)),t.push("--glob","!*.excalidraw"),t}function R(e){let t=e.replace(/\\/g,"/");return a.default.isAbsolute(t)||(t=a.default.normalize(t).replace(/\\/g,"/")).startsWith("..")||"."===t||(0,g.isDeniedRelPath)(t)?null:t}function _(e){try{e.kill("SIGTERM")}catch{}setTimeout(()=>{try{e.kill("SIGKILL")}catch{}},2e3)}function b(e,t,a,n,s,i,o){return new Promise(l=>{if(s.signal?.aborted)return void l({outcome:"aborted",code:null,stderr:"",truncated:!0});let u=(0,r.spawn)(e,t,{cwd:a,stdio:["ignore","pipe","pipe"],env:{...process.env,RIPGREP_CONFIG_PATH:""}}),c="",d="",p=!1,f=!1,h=null,m=e=>{p||(p=!0,clearTimeout(g),v?.removeEventListener("abort",w),l({outcome:e,code:h,stderr:d,truncated:f}))},g=setTimeout(()=>{f=!0,_(u),m("timeout")},s.timeoutMs),v=s.signal,w=()=>{f=!0,_(u),m("aborted")};v?.addEventListener("abort",w,{once:!0}),u.stdout?.on("data",e=>{if(c+=e.toString("utf8"),n){let e=c.split("\n");for(let t of(c=e.pop()??"",e)){let e;if(t.trim()){try{e=JSON.parse(t)}catch{continue}if("cap"===i(e)){f=!0,_(u),m("success");return}}}}else if(o){let e=c.split("\n");for(let t of(c=e.pop()??"",e))if(t&&"cap"===o(t)){f=!0,_(u),m("success");return}}}),u.stderr?.on("data",e=>{d+=e.toString("utf8")}),u.on("error",e=>{h=-1,d=e.message,m("error")}),u.on("close",e=>{if(h=e,!p){if(n&&c.trim())try{let e=JSON.parse(c.trim());i(e)}catch{}else!n&&o&&c&&o(c);0===e||1===e?m("success"):m("error")}})})}async function E(e,t,r={}){let a=t.trim();if(!a)return{ok:!0,results:[],truncated:!1};let n=a.split(/\s+/).slice(0,8).map(e=>e.endsWith("*")?e.slice(0,-1):e);if(0===n.length)return{ok:!0,results:[],truncated:!1};let s=await f();if(!s)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let i=new Map,o=r.limit??200,l=0,u=await y(e);for(let e of(u.push("--fixed-strings","--ignore-case"),n))u.push("-e",e);u.push("--",r.startPath??".");let c={timeoutMs:r.timeoutMs??1e4,signal:r.signal},d=await b(s,u,e,!0,c,e=>{if("match"!==e.type)return"continue";let t=e.data;if(!t)return"continue";let r=R(t.path.text);if(!r)return"continue";let a=(t.submatches??[]).map(e=>({start:e.start,end:e.end})),s=t.lines.text.replace(/\r?\n$/,""),u=m(s,a),c={path:r,line:t.line_number,col:a[0]?.start!=null?a[0].start+1:1,text:s,snippet:u},d=c.text.toLowerCase(),p=new Set;for(let e=0;e<n.length;e++)d.includes(n[e].toLowerCase())&&p.add(e);let f=i.get(r);for(let e of(f||(f={path:r,matches:[],tokenSet:new Set},i.set(r,f)),p))f.tokenSet.add(e);return(f.matches.push(c),++l>=o)?"cap":"continue"}),p=n.length,h=[];for(let e of i.values()){if(e.tokenSet.size<p)continue;let t=e.matches.sort((e,t)=>e.line-t.line)[0],r=e.tokenSet.size/p*1e3+Math.min(e.matches.length,100);h.push({path:e.path,matchCount:e.matches.length,tokensMatched:e.tokenSet.size,score:r,firstMatch:t})}return(h.sort((e,t)=>t.tokensMatched!==e.tokensMatched?t.tokensMatched-e.tokensMatched:t.matchCount!==e.matchCount?t.matchCount-e.matchCount:e.path.localeCompare(t.path)),"success"===d.outcome)?2===d.code?{ok:!1,reason:"error",message:d.stderr.trim().split("\n")[0]??"rg error",partialResults:h}:{ok:!0,results:h,truncated:d.truncated}:"timeout"===d.outcome?{ok:!1,reason:"timeout",message:"Search timed out",partialResults:h}:{ok:!1,reason:"error",message:d.stderr||"Search failed",partialResults:h}}async function A(e,t,r,a,n){var s,i;let o=[],l=a.limit??200,u=0,c=await y(t);n&&c.push("--pcre2"),c.push("-e",r),c.push("--",a.startPath??".");let d=await b(e,c,t,!0,{timeoutMs:a.timeoutMs??1e4,signal:a.signal},e=>{if("match"!==e.type)return"continue";let t=e.data;if(!t)return"continue";let r=R(t.path.text);if(!r)return"continue";let a=t.submatches??[];return(o.push({path:r,line:t.line_number,col:a[0]?.start!=null?a[0].start+1:1,text:t.lines.text.replace(/\r?\n$/,"")}),++u>=l)?"cap":"continue"});return{outcome:(s=d,i=o,"timeout"===s.outcome?{ok:!1,reason:"timeout",message:"Search timed out",partialResults:i}:"aborted"===s.outcome?{ok:!1,reason:"error",message:"Search aborted",partialResults:i}:"error"===s.outcome||2===s.code?{ok:!1,reason:"error",message:s.stderr.trim().split("\n")[0]??"rg error",partialResults:i}:{ok:!0,results:i,truncated:s.truncated}),stderr:d.stderr,code:d.code}}function I(e){let t=e.toLowerCase();return t.includes("look-around")||t.includes("lookaround")||t.includes("backreference")||t.includes("back-reference")||t.includes("lookahead")||t.includes("lookbehind")}function S(e){let t=e.toLowerCase();return t.includes("regex")||t.includes("pattern")||t.includes("parse")||t.includes("syntax")||t.includes("unclosed")||I(t)}async function N(e,t,r={}){let a=t.trim();if(!a)return{ok:!0,results:[],truncated:!1};let n=await f();if(!n)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let s=await A(n,e,a,r,!1);if(!s.outcome.ok&&"error"===s.outcome.reason&&I(s.stderr)){let t=await A(n,e,a,r,!0);return!t.outcome.ok&&"error"===t.outcome.reason&&S(t.stderr)?{ok:!1,reason:"invalid-pattern",message:t.stderr.trim().split("\n")[0]??"Invalid regex pattern",partialResults:t.outcome.partialResults}:t.outcome}return!s.outcome.ok&&"error"===s.outcome.reason&&S(s.stderr)?{ok:!1,reason:"invalid-pattern",message:s.stderr.trim().split("\n")[0]??"Invalid regex pattern",partialResults:s.outcome.partialResults}:s.outcome}async function P(e,t={}){let r=await f();if(!r)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let a=[],n=t.limit??2e3,s=["--no-config","--no-messages","--no-follow","--hidden","--no-ignore","--crlf"];(await w()).rootIsHazardMount(e)&&s.push("--no-mmap"),s.push(...await x(e)),s.push("--files","--",t.startPath??".");let i=await b(r,s,e,!1,{timeoutMs:t.timeoutMs??1e4,signal:t.signal},()=>"continue",e=>{let t=e.trim();if(!t)return"continue";let r=R(t);return r&&(a.push(r),a.length>=n)?"cap":"continue"});return"success"===i.outcome?{ok:!0,results:a,truncated:i.truncated}:{ok:!1,reason:"timeout"===i.outcome?"timeout":"error",message:i.stderr||"rg --files failed",partialResults:a}}e.s(["rgListFiles",0,P,"rgLiteralSearch",0,E,"rgRegexSearch",0,N],511745)},868593,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),d=e.i(624891),p=e.i(725836),f=e.i(532736),h=e.i(257858),m=e.i(487476),g=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(912714),k=e.i(750227),x=e.i(351216),y=e.i(215043),R=e.i(660038),_=e.i(359211),b=e.i(719126),E=e.i(552350),A=e.i(511745);function I(e,t,r){return x.NextResponse.json({error:e,message:t},{status:r})}async function S(e){let t,r,a=await (0,y.checkAuth)(e);if(!a.ok)return I("UNAUTHORIZED",a.message??"Unauthorized",401);try{t=await e.json()}catch{return I("INVALID_PAYLOAD","Invalid JSON body",400)}if("grep"!==t.kind&&"glob"!==t.kind&&"fts"!==t.kind)return I("INVALID_PAYLOAD",'kind must be "grep", "glob", or "fts"',400);if("string"!=typeof t.query||"fts"!==t.kind&&!t.query)return I("INVALID_PAYLOAD","query (string) required",400);let n=t.kind,s=t.query,i="string"==typeof t.path?t.path:"",o=Math.min("number"==typeof t.limit?t.limit:200,2e3),l=await (0,R.resolveWorkspaceForAgent)(e);if(!l.ok)return I(l.code,l.code,l.status);let{ws:u,rootDir:c}=l;if(i){if(!(0,_.safeWorkspacePath)(c,i))return I("INVALID_PATH","path: traversal rejected",400);if(!await (0,b.safeAbsPath)(c,i))return I("INVALID_PATH","path: rejected (symlink escape or denied)",400)}if(i){try{if(!(await (0,w.stat)(k.default.join(c,i))).isDirectory())return I("NOT_A_DIRECTORY","path must be a directory",400)}catch(e){if("ENOENT"===e.code)return I("NOT_FOUND","Start path not found",404);throw e}r=i}if("grep"===n){let e=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!e.ok)return I("FORBIDDEN",e.message??"Forbidden",403);let t=await (0,A.rgRegexSearch)(c,s,{limit:o,timeoutMs:1e4,startPath:r});if(!t.ok&&"unavailable"===t.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);if(!t.ok&&"invalid-pattern"===t.reason)return I("SEARCH_ERROR",t.message,400);let i=(t.ok?t.results:t.partialResults)??[],l=[];for(let e of i)if((0,y.enforceScope)(a.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok&&(l.push({path:e.path,line:e.line,col:e.col,text:e.text}),l.length>=o))break;let d=!t.ok||t.truncated;return x.NextResponse.json({kind:n,query:s,matches:l,truncated:d})}if("glob"===n){let e=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!e.ok)return I("FORBIDDEN",e.message??"Forbidden",403);let t=await (0,A.rgListFiles)(c,{limit:2e3,timeoutMs:1e4,startPath:r});if(!t.ok&&"unavailable"===t.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);let i=(t.ok?t.results:t.partialResults)??[],l=[];for(let e of i){if(!(0,y.enforceScope)(a.agent,{filePath:e,op:"read",workspaceId:u.id}).ok)continue;let t=k.default.basename(e);if(((0,E.matchGlob)(s,e)||(0,E.matchGlob)(s,t))&&(l.push({path:e}),l.length>=o))break}let d=!t.ok||t.truncated;return x.NextResponse.json({kind:n,query:s,matches:l,truncated:d})}let d=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!d.ok)return I("FORBIDDEN",d.message??"Forbidden",403);let p=await (0,A.rgLiteralSearch)(c,s,{limit:o,timeoutMs:1e4,startPath:r});if(!p.ok&&"unavailable"===p.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);let f=(p.ok?p.results:p.partialResults)??[],h=[];for(let e of f)if((0,y.enforceScope)(a.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok&&(h.push({path:e.path,score:e.score,snippet:e.firstMatch.snippet,line:e.firstMatch.line}),h.length>=o))break;let m=!p.ok||p.truncated;return x.NextResponse.json({kind:n,query:s,matches:h,truncated:m})}e.s(["POST",0,S,"runtime",0,"nodejs"],128310);var N=e.i(128310);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/fs/search/route",pathname:"/api/agent/fs/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/fs/search/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:D,serverHooks:C}=P;async function O(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/fs/search/route";w=w.replace(/\/index$/,"")||"/";let k=await P.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:R,parsedUrl:_,isDraftMode:b,prerenderManifest:E,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:M,serverActionsManifest:D}=k,C=(0,o.normalizeAppPath)(w),O=!!(E.dynamicRoutes[C]||E.routes[N]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,_,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!E.routes[N],t=E.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await T();throw new g.NoFallbackError}}let j=null;!O||P.isDev||b||(j="/index"===(j=N)?"/":j);let q=!0===P.isDev||!O,H=O&&!q;D&&M&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:M,serverActionsManifest:D});let L=e.method||"GET",F=(0,s.getTracer)(),U=F.getActiveScopeSpan(),B=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await P.getIncrementalCache(e,R,E,W);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let z={params:y,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:$,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>P.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x}},G=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>P.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${L} ${w}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&I&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(G,K,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,A),t}},u=await P.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&O||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,K,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&U?await o(U):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof g.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,A),O)throw t;return await (0,p.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:D})},"routeModule",0,P,"serverHooks",0,C,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,D],868593)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},267328,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_fs_mounts_ts_0ksy80l._.js"].map(t=>e.l(t))).then(()=>t(60845)))}];
1
+ module.exports=[857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},536654,e=>{"use strict";var t=e.i(912714),r=e.i(750227);function a(e){return!!(r.default.isAbsolute(e)||".."===e||e.startsWith(".."+r.default.sep)||e.startsWith("../"))}async function n(e,s,i={}){let 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),n=r.default.relative(o,e);if(a(n))return null;return{relPath:l,absolutePath:e}}catch{if(!i.allowMissing)return null;let e=u;for(;;){let n=r.default.dirname(e);if(n===e)break;try{let e=await (0,t.realpath)(n),s=r.default.relative(o,e);if(a(s))return null;return{relPath:l,absolutePath:u}}catch{e=n}}return null}}e.s(["resolveWorkspacePath",0,n])},848475,e=>{"use strict";var t=e.i(750227);let r={".md":"text/markdown; charset=utf-8",".markdown":"text/markdown; charset=utf-8",".mdx":"text/markdown; charset=utf-8",".txt":"text/plain; charset=utf-8",".json":"application/json; charset=utf-8",".jsonc":"application/json; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".mts":"text/typescript; charset=utf-8",".js":"text/javascript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".yaml":"text/yaml; charset=utf-8",".yml":"text/yaml; charset=utf-8",".toml":"text/toml; charset=utf-8",".xml":"application/xml; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".ico":"image/x-icon",".bmp":"image/bmp",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".py":"text/x-python; charset=utf-8",".rs":"text/x-rustsrc; charset=utf-8",".go":"text/x-go; charset=utf-8",".sh":"text/x-shellscript; charset=utf-8",".csv":"text/csv; charset=utf-8",".tsv":"text/tab-separated-values; charset=utf-8",".env":"text/plain; charset=utf-8",".log":"text/plain; charset=utf-8",".ini":"text/plain; charset=utf-8",".conf":"text/plain; charset=utf-8",".mmd":"text/plain; charset=utf-8",".ipynb":"application/json; charset=utf-8",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".doc":"application/msword",".xls":"application/vnd.ms-excel",".ppt":"application/vnd.ms-powerpoint",".mp4":"video/mp4",".webm":"video/webm",".mov":"video/quicktime",".m4v":"video/mp4",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".m4a":"audio/mp4",".aac":"audio/aac"};e.s(["contentTypeForPath",0,function(e){return r[t.default.extname(e).toLowerCase()]??"application/octet-stream"}])},719126,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(750227),n=e.i(716234),s=e.i(536654),i=e.i(848475);async function o(e,t){if(!e)return null;let r=await (0,s.resolveWorkspacePath)(e,t,{allowMissing:!0,deniedSegments:n.DENIED_SEGMENTS});return r?.absolutePath??null}async function l(e,t){let a=420;try{let t=await (0,r.stat)(e);a=511&t.mode}catch{}let n=e+".~"+process.pid+"."+Date.now()+".tmp",s=await (0,r.open)(n,"w",a);try{await s.write(t),await s.datasync()}finally{await s.close()}await (0,r.rename)(n,e)}async function u(e,t){let n=a.default.dirname(e);if(t)return await (0,r.mkdir)(n,{recursive:!0}),!0;try{return await (0,r.stat)(n),!0}catch{return!1}}e.s(["atomicWrite",0,l,"ensureParentDir",0,u,"extractShaHex",0,function(e){return e.replace(/^"/,"").replace(/"$/,"").replace(/^sha256:/,"")},"isDeniedRelPath",0,function(e){let t=e.replace(/\\/g,"/");return n.DENIED_SEGMENTS.some(e=>t===e||t.startsWith(e+"/"))},"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,i.contentTypeForPath)(e)},"safeAbsPath",0,o,"sha256ofBuf",0,function(e){return"sha256:"+(0,t.createHash)("sha256").update(e).digest("hex")}])},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),r=e.i(912714),a=e.i(660526),n=e.i(750227),s=e.i(832852);let i="__registry__",o=new Map;function l(){let e=process.env.HOME??a.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,r.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function p(e){await (0,r.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,r.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,r.chmod)(t,384)}catch{}await (0,r.rename)(t,u())}async function f(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await p(t),t}async function h(e){let r=await d();if(!r)return null;let a=c(e);for(let e of r.agents)if(function(e,r){let a=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(r.padEnd(64,"0"),"utf8");return a.length===n.length&&(0,t.timingSafeEqual)(a,n)&&e.length===r.length}(e.tokenHash,a))return e;return null}async function m(e){let t=await d();return t?t.agents.find(t=>t.id===e)??null:null}async function g(e){await (0,s.withFileMutex)(i,async()=>{let t=await f(),r=t.agents.findIndex(t=>t.id===e.id);r>=0?t.agents[r]=e:t.agents.push(e),await p(t)})}async function v(e){return(0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return!1;let r=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==r&&(await p(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,s.withFileMutex)(i,async()=>{let t=await d();if(!t)return;let r=t.agents.find(t=>t.id===e);r&&(r.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await p(t))}).catch(()=>{})}e.s(["addAgent",0,g,"hashToken",0,c,"lookupAgentById",0,m,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,v,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function r(e,t){return(function(e){let t="^",r=0;for(;r<e.length;)"*"===e[r]&&"*"===e[r+1]?(t+=".*","/"===e[r+=2]&&(t+="(?:.+/)?",r++)):("*"===e[r]?t+="[^/]*":"?"===e[r]?t+="[^/]":t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,r],552350);var a=e.i(254226);async function n(e){let r=await (0,a.getSessionFromRequest)(e);if(r?.user){let e=r.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",s=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!s)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let i=await (0,t.lookupAgentByToken)(s);if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==i.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(i.id),{ok:!0,agent:i}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:a}=e;return void 0!==a.workspaceId&&void 0!==t.workspaceId&&a.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${a.workspaceId}")`}:a.ops.includes(t.op)?t.filePath&&!a.paths.some(e=>r(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},844376,(e,t,r)=>{t.exports=e.x("node:module",()=>require("node:module"))},511745,883129,e=>{"use strict";let t;var r=e.i(874533),a=e.i(750227),n=e.i(844376),s=e.i(812057),i=e.i(902157),o=e.i(857764);let l={get url(){return`file://${e.P("src/lib/search/rg-path.ts")}`}},u=(0,s.promisify)(r.execFile);function c(e){try{let t=(0,i.statSync)(e);return t.isFile()&&(73&t.mode)!=0}catch{return!1}}function d(e,t,r){let n=a.default.resolve(e);for(let e=0;e<=t;e++){let e=a.default.join(n,r);if(c(e))return e;let t=a.default.dirname(n);if(t===n)break;n=t}return null}async function p(){try{return await u("rg",["--version"]),"rg"}catch{return null}}async function f(){if(void 0!==t)return t;let e=process.env.WIKI_VIEWER_RG;if(e&&c(e))return t=e;let r=process.env.npm_config_arch||process.arch,s=`@vscode/ripgrep-${process.platform}-${r}`;try{let e=(0,o.fileURLToPath)(l.resolve("@vscode/ripgrep")),r=(0,n.createRequire)(e).resolve(`${s}/bin/rg`);if(c(r))return t=r}catch{}let i=a.default.join("node_modules",s,"bin","rg"),u=d(process.cwd(),5,i);if(u)return t=u;let f=a.default.dirname(process.execPath);if(f!==process.cwd()){let e=d(f,5,i);if(e)return t=e}return t=await p()}function h(e){return e.replace(/<\/?mark>/g,"")}function m(e,t,r={}){let a=r.window??60;if(!t.length)return h(e);let n=Buffer.from(e,"utf8"),s=n.length,i=[...t].sort((e,t)=>e.start-t.start),o=i[0],l=Math.floor((o.start+o.end)/2),u=Math.max(0,l-a),c=Math.min(s,l+a);for(;u>0&&(192&n[u])==128;)u++;for(;c<s&&(192&n[c])==128;)c--;let d=i.filter(e=>e.start<c&&e.end>u),p=[],f=u;for(let e of d){let t=Math.max(u,e.start),r=Math.min(c,e.end);t>f&&p.push({text:n.toString("utf8",f,t),mark:!1}),r>t&&p.push({text:n.toString("utf8",t,r),mark:!0}),f=r}f<c&&p.push({text:n.toString("utf8",f,c),mark:!1});let g="";for(let e of(u>0&&(g+="…"),p)){let t=h(e.text);g+=e.mark?`<mark>${t}</mark>`:t}return c<s&&(g+="…"),g}e.s(["buildSnippet",0,m],883129);var g=e.i(719126);let v=null;async function w(){if(v)return v;try{let t=await e.A(267328);return v=t,t}catch{return v={nestedHazardMounts:()=>[],rootIsHazardMount:()=>!1}}}let k=[".git",".pi",".proof","node_modules",".next"];async function x(e){let t=[];for(let e of k)t.push("--glob",`!${e}/**`);for(let r of(await w()).nestedHazardMounts(e)){let n=a.default.relative(e,r);!n||n.startsWith("..")||a.default.isAbsolute(n)||(n=n.replace(/\\/g,"/"),t.push("--glob",`!${n}/**`))}return t}async function y(e){let t=["--json","--no-config","--no-messages","--no-follow","--hidden","--no-ignore","--max-filesize","2M","--crlf"];return(await w()).rootIsHazardMount(e)&&t.push("--no-mmap"),t.push(...await x(e)),t.push("--glob","!*.excalidraw"),t}function R(e){let t=e.replace(/\\/g,"/");return a.default.isAbsolute(t)||(t=a.default.normalize(t).replace(/\\/g,"/")).startsWith("..")||"."===t||(0,g.isDeniedRelPath)(t)?null:t}function _(e){try{e.kill("SIGTERM")}catch{}setTimeout(()=>{try{e.kill("SIGKILL")}catch{}},2e3)}function b(e,t,a,n,s,i,o){return new Promise(l=>{if(s.signal?.aborted)return void l({outcome:"aborted",code:null,stderr:"",truncated:!0});let u=(0,r.spawn)(e,t,{cwd:a,stdio:["ignore","pipe","pipe"],env:{...process.env,RIPGREP_CONFIG_PATH:""}}),c="",d="",p=!1,f=!1,h=null,m=e=>{p||(p=!0,clearTimeout(g),v?.removeEventListener("abort",w),l({outcome:e,code:h,stderr:d,truncated:f}))},g=setTimeout(()=>{f=!0,_(u),m("timeout")},s.timeoutMs),v=s.signal,w=()=>{f=!0,_(u),m("aborted")};v?.addEventListener("abort",w,{once:!0}),u.stdout?.on("data",e=>{if(c+=e.toString("utf8"),n){let e=c.split("\n");for(let t of(c=e.pop()??"",e)){let e;if(t.trim()){try{e=JSON.parse(t)}catch{continue}if("cap"===i(e)){f=!0,_(u),m("success");return}}}}else if(o){let e=c.split("\n");for(let t of(c=e.pop()??"",e))if(t&&"cap"===o(t)){f=!0,_(u),m("success");return}}}),u.stderr?.on("data",e=>{d+=e.toString("utf8")}),u.on("error",e=>{h=-1,d=e.message,m("error")}),u.on("close",e=>{if(h=e,!p){if(n&&c.trim())try{let e=JSON.parse(c.trim());i(e)}catch{}else!n&&o&&c&&o(c);0===e||1===e?m("success"):m("error")}})})}async function E(e,t,r={}){let a=t.trim();if(!a)return{ok:!0,results:[],truncated:!1};let n=a.split(/\s+/).slice(0,8).map(e=>e.endsWith("*")?e.slice(0,-1):e);if(0===n.length)return{ok:!0,results:[],truncated:!1};let s=await f();if(!s)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let i=new Map,o=r.limit??200,l=0,u=await y(e);for(let e of(u.push("--fixed-strings","--ignore-case"),n))u.push("-e",e);u.push("--",r.startPath??".");let c={timeoutMs:r.timeoutMs??1e4,signal:r.signal},d=await b(s,u,e,!0,c,e=>{if("match"!==e.type)return"continue";let t=e.data;if(!t)return"continue";let r=R(t.path.text);if(!r)return"continue";let a=(t.submatches??[]).map(e=>({start:e.start,end:e.end})),s=t.lines.text.replace(/\r?\n$/,""),u=m(s,a),c={path:r,line:t.line_number,col:a[0]?.start!=null?a[0].start+1:1,text:s,snippet:u},d=c.text.toLowerCase(),p=new Set;for(let e=0;e<n.length;e++)d.includes(n[e].toLowerCase())&&p.add(e);let f=i.get(r);for(let e of(f||(f={path:r,matches:[],tokenSet:new Set},i.set(r,f)),p))f.tokenSet.add(e);return(f.matches.push(c),++l>=o)?"cap":"continue"}),p=n.length,h=[];for(let e of i.values()){if(e.tokenSet.size<p)continue;let t=e.matches.sort((e,t)=>e.line-t.line)[0],r=e.tokenSet.size/p*1e3+Math.min(e.matches.length,100);h.push({path:e.path,matchCount:e.matches.length,tokensMatched:e.tokenSet.size,score:r,firstMatch:t})}return(h.sort((e,t)=>t.tokensMatched!==e.tokensMatched?t.tokensMatched-e.tokensMatched:t.matchCount!==e.matchCount?t.matchCount-e.matchCount:e.path.localeCompare(t.path)),"success"===d.outcome)?2===d.code?{ok:!1,reason:"error",message:d.stderr.trim().split("\n")[0]??"rg error",partialResults:h}:{ok:!0,results:h,truncated:d.truncated}:"timeout"===d.outcome?{ok:!1,reason:"timeout",message:"Search timed out",partialResults:h}:{ok:!1,reason:"error",message:d.stderr||"Search failed",partialResults:h}}async function A(e,t,r,a,n){var s,i;let o=[],l=a.limit??200,u=0,c=await y(t);n&&c.push("--pcre2"),c.push("-e",r),c.push("--",a.startPath??".");let d=await b(e,c,t,!0,{timeoutMs:a.timeoutMs??1e4,signal:a.signal},e=>{if("match"!==e.type)return"continue";let t=e.data;if(!t)return"continue";let r=R(t.path.text);if(!r)return"continue";let a=t.submatches??[];return(o.push({path:r,line:t.line_number,col:a[0]?.start!=null?a[0].start+1:1,text:t.lines.text.replace(/\r?\n$/,"")}),++u>=l)?"cap":"continue"});return{outcome:(s=d,i=o,"timeout"===s.outcome?{ok:!1,reason:"timeout",message:"Search timed out",partialResults:i}:"aborted"===s.outcome?{ok:!1,reason:"error",message:"Search aborted",partialResults:i}:"error"===s.outcome||2===s.code?{ok:!1,reason:"error",message:s.stderr.trim().split("\n")[0]??"rg error",partialResults:i}:{ok:!0,results:i,truncated:s.truncated}),stderr:d.stderr,code:d.code}}function I(e){let t=e.toLowerCase();return t.includes("look-around")||t.includes("lookaround")||t.includes("backreference")||t.includes("back-reference")||t.includes("lookahead")||t.includes("lookbehind")}function S(e){let t=e.toLowerCase();return t.includes("regex")||t.includes("pattern")||t.includes("parse")||t.includes("syntax")||t.includes("unclosed")||I(t)}async function N(e,t,r={}){let a=t.trim();if(!a)return{ok:!0,results:[],truncated:!1};let n=await f();if(!n)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let s=await A(n,e,a,r,!1);if(!s.outcome.ok&&"error"===s.outcome.reason&&I(s.stderr)){let t=await A(n,e,a,r,!0);return!t.outcome.ok&&"error"===t.outcome.reason&&S(t.stderr)?{ok:!1,reason:"invalid-pattern",message:t.stderr.trim().split("\n")[0]??"Invalid regex pattern",partialResults:t.outcome.partialResults}:t.outcome}return!s.outcome.ok&&"error"===s.outcome.reason&&S(s.stderr)?{ok:!1,reason:"invalid-pattern",message:s.stderr.trim().split("\n")[0]??"Invalid regex pattern",partialResults:s.outcome.partialResults}:s.outcome}async function P(e,t={}){let r=await f();if(!r)return{ok:!1,reason:"unavailable",message:"ripgrep binary not found"};let a=[],n=t.limit??2e3,s=["--no-config","--no-messages","--no-follow","--hidden","--no-ignore","--crlf"];(await w()).rootIsHazardMount(e)&&s.push("--no-mmap"),s.push(...await x(e)),s.push("--files","--",t.startPath??".");let i=await b(r,s,e,!1,{timeoutMs:t.timeoutMs??1e4,signal:t.signal},()=>"continue",e=>{let t=e.trim();if(!t)return"continue";let r=R(t);return r&&(a.push(r),a.length>=n)?"cap":"continue"});return"success"===i.outcome?{ok:!0,results:a,truncated:i.truncated}:{ok:!1,reason:"timeout"===i.outcome?"timeout":"error",message:i.stderr||"rg --files failed",partialResults:a}}e.s(["rgListFiles",0,P,"rgLiteralSearch",0,E,"rgRegexSearch",0,N],511745)},868593,e=>{"use strict";var t=e.i(985426),r=e.i(257574),a=e.i(507835),n=e.i(457789),s=e.i(119791),i=e.i(141062),o=e.i(957291),l=e.i(535899),u=e.i(610241),c=e.i(62749),d=e.i(624891),p=e.i(725836),f=e.i(532736),h=e.i(257858),m=e.i(487476),g=e.i(193695);e.i(484264);var v=e.i(315709),w=e.i(912714),k=e.i(750227),x=e.i(351216),y=e.i(215043),R=e.i(660038),_=e.i(359211),b=e.i(719126),E=e.i(552350),A=e.i(511745);function I(e,t,r){return x.NextResponse.json({error:e,message:t},{status:r})}async function S(e){let t,r,a=await (0,y.checkAuth)(e);if(!a.ok)return I("UNAUTHORIZED",a.message??"Unauthorized",401);try{t=await e.json()}catch{return I("INVALID_PAYLOAD","Invalid JSON body",400)}if("grep"!==t.kind&&"glob"!==t.kind&&"fts"!==t.kind)return I("INVALID_PAYLOAD",'kind must be "grep", "glob", or "fts"',400);if("string"!=typeof t.query||"fts"!==t.kind&&!t.query)return I("INVALID_PAYLOAD","query (string) required",400);let n=t.kind,s=t.query,i="string"==typeof t.path?t.path:"",o=Math.min("number"==typeof t.limit?t.limit:200,2e3),l=await (0,R.resolveWorkspaceForAgent)(e);if(!l.ok)return I(l.code,l.code,l.status);let{ws:u,rootDir:c}=l;if(i){if(!(0,_.safeWorkspacePath)(c,i))return I("INVALID_PATH","path: traversal rejected",400);if(!await (0,b.safeAbsPath)(c,i))return I("INVALID_PATH","path: rejected (symlink escape or denied)",400)}if(i){try{if(!(await (0,w.stat)(k.default.join(c,i))).isDirectory())return I("NOT_A_DIRECTORY","path must be a directory",400)}catch(e){if("ENOENT"===e.code)return I("NOT_FOUND","Start path not found",404);throw e}r=i}if("grep"===n){let e=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!e.ok)return I("FORBIDDEN",e.message??"Forbidden",403);let t=await (0,A.rgRegexSearch)(c,s,{limit:o,timeoutMs:1e4,startPath:r});if(!t.ok&&"unavailable"===t.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);if(!t.ok&&"invalid-pattern"===t.reason)return I("SEARCH_ERROR",t.message,400);let i=(t.ok?t.results:t.partialResults)??[],l=[];for(let e of i)if((0,y.enforceScope)(a.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok&&(l.push({path:e.path,line:e.line,col:e.col,text:e.text}),l.length>=o))break;let d=!t.ok||t.truncated;return x.NextResponse.json({kind:n,query:s,matches:l,truncated:d})}if("glob"===n){let e=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!e.ok)return I("FORBIDDEN",e.message??"Forbidden",403);let t=await (0,A.rgListFiles)(c,{limit:2e3,timeoutMs:1e4,startPath:r});if(!t.ok&&"unavailable"===t.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);let i=(t.ok?t.results:t.partialResults)??[],l=[];for(let e of i){if(!(0,y.enforceScope)(a.agent,{filePath:e,op:"read",workspaceId:u.id}).ok)continue;let t=k.default.basename(e);if(((0,E.matchGlob)(s,e)||(0,E.matchGlob)(s,t))&&(l.push({path:e}),l.length>=o))break}let d=!t.ok||t.truncated;return x.NextResponse.json({kind:n,query:s,matches:l,truncated:d})}let d=(0,y.enforceScope)(a.agent,{op:"read",workspaceId:u.id});if(!d.ok)return I("FORBIDDEN",d.message??"Forbidden",403);let p=await (0,A.rgLiteralSearch)(c,s,{limit:o,timeoutMs:1e4,startPath:r});if(!p.ok&&"unavailable"===p.reason)return I("SEARCH_UNAVAILABLE","ripgrep not available; set WIKI_VIEWER_RG to override",503);let f=(p.ok?p.results:p.partialResults)??[],h=[];for(let e of f)if((0,y.enforceScope)(a.agent,{filePath:e.path,op:"read",workspaceId:u.id}).ok&&(h.push({path:e.path,score:e.score,snippet:e.firstMatch.snippet,line:e.firstMatch.line}),h.length>=o))break;let m=!p.ok||p.truncated;return x.NextResponse.json({kind:n,query:s,matches:h,truncated:m})}e.s(["POST",0,S,"runtime",0,"nodejs"],128310);var N=e.i(128310);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agent/fs/search/route",pathname:"/api/agent/fs/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/agent/fs/search/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:D,serverHooks:C}=P;async function O(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/agent/fs/search/route";w=w.replace(/\/index$/,"")||"/";let k=await P.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:R,parsedUrl:_,isDraftMode:b,prerenderManifest:E,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:M,serverActionsManifest:D}=k,C=(0,o.normalizeAppPath)(w),O=!!(E.dynamicRoutes[C]||E.routes[N]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,_,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!E.routes[N],t=E.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await T();throw new g.NoFallbackError}}let j=null;!O||P.isDev||b||(j="/index"===(j=N)?"/":j);let q=!0===P.isDev||!O,H=O&&!q;D&&M&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:M,serverActionsManifest:D});let L=e.method||"GET",F=(0,s.getTracer)(),U=F.getActiveScopeSpan(),B=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await P.getIncrementalCache(e,R,E,W);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let z={params:y,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:$,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>P.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x}},G=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>P.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${L} ${w}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&I&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(G,K,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.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,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,A),t}},u=await P.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&O||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,K,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&U?await o(U):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof g.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,A),O)throw t;return await (0,p.sendResponse)(G,K,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:D})},"routeModule",0,P,"serverHooks",0,C,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,D],868593)},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},769787,e=>{e.v(t=>Promise.all(["server/chunks/01er_better-auth_dist_adapters_kysely-adapter_index_mjs_0s~-4gu._.js"].map(t=>e.l(t))).then(()=>t(717789)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},697743,e=>{e.v(t=>Promise.all(["server/chunks/0.u4_next_05jevxw._.js"].map(t=>e.l(t))).then(()=>t(428325)))},99243,e=>{e.v(e=>Promise.resolve().then(()=>e(313414)))},893412,e=>{e.v(e=>Promise.resolve().then(()=>e(499465)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},267328,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_fs_mounts_ts_0ksy80l._.js"].map(t=>e.l(t))).then(()=>t(60845)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__10i6erq._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function i(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function n(){return(await (0,t.readConfig)()).adminUserIds??[]}async function o(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function a(e){let r=s().length>0,i=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(i=!0,t)}),i)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function u(e){if(s().length>0||r.SYNTHETIC_USER_IDS.has(e)||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let i=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(i=!0,{...t,adminUserIds:[e]})),i&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function l(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await i(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,o,"ensureBootstrapAdmin",0,u,"isAdmin",0,i,"listAdmins",0,n,"removeAdmin",0,a,"requireAdmin",0,l])},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),i=e.i(912714),n=e.i(750227),o=e.i(660526);e.i(902157);let a=RegExp("[;|&$`<>(){}\\n\\r\\0]");function u(e){let{target:t,mountpoint:r,port:s}=e,i=t.user?`${t.user}@`:"",n=[`${i}${t.host}:${t.remotePath}`,r];s&&Number.isInteger(Number(s))&&Number(s)>0&&65536>Number(s)&&n.push("-p",String(s));let o=e.authMethod??"agent";!e.authMethod&&(null!=e.password?o="password":e.keyPath&&(o="keyfile"));let a=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(e.readOnly&&a.push("ro"),"keyfile"===o&&e.keyPath&&(a.push(`IdentityFile=${e.keyPath}`),a.push("IdentitiesOnly=yes")),"password"===o){let e=a.indexOf("BatchMode=yes");e>=0&&a.splice(e,1),a.push("password_stdin"),a.push("PreferredAuthentications=password,keyboard-interactive"),a.push("PubkeyAuthentication=no"),a.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&a.push(...e.extraOptions),n.push("-o",a.join(",")),n}e.s(["buildSshfsArgs",0,u,"isValidKeyPath",0,function(e){return!(!e||a.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"parseSshTarget",0,function(e){let t;if(!e||a.test(e))return null;let r=e.trim(),s=r.indexOf(":");if(s<=0)return null;let i=r.slice(0,s),n=r.slice(s+1);if(!n.startsWith("/")||n.includes(".."))return null;let o=i,u=i.indexOf("@");return u>=0&&(t=i.slice(0,u),o=i.slice(u+1),!t)?null:o&&/^[a-zA-Z0-9.\-]+$/.test(o)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:o,remotePath:n}:null}],296555);let l=(0,s.promisify)(r.execFile);function c(){return n.default.join(o.default.homedir(),".wiki-viewer","mounts")}async function d(){if(!0!==t)try{await l("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 f(t){var r;let s=n.default.resolve(t),o=!1;try{o=(await (0,i.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===s&&/fuse/.test(t[2]??"")})}catch{o=!1}return!!o&&(r=s,new Promise(t=>{let s=!1,i=setTimeout(()=>{s||(s=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(r)).then(()=>{s||(s=!0,clearTimeout(i),t(!0))}).catch(()=>{s||(s=!0,clearTimeout(i),t(!1))})}))}async function h(e){await d(),await (0,i.mkdir)(e.mountpoint,{recursive:!0});let t=u(e);if(await new Promise((s,i)=>{let n=(0,r.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),o="",a=setTimeout(()=>{n.kill("SIGKILL"),i(Error("sshfs mount timed out after 25s."))},25e3);n.stderr?.on("data",e=>{o+=e.toString()}),n.on("error",e=>{clearTimeout(a),i(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),n.on("close",e=>{clearTimeout(a),0===e?s():i(Error(`sshfs exited ${e}: ${o.trim()||"mount failed"}`))}),"password"===e.authMethod&&n.stdin?.write((e.password??"")+"\n"),n.stdin?.end()}),!await f(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function m(e){let t=n.default.resolve(e);for(let[e,r]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await l(e,r);break}catch{}try{await (0,i.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,d,"isMounted",0,f,"mountSshfs",0,h,"mountpointFor",0,function(e){return n.default.join(c(),e)},"mountsDir",0,c,"unmountSshfs",0,m],256294)},499465,e=>{"use strict";var t=e.i(750227),r=e.i(660526),s=e.i(902157),i=e.i(666680);let n=t.default.join(process.env.HOME??r.default.homedir(),".wiki-viewer"),o=t.default.join(n,"api-key");function a(){return(0,s.existsSync)(o)?(0,s.readFileSync)(o,"utf-8").trim():""}e.s(["getApiKey",0,a,"isApiKeyRequest",0,function(e){return(function(e){let t=[],r=e.headers.get("authorization")??"";if(r.startsWith("Bearer ")){let e=r.slice(7).trim();e&&t.push(e)}return t})(e).some(e=>(function(e){let t=a();if(!t||!e||t.length!==e.length)return!1;try{return(0,i.timingSafeEqual)(Buffer.from(t,"utf-8"),Buffer.from(e,"utf-8"))}catch{return!1}})(e))},"rotateApiKey",0,function(){(0,s.mkdirSync)(n,{recursive:!0});let e=(0,i.randomBytes)(32).toString("hex");(0,s.writeFileSync)(o,e,{mode:384});try{(0,s.chmodSync)(o,384)}catch{}return e}])},660038,e=>{"use strict";var t=e.i(750227),r=e.i(666680),s=e.i(902157),i=e.i(254226),n=e.i(499465),o=e.i(583627),a=e.i(359211);async function u(e,i){var o;let a;if(!("1"===process.env.WIKI_NO_AUTH||(0,n.isApiKeyRequest)(e)))return{ok:!1,status:400,code:"root_requires_api_key"};let u=function(e){let r,i=t.default.resolve(e);try{r=(0,s.statSync)(i)}catch{return{ok:!1,code:"root_not_found"}}return r.isDirectory()?{ok:!0,rootDir:i}:{ok:!1,code:"root_not_a_directory"}}(i);return u.ok?{ok:!0,ws:(o=u.rootDir,a=(0,r.createHash)("sha256").update(o).digest("hex").slice(0,12),{id:`ws_eph_${a}`,name:t.default.basename(o)||"workspace",rootDir:o,createdAt:new Date(0).toISOString(),ephemeral:!0})}:{ok:!1,status:400,code:u.code}}async function l(e){let t,r=new URL(e.url);if("1"===process.env.WIKI_LITE){let t=r.searchParams.get("root");return t?u(e,t):{ok:!1,status:400,code:"root_required"}}await (0,a.migrateConfigToWorkspaces)();let s=r.searchParams.get("root");if(s)return u(e,s);let i=r.searchParams.get("ws")??e.headers.get("x-workspace")??null;if(i)t=await (0,a.getWorkspace)(i)??null;else{let e=await (0,a.listWorkspaces)();if(0===e.length)return{ok:!1,status:400,code:"WORKSPACE_REQUIRED"};t=e.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,s=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return s!==r?s-r:e.id<t.id?-1:+(e.id>t.id)})[0]}return t?(t.ssh&&await (0,a.ensureWorkspaceMounted)(t),{ok:!0,ws:t}):{ok:!1,status:i?404:400,code:i?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function c(e,t="read"){if("1"===process.env.WIKI_NO_AUTH){let r=await l(e);if(!r.ok)return r;let{ws:s}=r;return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir,userId:"local",isAdmin:!0}}let r=await (0,i.requireUser)(e);if(!r.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let s=await (0,o.isAdmin)(r.user.id,r.user.email),n=await l(e);if(!n.ok)return n;let{ws:u}=n;return u.ephemeral||(0,a.userCanAccess)(u,r.user.id,s)?"write"===t&&u.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:u,rootDir:u.rootDir,userId:r.user.id,isAdmin:s}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}}async function d(e,t="read"){let r=await l(e);if(!r.ok)return r;let{ws:s}=r;return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir}}e.s(["resolveWorkspaceForAgent",0,d,"resolveWorkspaceForUser",0,c],660038)}];
1
+ module.exports=[583627,e=>{"use strict";var t=e.i(798003),r=e.i(254226);function s(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function i(e,r){if(r){let e=s();if(e.length>0&&e.includes(r.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function n(){return(await (0,t.readConfig)()).adminUserIds??[]}async function o(e){await (0,t.updateConfig)(t=>{let r=t.adminUserIds??[];return r.includes(e)?t:{...t,adminUserIds:[...r,e]}})}async function a(e){let r=s().length>0,i=!1;if(await (0,t.updateConfig)(t=>{let s=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==s.length||r?{...t,adminUserIds:s}:(i=!0,t)}),i)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function u(e){if(s().length>0||r.SYNTHETIC_USER_IDS.has(e)||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let i=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(i=!0,{...t,adminUserIds:[e]})),i&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function l(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,r.requireUser)(e);return t.ok?await i(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,o,"ensureBootstrapAdmin",0,u,"isAdmin",0,i,"listAdmins",0,n,"removeAdmin",0,a,"requireAdmin",0,l])},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),i=e.i(912714),n=e.i(750227),o=e.i(660526);e.i(902157);let a=RegExp("[;|&$`<>(){}\\n\\r\\0]");function u(e){let{target:t,mountpoint:r,port:s}=e,i=t.user?`${t.user}@`:"",n=[`${i}${t.host}:${t.remotePath}`,r];s&&Number.isInteger(Number(s))&&Number(s)>0&&65536>Number(s)&&n.push("-p",String(s));let o=e.authMethod??"agent";!e.authMethod&&(null!=e.password?o="password":e.keyPath&&(o="keyfile"));let a=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(e.readOnly&&a.push("ro"),"keyfile"===o&&e.keyPath&&(a.push(`IdentityFile=${e.keyPath}`),a.push("IdentitiesOnly=yes")),"password"===o){let e=a.indexOf("BatchMode=yes");e>=0&&a.splice(e,1),a.push("password_stdin"),a.push("PreferredAuthentications=password,keyboard-interactive"),a.push("PubkeyAuthentication=no"),a.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&a.push(...e.extraOptions),n.push("-o",a.join(",")),n}e.s(["buildSshfsArgs",0,u,"isValidKeyPath",0,function(e){return!(!e||a.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"parseSshTarget",0,function(e){let t;if(!e||a.test(e))return null;let r=e.trim(),s=r.indexOf(":");if(s<=0)return null;let i=r.slice(0,s),n=r.slice(s+1);if(!n.startsWith("/")||n.includes(".."))return null;let o=i,u=i.indexOf("@");return u>=0&&(t=i.slice(0,u),o=i.slice(u+1),!t)?null:o&&/^[a-zA-Z0-9.\-]+$/.test(o)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:o,remotePath:n}:null}],296555);let l=(0,s.promisify)(r.execFile);function c(){return n.default.join(o.default.homedir(),".wiki-viewer","mounts")}async function d(){if(!0!==t)try{await l("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 f(t){var r;let s=n.default.resolve(t),o=!1;try{o=(await (0,i.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===s&&/fuse/.test(t[2]??"")})}catch{o=!1}return!!o&&(r=s,new Promise(t=>{let s=!1,i=setTimeout(()=>{s||(s=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(r)).then(()=>{s||(s=!0,clearTimeout(i),t(!0))}).catch(()=>{s||(s=!0,clearTimeout(i),t(!1))})}))}async function h(e){await d(),await (0,i.mkdir)(e.mountpoint,{recursive:!0});let t=u(e);if(await new Promise((s,i)=>{let n=(0,r.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),o="",a=setTimeout(()=>{n.kill("SIGKILL"),i(Error("sshfs mount timed out after 25s."))},25e3);n.stderr?.on("data",e=>{o+=e.toString()}),n.on("error",e=>{clearTimeout(a),i(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),n.on("close",e=>{clearTimeout(a),0===e?s():i(Error(`sshfs exited ${e}: ${o.trim()||"mount failed"}`))}),"password"===e.authMethod&&n.stdin?.write((e.password??"")+"\n"),n.stdin?.end()}),!await f(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function m(e){let t=n.default.resolve(e);for(let[e,r]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await l(e,r);break}catch{}try{await (0,i.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,d,"isMounted",0,f,"mountSshfs",0,h,"mountpointFor",0,function(e){return n.default.join(c(),e)},"mountsDir",0,c,"unmountSshfs",0,m],256294)},499465,e=>{"use strict";var t=e.i(750227),r=e.i(660526),s=e.i(902157),i=e.i(666680);let n=t.default.join(process.env.HOME??r.default.homedir(),".wiki-viewer"),o=t.default.join(n,"api-key");function a(){return(0,s.existsSync)(o)?(0,s.readFileSync)(o,"utf-8").trim():""}e.s(["ensureApiKey",0,function(){if((0,s.mkdirSync)(n,{recursive:!0}),!(0,s.existsSync)(o)){let e=(0,i.randomBytes)(32).toString("hex");(0,s.writeFileSync)(o,e,{mode:384});try{(0,s.chmodSync)(o,384)}catch{}return e}return(0,s.readFileSync)(o,"utf-8").trim()},"getApiKey",0,a,"isApiKeyRequest",0,function(e){return(function(e){let t=[],r=e.headers.get("authorization")??"";if(r.startsWith("Bearer ")){let e=r.slice(7).trim();e&&t.push(e)}return t})(e).some(e=>(function(e){let t=a();if(!t||!e||t.length!==e.length)return!1;try{return(0,i.timingSafeEqual)(Buffer.from(t,"utf-8"),Buffer.from(e,"utf-8"))}catch{return!1}})(e))},"rotateApiKey",0,function(){(0,s.mkdirSync)(n,{recursive:!0});let e=(0,i.randomBytes)(32).toString("hex");(0,s.writeFileSync)(o,e,{mode:384});try{(0,s.chmodSync)(o,384)}catch{}return e}])},660038,e=>{"use strict";var t=e.i(750227),r=e.i(666680),s=e.i(902157),i=e.i(254226),n=e.i(499465),o=e.i(583627),a=e.i(359211);async function u(e,i){var o;let a;if(!("1"===process.env.WIKI_NO_AUTH||(0,n.isApiKeyRequest)(e)))return{ok:!1,status:400,code:"root_requires_api_key"};let u=function(e){let r,i=t.default.resolve(e);try{r=(0,s.statSync)(i)}catch{return{ok:!1,code:"root_not_found"}}return r.isDirectory()?{ok:!0,rootDir:i}:{ok:!1,code:"root_not_a_directory"}}(i);return u.ok?{ok:!0,ws:(o=u.rootDir,a=(0,r.createHash)("sha256").update(o).digest("hex").slice(0,12),{id:`ws_eph_${a}`,name:t.default.basename(o)||"workspace",rootDir:o,createdAt:new Date(0).toISOString(),ephemeral:!0})}:{ok:!1,status:400,code:u.code}}async function l(e){let t,r=new URL(e.url);if("1"===process.env.WIKI_LITE){let t=r.searchParams.get("root");return t?u(e,t):{ok:!1,status:400,code:"root_required"}}await (0,a.migrateConfigToWorkspaces)();let s=r.searchParams.get("root");if(s)return u(e,s);let i=r.searchParams.get("ws")??e.headers.get("x-workspace")??null;if(i)t=await (0,a.getWorkspace)(i)??null;else{let e=await (0,a.listWorkspaces)();if(0===e.length)return{ok:!1,status:400,code:"WORKSPACE_REQUIRED"};t=e.slice().sort((e,t)=>{let r=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,s=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return s!==r?s-r:e.id<t.id?-1:+(e.id>t.id)})[0]}return t?(t.ssh&&await (0,a.ensureWorkspaceMounted)(t),{ok:!0,ws:t}):{ok:!1,status:i?404:400,code:i?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function c(e,t="read"){if("1"===process.env.WIKI_NO_AUTH){let r=await l(e);if(!r.ok)return r;let{ws:s}=r;return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir,userId:"local",isAdmin:!0}}let r=await (0,i.requireUser)(e);if(!r.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let s=await (0,o.isAdmin)(r.user.id,r.user.email),n=await l(e);if(!n.ok)return n;let{ws:u}=n;return u.ephemeral||(0,a.userCanAccess)(u,r.user.id,s)?"write"===t&&u.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:u,rootDir:u.rootDir,userId:r.user.id,isAdmin:s}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}}async function d(e,t="read"){let r=await l(e);if(!r.ok)return r;let{ws:s}=r;return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir}}e.s(["resolveWorkspaceForAgent",0,d,"resolveWorkspaceForUser",0,c],660038)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__12g8s_j._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[487584,s=>{"use strict";s.s([])}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_wiki_preview-token_route_actions_0qy7g8h.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[499465,e=>{"use strict";var t=e.i(750227),r=e.i(660526),i=e.i(902157),n=e.i(666680);let u=t.default.join(process.env.HOME??r.default.homedir(),".wiki-viewer"),o=t.default.join(u,"api-key");function f(){return(0,i.existsSync)(o)?(0,i.readFileSync)(o,"utf-8").trim():""}e.s(["getApiKey",0,f,"isApiKeyRequest",0,function(e){return(function(e){let t=[],r=e.headers.get("authorization")??"";if(r.startsWith("Bearer ")){let e=r.slice(7).trim();e&&t.push(e)}return t})(e).some(e=>(function(e){let t=f();if(!t||!e||t.length!==e.length)return!1;try{return(0,n.timingSafeEqual)(Buffer.from(t,"utf-8"),Buffer.from(e,"utf-8"))}catch{return!1}})(e))},"rotateApiKey",0,function(){(0,i.mkdirSync)(u,{recursive:!0});let e=(0,n.randomBytes)(32).toString("hex");(0,i.writeFileSync)(o,e,{mode:384});try{(0,i.chmodSync)(o,384)}catch{}return e}])}];
1
+ module.exports=[499465,e=>{"use strict";var t=e.i(750227),r=e.i(660526),i=e.i(902157),n=e.i(666680);let u=t.default.join(process.env.HOME??r.default.homedir(),".wiki-viewer"),c=t.default.join(u,"api-key");function o(){return(0,i.existsSync)(c)?(0,i.readFileSync)(c,"utf-8").trim():""}e.s(["ensureApiKey",0,function(){if((0,i.mkdirSync)(u,{recursive:!0}),!(0,i.existsSync)(c)){let e=(0,n.randomBytes)(32).toString("hex");(0,i.writeFileSync)(c,e,{mode:384});try{(0,i.chmodSync)(c,384)}catch{}return e}return(0,i.readFileSync)(c,"utf-8").trim()},"getApiKey",0,o,"isApiKeyRequest",0,function(e){return(function(e){let t=[],r=e.headers.get("authorization")??"";if(r.startsWith("Bearer ")){let e=r.slice(7).trim();e&&t.push(e)}return t})(e).some(e=>(function(e){let t=o();if(!t||!e||t.length!==e.length)return!1;try{return(0,n.timingSafeEqual)(Buffer.from(t,"utf-8"),Buffer.from(e,"utf-8"))}catch{return!1}})(e))},"rotateApiKey",0,function(){(0,i.mkdirSync)(u,{recursive:!0});let e=(0,n.randomBytes)(32).toString("hex");(0,i.writeFileSync)(c,e,{mode:384});try{(0,i.chmodSync)(c,384)}catch{}return e}])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_auth_api-key_ts_0t_ma-t._.js.map