diffhub 0.1.6 → 0.1.8

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 (69) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +2 -2
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/standalone/apps/web/.next/server/app/api/comments/route.js +1 -1
  21. package/.next/standalone/apps/web/.next/server/app/api/comments/route.js.nft.json +1 -1
  22. package/.next/standalone/apps/web/.next/server/app/api/diff/route.js +1 -1
  23. package/.next/standalone/apps/web/.next/server/app/api/diff/route.js.nft.json +1 -1
  24. package/.next/standalone/apps/web/.next/server/app/api/discard/route.js +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/api/discard/route.js.nft.json +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/api/file/route.js +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/api/file/route.js.nft.json +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/api/files/route.js +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/api/files/route.js.nft.json +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/api/watch/route.js +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/api/watch/route.js.nft.json +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/index.rsc +3 -3
  34. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  35. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +3 -3
  36. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  37. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
  38. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  39. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__002xd2v._.js +4 -0
  41. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__08v6xj7._.js +4 -0
  42. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0of4lzl._.js +3 -0
  43. package/.next/standalone/apps/web/.next/server/chunks/{[root-of-the-server]__0f~jrb-._.js → [root-of-the-server]__0w_z88x._.js} +1 -1
  44. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0wmjj~m._.js +4 -0
  45. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0zeknn4._.js +4 -0
  46. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__11d5pg1._.js +4 -0
  47. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0oc3qg_._.js +17 -17
  48. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  49. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  50. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  51. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  52. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  53. package/.next/standalone/apps/web/.next/static/chunks/0gcusppap8f2f.js +44 -0
  54. package/.next/standalone/apps/web/.next/static/chunks/0rv4vihrj083t.css +3 -0
  55. package/.next/standalone/apps/web/package.json +3 -2
  56. package/README.md +2 -2
  57. package/bin/diffhub.mjs +13 -4
  58. package/package.json +3 -2
  59. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0.w.o06._.js +0 -4
  60. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__01xaw-k._.js +0 -4
  61. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__09jw.a~._.js +0 -4
  62. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0gx-yyt._.js +0 -4
  63. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0h91.i1._.js +0 -3
  64. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0rv27~3._.js +0 -4
  65. package/.next/standalone/apps/web/.next/static/chunks/0_87y4ku2u.g6.js +0 -44
  66. package/.next/standalone/apps/web/.next/static/chunks/0lo6jalz5wqe-.css +0 -3
  67. /package/.next/standalone/apps/web/.next/static/{f0Q3TSdyAWb6O9i9BUoq8 → jwjMsDTIK6u1jExOzJG4I}/_buildManifest.js +0 -0
  68. /package/.next/standalone/apps/web/.next/static/{f0Q3TSdyAWb6O9i9BUoq8 → jwjMsDTIK6u1jExOzJG4I}/_clientMiddlewareManifest.js +0 -0
  69. /package/.next/standalone/apps/web/.next/static/{f0Q3TSdyAWb6O9i9BUoq8 → jwjMsDTIK6u1jExOzJG4I}/_ssgManifest.js +0 -0
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let a="gitdir:";class n extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,n,"getGitDirectory",0,e=>{let n=(0,r.join)(e,".git");if(!(0,t.existsSync)(n)||(0,t.lstatSync)(n).isDirectory())return n;let i=(0,t.readFileSync)(n,"utf-8").trim();if(!i.startsWith(a))return n;let s=i.slice(a.length).trim();return(0,r.resolve)((0,r.dirname)(n),s)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new n(t);let a=(0,r.resolve)(e,t),i=(0,r.relative)(e,a);if(i.startsWith("..")||(0,r.isAbsolute)(i))throw new n(t);return a}])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},69951,73733,e=>{"use strict";var t=e.i(74533),r=e.i(66680),a=e.i(2157),n=e.i(60526),i=e.i(50227);let s=()=>{let e,t;return{promise:new Promise((r,a)=>{e=r,t=a}),reject:t,resolve:e}};e.s(["createDeferred",0,s],73733);var o=e.i(59130),l=e.i(66312);let d=(()=>{let e=globalThis;if(!e.__diffhubGitRuntimeState){let t=process.env.DIFFHUB_SERVER_BOOT_ID;e.__diffhubGitRuntimeState={cache:new Map,gitCommandQueue:Promise.resolve(),lastPointerMtime:0,serverBootId:t??(0,r.createHash)("sha1").update(`${process.pid}:${Date.now()}:${Math.random()}`).digest("hex")}}return e.__diffhubGitRuntimeState})(),{cache:c}=d,u=["main","master","develop","dev"],p="1"===process.env.DIFFHUB_DEBUG,f=e=>`diffhub-snapshot-${(0,r.createHash)("sha1").update(e).digest("hex")}-`,h=(e,t,a,s)=>{let o=JSON.stringify({base:t??"",mode:a??"",whitespace:s??""}),l=(0,r.createHash)("sha1").update(o).digest("hex");return(0,i.join)((0,n.tmpdir)(),`${f(e)}${l}.json`)},m=e=>{if(!e)return void c.clear();let t=`:${e}`;for(let e of c.keys())e.includes(t)&&c.delete(e)},g=e=>{if(m(e),"1"!==process.env.DIFFHUB_CMUX||"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER)return;if(!e){for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith("diffhub-snapshot-")&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0});return}let t=f(e);for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith(t)&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0})},v=async(e,t,r)=>{try{let e=(0,a.statSync)(l.REPO_POINTER).mtimeMs;e!==d.lastPointerMtime&&(d.lastPointerMtime=e,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?m():g())}catch{}let n=c.get(e);if(n&&n.expires>Date.now())return n.value;let i=await r();return c.set(e,{expires:Date.now()+t,value:i}),i},w=()=>(0,l.getConfiguredRepoPath)(),x=async e=>{let r=Date.now();p&&console.info("[diffhub] git command start",{args:e});try{let{promise:a,reject:n,resolve:i}=s();{let r=(0,t.spawn)("git",e,{cwd:w(),env:{...process.env,GIT_TERMINAL_PROMPT:"0"},stdio:["ignore","pipe","pipe"]}),a=[],s=[],o=0,l=!1,d=e=>{l||(l=!0,e())},c=(t,a)=>{let i=Buffer.isBuffer(a)?a:Buffer.from(a);if((o+=i.length)>0x1400000){r.kill("SIGKILL"),d(()=>{n(Error(`git ${e.join(" ")} failed: output exceeded 20971520 bytes`))});return}t.push(i)};r.stdout.on("data",e=>{c(a,e)}),r.stderr.on("data",e=>{c(s,e)}),r.on("error",e=>{d(()=>n(e))}),r.on("close",t=>{let r=Buffer.concat(a).toString("utf-8"),o=Buffer.concat(s).toString("utf-8").trim();0===t?d(()=>i(r)):d(()=>{n(Object.assign(Error(o||`git ${e.join(" ")} failed with exit code ${t??"unknown"}`),{code:t,status:t??void 0,stderr:o}))})})}let o=await a;return p&&console.info("[diffhub] git command success",{args:e,durationMs:Date.now()-r}),o}catch(a){let t="string"==typeof a.stderr?a.stderr.trim():a.stderr?.toString("utf-8").trim()||"";if(console.error("[diffhub] git command failed",{args:e,code:a.code,durationMs:Date.now()-r,error:a,status:a.status,stderr:t||null}),a instanceof Error&&!t)throw a;throw Error(t||`git ${e.join(" ")} failed: ${a.message}`,{cause:a})}},y=async e=>{let t,r=new Promise(e=>{t=e}),a=d.gitCommandQueue;d.gitCommandQueue=r,await a;try{return await x(e)}finally{t()}},R=e=>e.split("\n").map(e=>e.trim()).filter(Boolean),b=e=>(0,r.createHash)("sha1").update(e).digest("hex"),E=(e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return null;let s=h(e,t,r,n);try{let t=(0,a.readFileSync)(s,"utf-8"),r=JSON.parse(t),n=Date.now()-r.metadata.createdAt;if(void 0!==i&&r.generation!==i||r.metadata.bootId!==d.serverBootId||r.metadata.repoPath!==e)return p&&console.info("[diffhub] snapshot cache stale",{ageMs:n,expectedBootId:d.serverBootId,expectedGeneration:i??null,repoPath:e,snapshotBootId:r.metadata.bootId,snapshotGeneration:r.generation,snapshotRepoPath:r.metadata.repoPath,source:"disk"}),(0,a.rmSync)(s,{force:!0}),null;return p&&console.info("[diffhub] snapshot cache hit",{ageMs:Date.now()-r.metadata.createdAt,generation:r.generation,repoPath:e,source:"disk"}),{...r,patchByFile:new Map(Object.entries(r.patchByFile))}}catch{return null}},_=async(e,t,r,a,n)=>{let i=Date.now()+1e3;for(;Date.now()<i;){let i=E(e,t,r,a,n);if(i)return i;await new Promise(e=>{setTimeout(e,50)})}return null},F=(e,t,n,i)=>{let s=w();return v(`snapshot:${s}:${e??""}:${t??""}:${n??""}:${i??""}`,500,async()=>{let o,l,c,f,m=E(s,e,t,n,i);if(m)return m;if("1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER){let r=await _(s,e,t,n,i);if(r)return r;console.warn("[diffhub] external snapshot unavailable, recomputing inline",{expectedGeneration:i??null,mode:t??"all",repoPath:s,whitespace:n??"default"})}let g=(await y(["rev-parse","--abbrev-ref","HEAD"])).trim(),x="uncommitted"===t?"HEAD":e??process.env.DIFFHUB_BASE??await (o=w(),v(`baseBranch:${o}`,3e4,async()=>{let e=R(await y(["branch","-r","--format=%(refname:short)"]));for(let t of u)if(e.includes(`origin/${t}`))return`origin/${t}`;let t=R(await y(["branch","--format=%(refname:short)"]));for(let e of u)if(t.includes(e))return e;return"origin/main"})),b="uncommitted"===t?"HEAD":await (l=w(),v(`mergeBase:${l}:${x}`,3e4,async()=>(await y(["merge-base","HEAD",x])).trim())),F=(c=[b],"ignore"===n?["-w",...c]:c),[B,P]=await Promise.all([y(["diff",...F]),y(["diff","--numstat","-z","-M",...F])]),D=(0,r.createHash)("sha1").update(B).digest("hex"),I=(e=>{let t=[],r=0,a=0,n=0;for(;n<e.length;){let i=e.indexOf(" ",n);if(-1===i)break;let s=e.indexOf(" ",i+1);if(-1===s)throw Error("Malformed git diff --numstat output");let o=e.slice(n,i),l=e.slice(i+1,s),d="";if("\0"===e[n=s+1]){n+=1;let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat rename output");n=t+1;let r=e.indexOf("\0",n);if(-1===r)throw Error("Malformed git diff --numstat rename output");d=e.slice(n,r),n=r+1}else{let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat output");d=e.slice(n,t),n=t+1}let c="-"===o||"-"===l,u=c?0:Number.parseInt(o,10)||0,p=c?0:Number.parseInt(l,10)||0;t.push({binary:c,changes:u+p,deletions:p,file:d,insertions:u}),r+=u,a+=p}return{deletions:a,files:t,insertions:r}})(P),S=Date.now(),A=(f=d.serverBootId,(0,r.createHash)("sha1").update(`${f}:${D}:${b}`).digest("hex")),O={baseBranch:x,branch:g,deletions:I.deletions,files:I.files,fingerprint:D,fullPatch:B,generation:A,insertions:I.insertions,mergeBase:b,metadata:{bootId:d.serverBootId,createdAt:S,repoPath:s},patchByFile:(e=>{let t=new Map,r=/^diff --git a\/(.+?) b\/(.+)$/gm,a=[],n=r.exec(e);for(;n;)a.push({file:n[2],start:n.index}),n=r.exec(e);for(let[r,n]of a.entries()){let i=a[r+1]?.start??e.length,s=e.slice(n.start,i).trimEnd();t.set(n.file,s?`${s}
2
+ `:"")}return t})(B)};return console.info("[diffhub] snapshot cache miss",{generation:A,repoPath:s,source:"recomputed"}),((e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return;let s={...i,patchByFile:Object.fromEntries(i.patchByFile)};(0,a.writeFileSync)(h(e,t,r,n),JSON.stringify(s),"utf-8"),p&&console.info("[diffhub] snapshot cache wrote",{generation:i.generation,repoPath:e,source:"disk"})})(s,e,t,n,O),O})},B=async(e,t,r,a,n)=>{let i=await F(t,r,a,n),s=i.patchByFile.get(e)??"";return{baseBranch:i.baseBranch,branch:i.branch,fingerprint:i.fingerprint,generation:i.generation,mergeBase:i.mergeBase,patch:s,reviewKey:b(s)}},P=async(e,t,r,a)=>{let n=await F(e,t,r,a),i=Object.fromEntries(n.patchByFile),s=Object.fromEntries(Object.entries(i).map(([e,t])=>[e,b(t)]));return{baseBranch:n.baseBranch,branch:n.branch,deletions:n.deletions,files:n.files,fingerprint:n.fingerprint,generation:n.generation,insertions:n.insertions,mergeBase:n.mergeBase,patchByFile:i,reviewKeyByFile:s}},D=async(e,t,r)=>{let a=await F(e,t,r);return{baseBranch:a.baseBranch,branch:a.branch,deletions:a.deletions,files:a.files,fingerprint:a.fingerprint,generation:a.generation,insertions:a.insertions}},I=async()=>{for(let e of(await Promise.allSettled([D(),D(void 0,"uncommitted")])))"rejected"===e.status&&console.error("[diffhub] failed to prime diff snapshot",{error:e.reason})},S=async e=>{await y(["restore","--staged","--worktree","--",e])};e.s(["clearGitMemoryCache",0,m,"discardFile",0,S,"getDiffForFile",0,B,"getDiffStats",0,D,"getFileAtRef",0,(e,t)=>{let r=w();if("WORKING_TREE"===t)try{return Promise.resolve((0,a.readFileSync)((0,o.resolveRepoFilePath)(r,e),"utf-8"))}catch{return Promise.resolve("")}return v(`file:${r}:${t}:${e}`,3e4,async()=>{try{return await y(["show",`${t}:${e}`])}catch{return""}})},"getMultiFileDiff",0,P,"invalidateGitCache",0,g,"primeGitSnapshots",0,I],69951)},78713,e=>{"use strict";var t=e.i(31173),r=e.i(62205),a=e.i(9467),n=e.i(68273),i=e.i(18601),s=e.i(67822),o=e.i(94179),l=e.i(86434),d=e.i(34044),c=e.i(282),u=e.i(63625),p=e.i(62788),f=e.i(60321),h=e.i(21422),m=e.i(91917),g=e.i(93695);e.i(93930);var v=e.i(82490),w=e.i(29950),x=e.i(69951);let y=async({file:t,mode:r,patch:a})=>{if("1"!==process.env.DIFFHUB_DISABLE_PRERENDER&&t&&a)try{let{preloadPatchHtmlByLayout:t}=await e.A(18558);return await t(a)}catch(e){console.error("[diffhub] failed to prerender diff HTML",{error:e,file:t,mode:r})}},R=async t=>{let{searchParams:r}=new URL(t.url),a=r.get("base")??void 0,n=r.get("file")??void 0,i=r.get("generation")??void 0,s="uncommitted"===r.get("mode")?"uncommitted":void 0,o="ignore"===r.get("ws")?"ignore":void 0,l=Date.now(),d=(({base:e,file:t,generation:r,mode:a,whitespace:n})=>({base:e??null,file:t??null,mode:a??"all",requestedGeneration:r??null,whitespace:n??"default"}))({base:a,file:n,generation:i,mode:s,whitespace:o});console.info("[diffhub] /api/diff request",d);try{let t;if(n){let e=await (0,x.getDiffForFile)(n,a,s,o,i),t=await y({file:n,mode:s,patch:e.patch});return console.info("[diffhub] /api/diff response",{durationMs:Date.now()-l,generation:e.generation,hasPrerenderedHTML:!!t,patchLength:e.patch.length,...d}),w.NextResponse.json({...e,...t?{prerenderedHTML:t}:{}})}let r=await (0,x.getMultiFileDiff)(a,s,o,i);if("1"!==process.env.DIFFHUB_DISABLE_PRERENDER)try{let{preloadPatchHtmlByLayout:a}=await e.A(18558),n=Object.entries(r.patchByFile).filter(([,e])=>e).slice(0,4),i=(await Promise.all(n.map(async([e,t])=>{try{return{file:e,html:await a(t)}}catch{return null}}))).filter(Boolean);i.length>0&&(t=Object.fromEntries(i.map(e=>[e.file,e.html])))}catch(e){console.error("[diffhub] failed to prerender multi-file diff HTML",{error:e})}console.info("[diffhub] /api/diff response",{durationMs:Date.now()-l,generation:r.generation,hasPrerenderedHTML:!!t,patchCount:Object.keys(r.patchByFile).length,patchLength:null,prerenderedFileCount:t?Object.keys(t).length:0,...d});let{patchByFile:c,reviewKeyByFile:u,...p}=r;return w.NextResponse.json({...p,patchesByFile:c,reviewKeysByFile:u,...t?{prerenderedHTMLByFile:t}:{}})}catch(e){return console.error("[diffhub] /api/diff failed",{error:e,...d}),w.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}};e.s(["GET",0,R],90072);var b=e.i(90072);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/diff/route",pathname:"/api/diff",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/diff/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:F,serverHooks:B}=E;async function P(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/diff/route";w=w.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:b,parsedUrl:_,isDraftMode:F,prerenderManifest:B,routerServerContext:P,isOnDemandRevalidate:D,revalidateOnlyGenerated:I,resolvedPathname:S,clientReferenceManifest:A,serverActionsManifest:O}=x,C=(0,o.normalizeAppPath)(w),T=!!(B.dynamicRoutes[C]||B.routes[S]),H=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,_,!1):t.end("This page could not be found"),null);if(T&&!F){let e=!!B.routes[S],t=B.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await H();throw new g.NoFallbackError}}let M=null;!T||E.isDev||F||(M="/index"===(M=S)?"/":M);let N=!0===E.isDev||!T,j=T&&!N;O&&A&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:O});let $=e.method||"GET",U=(0,i.getTracer)(),k=U.getActiveScopeSpan(),q=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,b,B,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let K={params:R,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:N,incrementalCache:G,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,P)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.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=`${$} ${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(`${$} ${w}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&D&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(W,X,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:D})},!1,P),t}},d=await E.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!T)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),F&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&T||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(W,X,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};q&&k?await o(k):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!q))}catch(t){if(t instanceof g.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:D})},!1,P),T)throw t;return await (0,p.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:F})},"routeModule",0,E,"serverHooks",0,B,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,F],78713)},18558,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0w_z88x._.js","server/chunks/_0jcmjdn._.js"].map(t=>e.l(t))).then(()=>t(8720)))}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__002xd2v._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let a="gitdir:";class n extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,n,"getGitDirectory",0,e=>{let n=(0,r.join)(e,".git");if(!(0,t.existsSync)(n)||(0,t.lstatSync)(n).isDirectory())return n;let i=(0,t.readFileSync)(n,"utf-8").trim();if(!i.startsWith(a))return n;let s=i.slice(a.length).trim();return(0,r.resolve)((0,r.dirname)(n),s)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new n(t);let a=(0,r.resolve)(e,t),i=(0,r.relative)(e,a);if(i.startsWith("..")||(0,r.isAbsolute)(i))throw new n(t);return a}])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},69951,73733,e=>{"use strict";var t=e.i(74533),r=e.i(66680),a=e.i(2157),n=e.i(60526),i=e.i(50227);let s=()=>{let e,t;return{promise:new Promise((r,a)=>{e=r,t=a}),reject:t,resolve:e}};e.s(["createDeferred",0,s],73733);var o=e.i(59130),l=e.i(66312);let d=(()=>{let e=globalThis;if(!e.__diffhubGitRuntimeState){let t=process.env.DIFFHUB_SERVER_BOOT_ID;e.__diffhubGitRuntimeState={cache:new Map,gitCommandQueue:Promise.resolve(),lastPointerMtime:0,serverBootId:t??(0,r.createHash)("sha1").update(`${process.pid}:${Date.now()}:${Math.random()}`).digest("hex")}}return e.__diffhubGitRuntimeState})(),{cache:u}=d,c=["main","master","develop","dev"],p="1"===process.env.DIFFHUB_DEBUG,f=e=>`diffhub-snapshot-${(0,r.createHash)("sha1").update(e).digest("hex")}-`,h=(e,t,a,s)=>{let o=JSON.stringify({base:t??"",mode:a??"",whitespace:s??""}),l=(0,r.createHash)("sha1").update(o).digest("hex");return(0,i.join)((0,n.tmpdir)(),`${f(e)}${l}.json`)},m=e=>{if(!e)return void u.clear();let t=`:${e}`;for(let e of u.keys())e.includes(t)&&u.delete(e)},g=e=>{if(m(e),"1"!==process.env.DIFFHUB_CMUX||"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER)return;if(!e){for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith("diffhub-snapshot-")&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0});return}let t=f(e);for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith(t)&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0})},v=async(e,t,r)=>{try{let e=(0,a.statSync)(l.REPO_POINTER).mtimeMs;e!==d.lastPointerMtime&&(d.lastPointerMtime=e,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?m():g())}catch{}let n=u.get(e);if(n&&n.expires>Date.now())return n.value;let i=await r();return u.set(e,{expires:Date.now()+t,value:i}),i},w=()=>(0,l.getConfiguredRepoPath)(),x=async e=>{let r=Date.now();p&&console.info("[diffhub] git command start",{args:e});try{let{promise:a,reject:n,resolve:i}=s();{let r=(0,t.spawn)("git",e,{cwd:w(),env:{...process.env,GIT_TERMINAL_PROMPT:"0"},stdio:["ignore","pipe","pipe"]}),a=[],s=[],o=0,l=!1,d=e=>{l||(l=!0,e())},u=(t,a)=>{let i=Buffer.isBuffer(a)?a:Buffer.from(a);if((o+=i.length)>0x1400000){r.kill("SIGKILL"),d(()=>{n(Error(`git ${e.join(" ")} failed: output exceeded 20971520 bytes`))});return}t.push(i)};r.stdout.on("data",e=>{u(a,e)}),r.stderr.on("data",e=>{u(s,e)}),r.on("error",e=>{d(()=>n(e))}),r.on("close",t=>{let r=Buffer.concat(a).toString("utf-8"),o=Buffer.concat(s).toString("utf-8").trim();0===t?d(()=>i(r)):d(()=>{n(Object.assign(Error(o||`git ${e.join(" ")} failed with exit code ${t??"unknown"}`),{code:t,status:t??void 0,stderr:o}))})})}let o=await a;return p&&console.info("[diffhub] git command success",{args:e,durationMs:Date.now()-r}),o}catch(a){let t="string"==typeof a.stderr?a.stderr.trim():a.stderr?.toString("utf-8").trim()||"";if(console.error("[diffhub] git command failed",{args:e,code:a.code,durationMs:Date.now()-r,error:a,status:a.status,stderr:t||null}),a instanceof Error&&!t)throw a;throw Error(t||`git ${e.join(" ")} failed: ${a.message}`,{cause:a})}},R=async e=>{let t,r=new Promise(e=>{t=e}),a=d.gitCommandQueue;d.gitCommandQueue=r,await a;try{return await x(e)}finally{t()}},y=e=>e.split("\n").map(e=>e.trim()).filter(Boolean),E=e=>(0,r.createHash)("sha1").update(e).digest("hex"),b=(e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return null;let s=h(e,t,r,n);try{let t=(0,a.readFileSync)(s,"utf-8"),r=JSON.parse(t),n=Date.now()-r.metadata.createdAt;if(void 0!==i&&r.generation!==i||r.metadata.bootId!==d.serverBootId||r.metadata.repoPath!==e)return p&&console.info("[diffhub] snapshot cache stale",{ageMs:n,expectedBootId:d.serverBootId,expectedGeneration:i??null,repoPath:e,snapshotBootId:r.metadata.bootId,snapshotGeneration:r.generation,snapshotRepoPath:r.metadata.repoPath,source:"disk"}),(0,a.rmSync)(s,{force:!0}),null;return p&&console.info("[diffhub] snapshot cache hit",{ageMs:Date.now()-r.metadata.createdAt,generation:r.generation,repoPath:e,source:"disk"}),{...r,patchByFile:new Map(Object.entries(r.patchByFile))}}catch{return null}},S=async(e,t,r,a,n)=>{let i=Date.now()+1e3;for(;Date.now()<i;){let i=b(e,t,r,a,n);if(i)return i;await new Promise(e=>{setTimeout(e,50)})}return null},P=(e,t,n,i)=>{let s=w();return v(`snapshot:${s}:${e??""}:${t??""}:${n??""}:${i??""}`,500,async()=>{let o,l,u,f,m=b(s,e,t,n,i);if(m)return m;if("1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER){let r=await S(s,e,t,n,i);if(r)return r;console.warn("[diffhub] external snapshot unavailable, recomputing inline",{expectedGeneration:i??null,mode:t??"all",repoPath:s,whitespace:n??"default"})}let g=(await R(["rev-parse","--abbrev-ref","HEAD"])).trim(),x="uncommitted"===t?"HEAD":e??process.env.DIFFHUB_BASE??await (o=w(),v(`baseBranch:${o}`,3e4,async()=>{let e=y(await R(["branch","-r","--format=%(refname:short)"]));for(let t of c)if(e.includes(`origin/${t}`))return`origin/${t}`;let t=y(await R(["branch","--format=%(refname:short)"]));for(let e of c)if(t.includes(e))return e;return"origin/main"})),E="uncommitted"===t?"HEAD":await (l=w(),v(`mergeBase:${l}:${x}`,3e4,async()=>(await R(["merge-base","HEAD",x])).trim())),P=(u=[E],"ignore"===n?["-w",...u]:u),[I,_]=await Promise.all([R(["diff",...P]),R(["diff","--numstat","-z","-M",...P])]),B=(0,r.createHash)("sha1").update(I).digest("hex"),F=(e=>{let t=[],r=0,a=0,n=0;for(;n<e.length;){let i=e.indexOf(" ",n);if(-1===i)break;let s=e.indexOf(" ",i+1);if(-1===s)throw Error("Malformed git diff --numstat output");let o=e.slice(n,i),l=e.slice(i+1,s),d="";if("\0"===e[n=s+1]){n+=1;let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat rename output");n=t+1;let r=e.indexOf("\0",n);if(-1===r)throw Error("Malformed git diff --numstat rename output");d=e.slice(n,r),n=r+1}else{let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat output");d=e.slice(n,t),n=t+1}let u="-"===o||"-"===l,c=u?0:Number.parseInt(o,10)||0,p=u?0:Number.parseInt(l,10)||0;t.push({binary:u,changes:c+p,deletions:p,file:d,insertions:c}),r+=c,a+=p}return{deletions:a,files:t,insertions:r}})(_),A=Date.now(),D=(f=d.serverBootId,(0,r.createHash)("sha1").update(`${f}:${B}:${E}`).digest("hex")),O={baseBranch:x,branch:g,deletions:F.deletions,files:F.files,fingerprint:B,fullPatch:I,generation:D,insertions:F.insertions,mergeBase:E,metadata:{bootId:d.serverBootId,createdAt:A,repoPath:s},patchByFile:(e=>{let t=new Map,r=/^diff --git a\/(.+?) b\/(.+)$/gm,a=[],n=r.exec(e);for(;n;)a.push({file:n[2],start:n.index}),n=r.exec(e);for(let[r,n]of a.entries()){let i=a[r+1]?.start??e.length,s=e.slice(n.start,i).trimEnd();t.set(n.file,s?`${s}
2
+ `:"")}return t})(I)};return console.info("[diffhub] snapshot cache miss",{generation:D,repoPath:s,source:"recomputed"}),((e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return;let s={...i,patchByFile:Object.fromEntries(i.patchByFile)};(0,a.writeFileSync)(h(e,t,r,n),JSON.stringify(s),"utf-8"),p&&console.info("[diffhub] snapshot cache wrote",{generation:i.generation,repoPath:e,source:"disk"})})(s,e,t,n,O),O})},I=async(e,t,r,a,n)=>{let i=await P(t,r,a,n),s=i.patchByFile.get(e)??"";return{baseBranch:i.baseBranch,branch:i.branch,fingerprint:i.fingerprint,generation:i.generation,mergeBase:i.mergeBase,patch:s,reviewKey:E(s)}},_=async(e,t,r,a)=>{let n=await P(e,t,r,a),i=Object.fromEntries(n.patchByFile),s=Object.fromEntries(Object.entries(i).map(([e,t])=>[e,E(t)]));return{baseBranch:n.baseBranch,branch:n.branch,deletions:n.deletions,files:n.files,fingerprint:n.fingerprint,generation:n.generation,insertions:n.insertions,mergeBase:n.mergeBase,patchByFile:i,reviewKeyByFile:s}},B=async(e,t,r)=>{let a=await P(e,t,r);return{baseBranch:a.baseBranch,branch:a.branch,deletions:a.deletions,files:a.files,fingerprint:a.fingerprint,generation:a.generation,insertions:a.insertions}},F=async()=>{for(let e of(await Promise.allSettled([B(),B(void 0,"uncommitted")])))"rejected"===e.status&&console.error("[diffhub] failed to prime diff snapshot",{error:e.reason})},A=async e=>{await R(["restore","--staged","--worktree","--",e])};e.s(["clearGitMemoryCache",0,m,"discardFile",0,A,"getDiffForFile",0,I,"getDiffStats",0,B,"getFileAtRef",0,(e,t)=>{let r=w();if("WORKING_TREE"===t)try{return Promise.resolve((0,a.readFileSync)((0,o.resolveRepoFilePath)(r,e),"utf-8"))}catch{return Promise.resolve("")}return v(`file:${r}:${t}:${e}`,3e4,async()=>{try{return await R(["show",`${t}:${e}`])}catch{return""}})},"getMultiFileDiff",0,_,"invalidateGitCache",0,g,"primeGitSnapshots",0,F],69951)},83638,e=>{"use strict";var t=e.i(31173),r=e.i(62205),a=e.i(9467),n=e.i(68273),i=e.i(18601),s=e.i(67822),o=e.i(94179),l=e.i(86434),d=e.i(34044),u=e.i(282),c=e.i(63625),p=e.i(62788),f=e.i(60321),h=e.i(21422),m=e.i(91917),g=e.i(93695);e.i(93930);var v=e.i(82490),w=e.i(29950),x=e.i(69951);let R=async e=>{let{searchParams:t}=new URL(e.url),r=t.get("base")??void 0,a="uncommitted"===t.get("mode")?"uncommitted":void 0,n="ignore"===t.get("ws")?"ignore":void 0;try{let e=await (0,x.getDiffStats)(r,a,n);return w.NextResponse.json(e)}catch(e){return w.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}};e.s(["GET",0,R],88318);var y=e.i(88318);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/files/route",pathname:"/api/files",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/files/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:S,serverHooks:P}=E;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/files/route";w=w.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:b,parsedUrl:S,isDraftMode:P,prerenderManifest:I,routerServerContext:_,isOnDemandRevalidate:B,revalidateOnlyGenerated:F,resolvedPathname:A,clientReferenceManifest:D,serverActionsManifest:O}=x,C=(0,o.normalizeAppPath)(w),T=!!(I.dynamicRoutes[C]||I.routes[A]),N=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,S,!1):t.end("This page could not be found"),null);if(T&&!P){let e=!!I.routes[A],t=I.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await N();throw new g.NoFallbackError}}let $=null;!T||E.isDev||P||($="/index"===($=A)?"/":$);let H=!0===E.isDev||!T,M=T&&!H;O&&D&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:D,serverActionsManifest:O});let j=e.method||"GET",U=(0,i.getTracer)(),k=U.getActiveScopeSpan(),q=!!(null==_?void 0:_.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,b,I,G);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let K={params:y,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:H,incrementalCache:L,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,_)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${j} ${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(`${j} ${w}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!G&&B&&F&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(W,X,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,_),t}},d=await E.handleResponse({req:e,nextConfig:b,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:F,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:G});if(!T)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",B?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return G&&T||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(W,X,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};q&&k?await o(k):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},o),void 0,!q))}catch(t){if(t instanceof g.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,_),T)throw t;return await (0,p.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:S})},"routeModule",0,E,"serverHooks",0,P,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,S],83638)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__08v6xj7._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let n="gitdir:";class s extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,s,"getGitDirectory",0,e=>{let s=(0,r.join)(e,".git");if(!(0,t.existsSync)(s)||(0,t.lstatSync)(s).isDirectory())return s;let a=(0,t.readFileSync)(s,"utf-8").trim();if(!a.startsWith(n))return s;let i=a.slice(n.length).trim();return(0,r.resolve)((0,r.dirname)(s),i)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new s(t);let n=(0,r.resolve)(e,t),a=(0,r.relative)(e,n);if(a.startsWith("..")||(0,r.isAbsolute)(a))throw new s(t);return n}])},89710,e=>{"use strict";var t=e.i(31173),r=e.i(62205),n=e.i(9467),s=e.i(68273),a=e.i(18601),i=e.i(67822),o=e.i(94179),l=e.i(86434),u=e.i(34044),d=e.i(282),p=e.i(63625),c=e.i(62788),h=e.i(60321),f=e.i(21422),x=e.i(91917),g=e.i(93695);e.i(93930);var m=e.i(82490),R=e.i(29950),v=e.i(2157),y=e.i(50227),w=e.i(59130),E=e.i(66312);let b=Promise.resolve(null),N=()=>(0,y.join)((0,w.getGitDirectory)((0,E.getConfiguredRepoPath)()),"diffhub-comments.json"),C=()=>{let e=N();if(!(0,v.existsSync)(e))return[];let t=JSON.parse((0,v.readFileSync)(e,"utf-8"));if(!Array.isArray(t)||t.some(e=>{var t;let r;return"object"!=typeof(t=e)||null===t||"string"!=typeof t.body||"string"!=typeof t.createdAt||"string"!=typeof t.file||"string"!=typeof t.id||"number"!=typeof t.lineNumber||"left"!==t.side&&"right"!==t.side||""!==(r=t.tag)&&"[must-fix]"!==r&&"[suggestion]"!==r&&"[nit]"!==r&&"[question]"!==r}))throw Error("Comment store is corrupted");return t},A=e=>{let t=()=>{let t,r,n=C(),s=e(n);return t=N(),r=`${t}.tmp`,(0,v.writeFileSync)(r,JSON.stringify(n,null,2)),(0,v.renameSync)(r,t),s},r=b.then(t,t);return b=r.then(()=>null,()=>null),r},S=new Set(["left","right"]),P=new Set(["[must-fix]","[suggestion]","[nit]","[question]",""]),j=async e=>{let t=await e.json();if("string"!=typeof t.file||!t.file)return R.NextResponse.json({error:"file is required"},{status:400});if("number"!=typeof t.lineNumber||!Number.isFinite(t.lineNumber))return R.NextResponse.json({error:"lineNumber must be a number"},{status:400});if("string"!=typeof t.body||!t.body)return R.NextResponse.json({error:"body is required"},{status:400});if("string"!=typeof t.side||!S.has(t.side))return R.NextResponse.json({error:"side must be 'left' or 'right'"},{status:400});if(void 0!==t.tag&&"string"!=typeof t.tag||!P.has(t.tag??""))return R.NextResponse.json({error:"invalid tag"},{status:400});try{let e,r=await (e={body:t.body,file:t.file,lineNumber:t.lineNumber,side:t.side,tag:t.tag??""},A(t=>{let r={...e,createdAt:new Date().toISOString(),id:crypto.randomUUID()};return t.push(r),r}));return R.NextResponse.json(r,{status:201})}catch(e){return R.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}},q=async e=>{let{searchParams:t}=new URL(e.url),r=t.get("id");if(!r)return R.NextResponse.json({error:"id required"},{status:400});try{return await A(e=>{let t=e.findIndex(e=>e.id===r);-1!==t&&e.splice(t,1)}),R.NextResponse.json({ok:!0})}catch(e){return R.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}};e.s(["DELETE",0,q,"GET",0,()=>{try{return R.NextResponse.json(C())}catch(e){return R.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}},"POST",0,j],57722);var O=e.i(57722);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/comments/route",pathname:"/api/comments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/comments/route.ts",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:_,serverHooks:k}=T;async function D(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),T.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/comments/route";R=R.replace(/\/index$/,"")||"/";let v=await T.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:E,parsedUrl:b,isDraftMode:N,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:j,clientReferenceManifest:q,serverActionsManifest:O}=v,I=(0,o.normalizeAppPath)(R),_=!!(C.dynamicRoutes[I]||C.routes[j]),k=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(_&&!N){let e=!!C.routes[j],t=C.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await k();throw new g.NoFallbackError}}let D=null;!_||T.isDev||N||(D="/index"===(D=j)?"/":D);let U=!0===T.isDev||!_,F=_&&!U;O&&q&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:q,serverActionsManifest:O});let H=e.method||"GET",M=(0,a.getTracer)(),$=M.getActiveScopeSpan(),B=!!(null==A?void 0:A.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),L=(0,s.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,E,C,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>T.onRequestError(e,t,n,s,A)},sharedContext:{buildId:y}},W=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>T.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${H} ${R}`)}),o=async s=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&S&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!_)return await (0,c.sendResponse)(W,V,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,A),t}},u=await T.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:K});if(!_)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&_||d.delete(x.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)(W,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&$?await o($):(s=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof g.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,A),_)throw t;return await (0,c.sendResponse)(W,V,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:_})},"routeModule",0,T,"serverHooks",0,k,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,_],89710)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0of4lzl._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[5104,e=>e.a(async(s,r)=>{try{let s=await e.y("shiki-43d062b67f27bbdc");e.n(s),r()}catch(e){r(e)}},!0),81094,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@pierre_theme_dist_pierre-dark_mjs_0ojo3_n._.js"].map(s=>e.l(s))).then(()=>s(32450)))},35355,e=>{e.v(s=>Promise.all(["server/chunks/node_modules_@pierre_theme_dist_pierre-light_mjs_0pw9wwg._.js"].map(s=>e.l(s))).then(()=>s(16446)))},95590,e=>{e.v(s=>Promise.all(["server/chunks/[externals]_shiki_wasm_0~fgmgp._.js"].map(s=>e.l(s))).then(()=>s(57893)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0f~jrb-._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0w_z88x._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let a="gitdir:";class n extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,n,"getGitDirectory",0,e=>{let n=(0,r.join)(e,".git");if(!(0,t.existsSync)(n)||(0,t.lstatSync)(n).isDirectory())return n;let i=(0,t.readFileSync)(n,"utf-8").trim();if(!i.startsWith(a))return n;let s=i.slice(a.length).trim();return(0,r.resolve)((0,r.dirname)(n),s)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new n(t);let a=(0,r.resolve)(e,t),i=(0,r.relative)(e,a);if(i.startsWith("..")||(0,r.isAbsolute)(i))throw new n(t);return a}])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},69951,73733,e=>{"use strict";var t=e.i(74533),r=e.i(66680),a=e.i(2157),n=e.i(60526),i=e.i(50227);let s=()=>{let e,t;return{promise:new Promise((r,a)=>{e=r,t=a}),reject:t,resolve:e}};e.s(["createDeferred",0,s],73733);var o=e.i(59130),l=e.i(66312);let d=(()=>{let e=globalThis;if(!e.__diffhubGitRuntimeState){let t=process.env.DIFFHUB_SERVER_BOOT_ID;e.__diffhubGitRuntimeState={cache:new Map,gitCommandQueue:Promise.resolve(),lastPointerMtime:0,serverBootId:t??(0,r.createHash)("sha1").update(`${process.pid}:${Date.now()}:${Math.random()}`).digest("hex")}}return e.__diffhubGitRuntimeState})(),{cache:u}=d,c=["main","master","develop","dev"],p="1"===process.env.DIFFHUB_DEBUG,f=e=>`diffhub-snapshot-${(0,r.createHash)("sha1").update(e).digest("hex")}-`,h=(e,t,a,s)=>{let o=JSON.stringify({base:t??"",mode:a??"",whitespace:s??""}),l=(0,r.createHash)("sha1").update(o).digest("hex");return(0,i.join)((0,n.tmpdir)(),`${f(e)}${l}.json`)},m=e=>{if(!e)return void u.clear();let t=`:${e}`;for(let e of u.keys())e.includes(t)&&u.delete(e)},g=e=>{if(m(e),"1"!==process.env.DIFFHUB_CMUX||"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER)return;if(!e){for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith("diffhub-snapshot-")&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0});return}let t=f(e);for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith(t)&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0})},v=async(e,t,r)=>{try{let e=(0,a.statSync)(l.REPO_POINTER).mtimeMs;e!==d.lastPointerMtime&&(d.lastPointerMtime=e,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?m():g())}catch{}let n=u.get(e);if(n&&n.expires>Date.now())return n.value;let i=await r();return u.set(e,{expires:Date.now()+t,value:i}),i},w=()=>(0,l.getConfiguredRepoPath)(),x=async e=>{let r=Date.now();p&&console.info("[diffhub] git command start",{args:e});try{let{promise:a,reject:n,resolve:i}=s();{let r=(0,t.spawn)("git",e,{cwd:w(),env:{...process.env,GIT_TERMINAL_PROMPT:"0"},stdio:["ignore","pipe","pipe"]}),a=[],s=[],o=0,l=!1,d=e=>{l||(l=!0,e())},u=(t,a)=>{let i=Buffer.isBuffer(a)?a:Buffer.from(a);if((o+=i.length)>0x1400000){r.kill("SIGKILL"),d(()=>{n(Error(`git ${e.join(" ")} failed: output exceeded 20971520 bytes`))});return}t.push(i)};r.stdout.on("data",e=>{u(a,e)}),r.stderr.on("data",e=>{u(s,e)}),r.on("error",e=>{d(()=>n(e))}),r.on("close",t=>{let r=Buffer.concat(a).toString("utf-8"),o=Buffer.concat(s).toString("utf-8").trim();0===t?d(()=>i(r)):d(()=>{n(Object.assign(Error(o||`git ${e.join(" ")} failed with exit code ${t??"unknown"}`),{code:t,status:t??void 0,stderr:o}))})})}let o=await a;return p&&console.info("[diffhub] git command success",{args:e,durationMs:Date.now()-r}),o}catch(a){let t="string"==typeof a.stderr?a.stderr.trim():a.stderr?.toString("utf-8").trim()||"";if(console.error("[diffhub] git command failed",{args:e,code:a.code,durationMs:Date.now()-r,error:a,status:a.status,stderr:t||null}),a instanceof Error&&!t)throw a;throw Error(t||`git ${e.join(" ")} failed: ${a.message}`,{cause:a})}},R=async e=>{let t,r=new Promise(e=>{t=e}),a=d.gitCommandQueue;d.gitCommandQueue=r,await a;try{return await x(e)}finally{t()}},y=e=>e.split("\n").map(e=>e.trim()).filter(Boolean),E=e=>(0,r.createHash)("sha1").update(e).digest("hex"),b=(e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return null;let s=h(e,t,r,n);try{let t=(0,a.readFileSync)(s,"utf-8"),r=JSON.parse(t),n=Date.now()-r.metadata.createdAt;if(void 0!==i&&r.generation!==i||r.metadata.bootId!==d.serverBootId||r.metadata.repoPath!==e)return p&&console.info("[diffhub] snapshot cache stale",{ageMs:n,expectedBootId:d.serverBootId,expectedGeneration:i??null,repoPath:e,snapshotBootId:r.metadata.bootId,snapshotGeneration:r.generation,snapshotRepoPath:r.metadata.repoPath,source:"disk"}),(0,a.rmSync)(s,{force:!0}),null;return p&&console.info("[diffhub] snapshot cache hit",{ageMs:Date.now()-r.metadata.createdAt,generation:r.generation,repoPath:e,source:"disk"}),{...r,patchByFile:new Map(Object.entries(r.patchByFile))}}catch{return null}},S=async(e,t,r,a,n)=>{let i=Date.now()+1e3;for(;Date.now()<i;){let i=b(e,t,r,a,n);if(i)return i;await new Promise(e=>{setTimeout(e,50)})}return null},P=(e,t,n,i)=>{let s=w();return v(`snapshot:${s}:${e??""}:${t??""}:${n??""}:${i??""}`,500,async()=>{let o,l,u,f,m=b(s,e,t,n,i);if(m)return m;if("1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER){let r=await S(s,e,t,n,i);if(r)return r;console.warn("[diffhub] external snapshot unavailable, recomputing inline",{expectedGeneration:i??null,mode:t??"all",repoPath:s,whitespace:n??"default"})}let g=(await R(["rev-parse","--abbrev-ref","HEAD"])).trim(),x="uncommitted"===t?"HEAD":e??process.env.DIFFHUB_BASE??await (o=w(),v(`baseBranch:${o}`,3e4,async()=>{let e=y(await R(["branch","-r","--format=%(refname:short)"]));for(let t of c)if(e.includes(`origin/${t}`))return`origin/${t}`;let t=y(await R(["branch","--format=%(refname:short)"]));for(let e of c)if(t.includes(e))return e;return"origin/main"})),E="uncommitted"===t?"HEAD":await (l=w(),v(`mergeBase:${l}:${x}`,3e4,async()=>(await R(["merge-base","HEAD",x])).trim())),P=(u=[E],"ignore"===n?["-w",...u]:u),[I,_]=await Promise.all([R(["diff",...P]),R(["diff","--numstat","-z","-M",...P])]),B=(0,r.createHash)("sha1").update(I).digest("hex"),F=(e=>{let t=[],r=0,a=0,n=0;for(;n<e.length;){let i=e.indexOf(" ",n);if(-1===i)break;let s=e.indexOf(" ",i+1);if(-1===s)throw Error("Malformed git diff --numstat output");let o=e.slice(n,i),l=e.slice(i+1,s),d="";if("\0"===e[n=s+1]){n+=1;let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat rename output");n=t+1;let r=e.indexOf("\0",n);if(-1===r)throw Error("Malformed git diff --numstat rename output");d=e.slice(n,r),n=r+1}else{let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat output");d=e.slice(n,t),n=t+1}let u="-"===o||"-"===l,c=u?0:Number.parseInt(o,10)||0,p=u?0:Number.parseInt(l,10)||0;t.push({binary:u,changes:c+p,deletions:p,file:d,insertions:c}),r+=c,a+=p}return{deletions:a,files:t,insertions:r}})(_),O=Date.now(),A=(f=d.serverBootId,(0,r.createHash)("sha1").update(`${f}:${B}:${E}`).digest("hex")),C={baseBranch:x,branch:g,deletions:F.deletions,files:F.files,fingerprint:B,fullPatch:I,generation:A,insertions:F.insertions,mergeBase:E,metadata:{bootId:d.serverBootId,createdAt:O,repoPath:s},patchByFile:(e=>{let t=new Map,r=/^diff --git a\/(.+?) b\/(.+)$/gm,a=[],n=r.exec(e);for(;n;)a.push({file:n[2],start:n.index}),n=r.exec(e);for(let[r,n]of a.entries()){let i=a[r+1]?.start??e.length,s=e.slice(n.start,i).trimEnd();t.set(n.file,s?`${s}
2
+ `:"")}return t})(I)};return console.info("[diffhub] snapshot cache miss",{generation:A,repoPath:s,source:"recomputed"}),((e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return;let s={...i,patchByFile:Object.fromEntries(i.patchByFile)};(0,a.writeFileSync)(h(e,t,r,n),JSON.stringify(s),"utf-8"),p&&console.info("[diffhub] snapshot cache wrote",{generation:i.generation,repoPath:e,source:"disk"})})(s,e,t,n,C),C})},I=async(e,t,r,a,n)=>{let i=await P(t,r,a,n),s=i.patchByFile.get(e)??"";return{baseBranch:i.baseBranch,branch:i.branch,fingerprint:i.fingerprint,generation:i.generation,mergeBase:i.mergeBase,patch:s,reviewKey:E(s)}},_=async(e,t,r,a)=>{let n=await P(e,t,r,a),i=Object.fromEntries(n.patchByFile),s=Object.fromEntries(Object.entries(i).map(([e,t])=>[e,E(t)]));return{baseBranch:n.baseBranch,branch:n.branch,deletions:n.deletions,files:n.files,fingerprint:n.fingerprint,generation:n.generation,insertions:n.insertions,mergeBase:n.mergeBase,patchByFile:i,reviewKeyByFile:s}},B=async(e,t,r)=>{let a=await P(e,t,r);return{baseBranch:a.baseBranch,branch:a.branch,deletions:a.deletions,files:a.files,fingerprint:a.fingerprint,generation:a.generation,insertions:a.insertions}},F=async()=>{for(let e of(await Promise.allSettled([B(),B(void 0,"uncommitted")])))"rejected"===e.status&&console.error("[diffhub] failed to prime diff snapshot",{error:e.reason})},O=async e=>{await R(["restore","--staged","--worktree","--",e])};e.s(["clearGitMemoryCache",0,m,"discardFile",0,O,"getDiffForFile",0,I,"getDiffStats",0,B,"getFileAtRef",0,(e,t)=>{let r=w();if("WORKING_TREE"===t)try{return Promise.resolve((0,a.readFileSync)((0,o.resolveRepoFilePath)(r,e),"utf-8"))}catch{return Promise.resolve("")}return v(`file:${r}:${t}:${e}`,3e4,async()=>{try{return await R(["show",`${t}:${e}`])}catch{return""}})},"getMultiFileDiff",0,_,"invalidateGitCache",0,g,"primeGitSnapshots",0,F],69951)},41010,e=>{"use strict";var t=e.i(31173),r=e.i(62205),a=e.i(9467),n=e.i(68273),i=e.i(18601),s=e.i(67822),o=e.i(94179),l=e.i(86434),d=e.i(34044),u=e.i(282),c=e.i(63625),p=e.i(62788),f=e.i(60321),h=e.i(21422),m=e.i(91917),g=e.i(93695);e.i(93930);var v=e.i(82490),w=e.i(29950),x=e.i(69951);let R=async e=>{let{file:t}=await e.json();if(!t)return w.NextResponse.json({error:"file required"},{status:400});try{return await (0,x.discardFile)(t),w.NextResponse.json({ok:!0})}catch(e){return w.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}};e.s(["POST",0,R],3517);var y=e.i(3517);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/discard/route",pathname:"/api/discard",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/discard/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:S,serverHooks:P}=E;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/discard/route";w=w.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:b,parsedUrl:S,isDraftMode:P,prerenderManifest:I,routerServerContext:_,isOnDemandRevalidate:B,revalidateOnlyGenerated:F,resolvedPathname:O,clientReferenceManifest:A,serverActionsManifest:C}=x,D=(0,o.normalizeAppPath)(w),T=!!(I.dynamicRoutes[D]||I.routes[O]),N=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,S,!1):t.end("This page could not be found"),null);if(T&&!P){let e=!!I.routes[O],t=I.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await N();throw new g.NoFallbackError}}let $=null;!T||E.isDev||P||($="/index"===($=O)?"/":$);let H=!0===E.isDev||!T,M=T&&!H;C&&A&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:C});let j=e.method||"GET",U=(0,i.getTracer)(),k=U.getActiveScopeSpan(),q=!!(null==_?void 0:_.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,b,I,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:y,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:H,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,_)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${j} ${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(`${j} ${w}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!G&&B&&F&&!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=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(W,X,i,L.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,_),t}},d=await E.handleResponse({req:e,nextConfig:b,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:F,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:G});if(!T)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",B?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return G&&T||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(W,X,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};q&&k?await o(k):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},o),void 0,!q))}catch(t){if(t instanceof g.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,_),T)throw t;return await (0,p.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:S})},"routeModule",0,E,"serverHooks",0,P,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,S],41010)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0wmjj~m._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let a="gitdir:";class n extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,n,"getGitDirectory",0,e=>{let n=(0,r.join)(e,".git");if(!(0,t.existsSync)(n)||(0,t.lstatSync)(n).isDirectory())return n;let i=(0,t.readFileSync)(n,"utf-8").trim();if(!i.startsWith(a))return n;let s=i.slice(a.length).trim();return(0,r.resolve)((0,r.dirname)(n),s)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new n(t);let a=(0,r.resolve)(e,t),i=(0,r.relative)(e,a);if(i.startsWith("..")||(0,r.isAbsolute)(i))throw new n(t);return a}])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},69951,73733,e=>{"use strict";var t=e.i(74533),r=e.i(66680),a=e.i(2157),n=e.i(60526),i=e.i(50227);let s=()=>{let e,t;return{promise:new Promise((r,a)=>{e=r,t=a}),reject:t,resolve:e}};e.s(["createDeferred",0,s],73733);var o=e.i(59130),l=e.i(66312);let d=(()=>{let e=globalThis;if(!e.__diffhubGitRuntimeState){let t=process.env.DIFFHUB_SERVER_BOOT_ID;e.__diffhubGitRuntimeState={cache:new Map,gitCommandQueue:Promise.resolve(),lastPointerMtime:0,serverBootId:t??(0,r.createHash)("sha1").update(`${process.pid}:${Date.now()}:${Math.random()}`).digest("hex")}}return e.__diffhubGitRuntimeState})(),{cache:u}=d,c=["main","master","develop","dev"],p="1"===process.env.DIFFHUB_DEBUG,f=e=>`diffhub-snapshot-${(0,r.createHash)("sha1").update(e).digest("hex")}-`,h=(e,t,a,s)=>{let o=JSON.stringify({base:t??"",mode:a??"",whitespace:s??""}),l=(0,r.createHash)("sha1").update(o).digest("hex");return(0,i.join)((0,n.tmpdir)(),`${f(e)}${l}.json`)},m=e=>{if(!e)return void u.clear();let t=`:${e}`;for(let e of u.keys())e.includes(t)&&u.delete(e)},g=e=>{if(m(e),"1"!==process.env.DIFFHUB_CMUX||"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER)return;if(!e){for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith("diffhub-snapshot-")&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0});return}let t=f(e);for(let e of(0,a.readdirSync)((0,n.tmpdir)()))e.startsWith(t)&&(0,a.rmSync)((0,i.join)((0,n.tmpdir)(),e),{force:!0})},v=async(e,t,r)=>{try{let e=(0,a.statSync)(l.REPO_POINTER).mtimeMs;e!==d.lastPointerMtime&&(d.lastPointerMtime=e,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?m():g())}catch{}let n=u.get(e);if(n&&n.expires>Date.now())return n.value;let i=await r();return u.set(e,{expires:Date.now()+t,value:i}),i},w=()=>(0,l.getConfiguredRepoPath)(),x=async e=>{let r=Date.now();p&&console.info("[diffhub] git command start",{args:e});try{let{promise:a,reject:n,resolve:i}=s();{let r=(0,t.spawn)("git",e,{cwd:w(),env:{...process.env,GIT_TERMINAL_PROMPT:"0"},stdio:["ignore","pipe","pipe"]}),a=[],s=[],o=0,l=!1,d=e=>{l||(l=!0,e())},u=(t,a)=>{let i=Buffer.isBuffer(a)?a:Buffer.from(a);if((o+=i.length)>0x1400000){r.kill("SIGKILL"),d(()=>{n(Error(`git ${e.join(" ")} failed: output exceeded 20971520 bytes`))});return}t.push(i)};r.stdout.on("data",e=>{u(a,e)}),r.stderr.on("data",e=>{u(s,e)}),r.on("error",e=>{d(()=>n(e))}),r.on("close",t=>{let r=Buffer.concat(a).toString("utf-8"),o=Buffer.concat(s).toString("utf-8").trim();0===t?d(()=>i(r)):d(()=>{n(Object.assign(Error(o||`git ${e.join(" ")} failed with exit code ${t??"unknown"}`),{code:t,status:t??void 0,stderr:o}))})})}let o=await a;return p&&console.info("[diffhub] git command success",{args:e,durationMs:Date.now()-r}),o}catch(a){let t="string"==typeof a.stderr?a.stderr.trim():a.stderr?.toString("utf-8").trim()||"";if(console.error("[diffhub] git command failed",{args:e,code:a.code,durationMs:Date.now()-r,error:a,status:a.status,stderr:t||null}),a instanceof Error&&!t)throw a;throw Error(t||`git ${e.join(" ")} failed: ${a.message}`,{cause:a})}},R=async e=>{let t,r=new Promise(e=>{t=e}),a=d.gitCommandQueue;d.gitCommandQueue=r,await a;try{return await x(e)}finally{t()}},y=e=>e.split("\n").map(e=>e.trim()).filter(Boolean),E=e=>(0,r.createHash)("sha1").update(e).digest("hex"),b=(e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return null;let s=h(e,t,r,n);try{let t=(0,a.readFileSync)(s,"utf-8"),r=JSON.parse(t),n=Date.now()-r.metadata.createdAt;if(void 0!==i&&r.generation!==i||r.metadata.bootId!==d.serverBootId||r.metadata.repoPath!==e)return p&&console.info("[diffhub] snapshot cache stale",{ageMs:n,expectedBootId:d.serverBootId,expectedGeneration:i??null,repoPath:e,snapshotBootId:r.metadata.bootId,snapshotGeneration:r.generation,snapshotRepoPath:r.metadata.repoPath,source:"disk"}),(0,a.rmSync)(s,{force:!0}),null;return p&&console.info("[diffhub] snapshot cache hit",{ageMs:Date.now()-r.metadata.createdAt,generation:r.generation,repoPath:e,source:"disk"}),{...r,patchByFile:new Map(Object.entries(r.patchByFile))}}catch{return null}},P=async(e,t,r,a,n)=>{let i=Date.now()+1e3;for(;Date.now()<i;){let i=b(e,t,r,a,n);if(i)return i;await new Promise(e=>{setTimeout(e,50)})}return null},S=(e,t,n,i)=>{let s=w();return v(`snapshot:${s}:${e??""}:${t??""}:${n??""}:${i??""}`,500,async()=>{let o,l,u,f,m=b(s,e,t,n,i);if(m)return m;if("1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER){let r=await P(s,e,t,n,i);if(r)return r;console.warn("[diffhub] external snapshot unavailable, recomputing inline",{expectedGeneration:i??null,mode:t??"all",repoPath:s,whitespace:n??"default"})}let g=(await R(["rev-parse","--abbrev-ref","HEAD"])).trim(),x="uncommitted"===t?"HEAD":e??process.env.DIFFHUB_BASE??await (o=w(),v(`baseBranch:${o}`,3e4,async()=>{let e=y(await R(["branch","-r","--format=%(refname:short)"]));for(let t of c)if(e.includes(`origin/${t}`))return`origin/${t}`;let t=y(await R(["branch","--format=%(refname:short)"]));for(let e of c)if(t.includes(e))return e;return"origin/main"})),E="uncommitted"===t?"HEAD":await (l=w(),v(`mergeBase:${l}:${x}`,3e4,async()=>(await R(["merge-base","HEAD",x])).trim())),S=(u=[E],"ignore"===n?["-w",...u]:u),[I,_]=await Promise.all([R(["diff",...S]),R(["diff","--numstat","-z","-M",...S])]),F=(0,r.createHash)("sha1").update(I).digest("hex"),B=(e=>{let t=[],r=0,a=0,n=0;for(;n<e.length;){let i=e.indexOf(" ",n);if(-1===i)break;let s=e.indexOf(" ",i+1);if(-1===s)throw Error("Malformed git diff --numstat output");let o=e.slice(n,i),l=e.slice(i+1,s),d="";if("\0"===e[n=s+1]){n+=1;let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat rename output");n=t+1;let r=e.indexOf("\0",n);if(-1===r)throw Error("Malformed git diff --numstat rename output");d=e.slice(n,r),n=r+1}else{let t=e.indexOf("\0",n);if(-1===t)throw Error("Malformed git diff --numstat output");d=e.slice(n,t),n=t+1}let u="-"===o||"-"===l,c=u?0:Number.parseInt(o,10)||0,p=u?0:Number.parseInt(l,10)||0;t.push({binary:u,changes:c+p,deletions:p,file:d,insertions:c}),r+=c,a+=p}return{deletions:a,files:t,insertions:r}})(_),A=Date.now(),O=(f=d.serverBootId,(0,r.createHash)("sha1").update(`${f}:${F}:${E}`).digest("hex")),C={baseBranch:x,branch:g,deletions:B.deletions,files:B.files,fingerprint:F,fullPatch:I,generation:O,insertions:B.insertions,mergeBase:E,metadata:{bootId:d.serverBootId,createdAt:A,repoPath:s},patchByFile:(e=>{let t=new Map,r=/^diff --git a\/(.+?) b\/(.+)$/gm,a=[],n=r.exec(e);for(;n;)a.push({file:n[2],start:n.index}),n=r.exec(e);for(let[r,n]of a.entries()){let i=a[r+1]?.start??e.length,s=e.slice(n.start,i).trimEnd();t.set(n.file,s?`${s}
2
+ `:"")}return t})(I)};return console.info("[diffhub] snapshot cache miss",{generation:O,repoPath:s,source:"recomputed"}),((e,t,r,n,i)=>{if("1"!==process.env.DIFFHUB_CMUX)return;let s={...i,patchByFile:Object.fromEntries(i.patchByFile)};(0,a.writeFileSync)(h(e,t,r,n),JSON.stringify(s),"utf-8"),p&&console.info("[diffhub] snapshot cache wrote",{generation:i.generation,repoPath:e,source:"disk"})})(s,e,t,n,C),C})},I=async(e,t,r,a,n)=>{let i=await S(t,r,a,n),s=i.patchByFile.get(e)??"";return{baseBranch:i.baseBranch,branch:i.branch,fingerprint:i.fingerprint,generation:i.generation,mergeBase:i.mergeBase,patch:s,reviewKey:E(s)}},_=async(e,t,r,a)=>{let n=await S(e,t,r,a),i=Object.fromEntries(n.patchByFile),s=Object.fromEntries(Object.entries(i).map(([e,t])=>[e,E(t)]));return{baseBranch:n.baseBranch,branch:n.branch,deletions:n.deletions,files:n.files,fingerprint:n.fingerprint,generation:n.generation,insertions:n.insertions,mergeBase:n.mergeBase,patchByFile:i,reviewKeyByFile:s}},F=async(e,t,r)=>{let a=await S(e,t,r);return{baseBranch:a.baseBranch,branch:a.branch,deletions:a.deletions,files:a.files,fingerprint:a.fingerprint,generation:a.generation,insertions:a.insertions}},B=async()=>{for(let e of(await Promise.allSettled([F(),F(void 0,"uncommitted")])))"rejected"===e.status&&console.error("[diffhub] failed to prime diff snapshot",{error:e.reason})},A=async e=>{await R(["restore","--staged","--worktree","--",e])};e.s(["clearGitMemoryCache",0,m,"discardFile",0,A,"getDiffForFile",0,I,"getDiffStats",0,F,"getFileAtRef",0,(e,t)=>{let r=w();if("WORKING_TREE"===t)try{return Promise.resolve((0,a.readFileSync)((0,o.resolveRepoFilePath)(r,e),"utf-8"))}catch{return Promise.resolve("")}return v(`file:${r}:${t}:${e}`,3e4,async()=>{try{return await R(["show",`${t}:${e}`])}catch{return""}})},"getMultiFileDiff",0,_,"invalidateGitCache",0,g,"primeGitSnapshots",0,B],69951)},27227,e=>{"use strict";var t=e.i(31173),r=e.i(62205),a=e.i(9467),n=e.i(68273),i=e.i(18601),s=e.i(67822),o=e.i(94179),l=e.i(86434),d=e.i(34044),u=e.i(282),c=e.i(63625),p=e.i(62788),f=e.i(60321),h=e.i(21422),m=e.i(91917),g=e.i(93695);e.i(93930);var v=e.i(82490),w=e.i(29950),x=e.i(69951),R=e.i(59130);let y=async e=>{let{searchParams:t}=new URL(e.url),r=t.get("path")??"",a=t.get("ref")??"";if(!r||!a)return w.NextResponse.json({error:"Missing path or ref"},{status:400});try{let e=await (0,x.getFileAtRef)(r,a);return w.NextResponse.json({content:e})}catch(e){if(e instanceof R.InvalidRepoFilePathError)return w.NextResponse.json({error:e.message},{status:400});return w.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}};e.s(["GET",0,y],7980);var E=e.i(7980);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/file/route",pathname:"/api/file",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/file/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:S,serverHooks:I}=b;async function _(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/file/route";w=w.replace(/\/index$/,"")||"/";let x=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:E,parsedUrl:P,isDraftMode:S,prerenderManifest:I,routerServerContext:_,isOnDemandRevalidate:F,revalidateOnlyGenerated:B,resolvedPathname:A,clientReferenceManifest:O,serverActionsManifest:C}=x,D=(0,o.normalizeAppPath)(w),N=!!(I.dynamicRoutes[D]||I.routes[A]),T=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,P,!1):t.end("This page could not be found"),null);if(N&&!S){let e=!!I.routes[A],t=I.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await T();throw new g.NoFallbackError}}let $=null;!N||b.isDev||S||($="/index"===($=A)?"/":$);let H=!0===b.isDev||!N,M=N&&!H;C&&O&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:O,serverActionsManifest:C});let j=e.method||"GET",U=(0,i.getTracer)(),k=U.getActiveScopeSpan(),q=!!(null==_?void 0:_.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,I,G);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let K={params:y,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,_)},sharedContext:{buildId:R}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>b.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${j} ${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(`${j} ${w}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!G&&F&&B&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(W,X,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:F})},!1,_),t}},d=await b.handleResponse({req:e,nextConfig:E,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:F,revalidateOnlyGenerated:B,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:G});if(!N)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",F?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return G&&N||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(W,X,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};q&&k?await o(k):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},o),void 0,!q))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:F})},!1,_),N)throw t;return await (0,p.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:S})},"routeModule",0,b,"serverHooks",0,I,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,S],27227)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0zeknn4._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66312,e=>{"use strict";var t=e.i(2157);let r="/tmp/diffhub-active-repo";e.s(["REPO_POINTER",0,r,"getConfiguredRepoPath",0,()=>{if(process.env.DIFFHUB_REPO)return process.env.DIFFHUB_REPO;let e=(()=>{try{let e=(0,t.readFileSync)(r,"utf-8").trim();if(e)return e}catch{}return null})();return e||process.cwd()}])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59130,e=>{"use strict";var t=e.i(2157),r=e.i(50227);let n="gitdir:";class i extends Error{constructor(e){super(`Invalid repo-relative path: ${e}`),this.name="InvalidRepoFilePathError"}}e.s(["InvalidRepoFilePathError",0,i,"getGitDirectory",0,e=>{let i=(0,r.join)(e,".git");if(!(0,t.existsSync)(i)||(0,t.lstatSync)(i).isDirectory())return i;let a=(0,t.readFileSync)(i,"utf-8").trim();if(!a.startsWith(n))return i;let o=a.slice(n.length).trim();return(0,r.resolve)((0,r.dirname)(i),o)},"resolveRepoFilePath",0,(e,t)=>{if(!t||(0,r.isAbsolute)(t))throw new i(t);let n=(0,r.resolve)(e,t),a=(0,r.relative)(e,n);if(a.startsWith("..")||(0,r.isAbsolute)(a))throw new i(t);return n}])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},69951,73733,e=>{"use strict";var t=e.i(74533),r=e.i(66680),n=e.i(2157),i=e.i(60526),a=e.i(50227);let o=()=>{let e,t;return{promise:new Promise((r,n)=>{e=r,t=n}),reject:t,resolve:e}};e.s(["createDeferred",0,o],73733);var s=e.i(59130),l=e.i(66312);let d=(()=>{let e=globalThis;if(!e.__diffhubGitRuntimeState){let t=process.env.DIFFHUB_SERVER_BOOT_ID;e.__diffhubGitRuntimeState={cache:new Map,gitCommandQueue:Promise.resolve(),lastPointerMtime:0,serverBootId:t??(0,r.createHash)("sha1").update(`${process.pid}:${Date.now()}:${Math.random()}`).digest("hex")}}return e.__diffhubGitRuntimeState})(),{cache:u}=d,c=["main","master","develop","dev"],p="1"===process.env.DIFFHUB_DEBUG,f=e=>`diffhub-snapshot-${(0,r.createHash)("sha1").update(e).digest("hex")}-`,h=(e,t,n,o)=>{let s=JSON.stringify({base:t??"",mode:n??"",whitespace:o??""}),l=(0,r.createHash)("sha1").update(s).digest("hex");return(0,a.join)((0,i.tmpdir)(),`${f(e)}${l}.json`)},m=e=>{if(!e)return void u.clear();let t=`:${e}`;for(let e of u.keys())e.includes(t)&&u.delete(e)},g=e=>{if(m(e),"1"!==process.env.DIFFHUB_CMUX||"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER)return;if(!e){for(let e of(0,n.readdirSync)((0,i.tmpdir)()))e.startsWith("diffhub-snapshot-")&&(0,n.rmSync)((0,a.join)((0,i.tmpdir)(),e),{force:!0});return}let t=f(e);for(let e of(0,n.readdirSync)((0,i.tmpdir)()))e.startsWith(t)&&(0,n.rmSync)((0,a.join)((0,i.tmpdir)(),e),{force:!0})},w=async(e,t,r)=>{try{let e=(0,n.statSync)(l.REPO_POINTER).mtimeMs;e!==d.lastPointerMtime&&(d.lastPointerMtime=e,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?m():g())}catch{}let i=u.get(e);if(i&&i.expires>Date.now())return i.value;let a=await r();return u.set(e,{expires:Date.now()+t,value:a}),a},v=()=>(0,l.getConfiguredRepoPath)(),R=async e=>{let r=Date.now();p&&console.info("[diffhub] git command start",{args:e});try{let{promise:n,reject:i,resolve:a}=o();{let r=(0,t.spawn)("git",e,{cwd:v(),env:{...process.env,GIT_TERMINAL_PROMPT:"0"},stdio:["ignore","pipe","pipe"]}),n=[],o=[],s=0,l=!1,d=e=>{l||(l=!0,e())},u=(t,n)=>{let a=Buffer.isBuffer(n)?n:Buffer.from(n);if((s+=a.length)>0x1400000){r.kill("SIGKILL"),d(()=>{i(Error(`git ${e.join(" ")} failed: output exceeded 20971520 bytes`))});return}t.push(a)};r.stdout.on("data",e=>{u(n,e)}),r.stderr.on("data",e=>{u(o,e)}),r.on("error",e=>{d(()=>i(e))}),r.on("close",t=>{let r=Buffer.concat(n).toString("utf-8"),s=Buffer.concat(o).toString("utf-8").trim();0===t?d(()=>a(r)):d(()=>{i(Object.assign(Error(s||`git ${e.join(" ")} failed with exit code ${t??"unknown"}`),{code:t,status:t??void 0,stderr:s}))})})}let s=await n;return p&&console.info("[diffhub] git command success",{args:e,durationMs:Date.now()-r}),s}catch(n){let t="string"==typeof n.stderr?n.stderr.trim():n.stderr?.toString("utf-8").trim()||"";if(console.error("[diffhub] git command failed",{args:e,code:n.code,durationMs:Date.now()-r,error:n,status:n.status,stderr:t||null}),n instanceof Error&&!t)throw n;throw Error(t||`git ${e.join(" ")} failed: ${n.message}`,{cause:n})}},y=async e=>{let t,r=new Promise(e=>{t=e}),n=d.gitCommandQueue;d.gitCommandQueue=r,await n;try{return await R(e)}finally{t()}},x=e=>e.split("\n").map(e=>e.trim()).filter(Boolean),E=e=>(0,r.createHash)("sha1").update(e).digest("hex"),b=(e,t,r,i,a)=>{if("1"!==process.env.DIFFHUB_CMUX)return null;let o=h(e,t,r,i);try{let t=(0,n.readFileSync)(o,"utf-8"),r=JSON.parse(t),i=Date.now()-r.metadata.createdAt;if(void 0!==a&&r.generation!==a||r.metadata.bootId!==d.serverBootId||r.metadata.repoPath!==e)return p&&console.info("[diffhub] snapshot cache stale",{ageMs:i,expectedBootId:d.serverBootId,expectedGeneration:a??null,repoPath:e,snapshotBootId:r.metadata.bootId,snapshotGeneration:r.generation,snapshotRepoPath:r.metadata.repoPath,source:"disk"}),(0,n.rmSync)(o,{force:!0}),null;return p&&console.info("[diffhub] snapshot cache hit",{ageMs:Date.now()-r.metadata.createdAt,generation:r.generation,repoPath:e,source:"disk"}),{...r,patchByFile:new Map(Object.entries(r.patchByFile))}}catch{return null}},S=async(e,t,r,n,i)=>{let a=Date.now()+1e3;for(;Date.now()<a;){let a=b(e,t,r,n,i);if(a)return a;await new Promise(e=>{setTimeout(e,50)})}return null},_=(e,t,i,a)=>{let o=v();return w(`snapshot:${o}:${e??""}:${t??""}:${i??""}:${a??""}`,500,async()=>{let s,l,u,f,m=b(o,e,t,i,a);if(m)return m;if("1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER){let r=await S(o,e,t,i,a);if(r)return r;console.warn("[diffhub] external snapshot unavailable, recomputing inline",{expectedGeneration:a??null,mode:t??"all",repoPath:o,whitespace:i??"default"})}let g=(await y(["rev-parse","--abbrev-ref","HEAD"])).trim(),R="uncommitted"===t?"HEAD":e??process.env.DIFFHUB_BASE??await (s=v(),w(`baseBranch:${s}`,3e4,async()=>{let e=x(await y(["branch","-r","--format=%(refname:short)"]));for(let t of c)if(e.includes(`origin/${t}`))return`origin/${t}`;let t=x(await y(["branch","--format=%(refname:short)"]));for(let e of c)if(t.includes(e))return e;return"origin/main"})),E="uncommitted"===t?"HEAD":await (l=v(),w(`mergeBase:${l}:${R}`,3e4,async()=>(await y(["merge-base","HEAD",R])).trim())),_=(u=[E],"ignore"===i?["-w",...u]:u),[I,F]=await Promise.all([y(["diff",..._]),y(["diff","--numstat","-z","-M",..._])]),P=(0,r.createHash)("sha1").update(I).digest("hex"),A=(e=>{let t=[],r=0,n=0,i=0;for(;i<e.length;){let a=e.indexOf(" ",i);if(-1===a)break;let o=e.indexOf(" ",a+1);if(-1===o)throw Error("Malformed git diff --numstat output");let s=e.slice(i,a),l=e.slice(a+1,o),d="";if("\0"===e[i=o+1]){i+=1;let t=e.indexOf("\0",i);if(-1===t)throw Error("Malformed git diff --numstat rename output");i=t+1;let r=e.indexOf("\0",i);if(-1===r)throw Error("Malformed git diff --numstat rename output");d=e.slice(i,r),i=r+1}else{let t=e.indexOf("\0",i);if(-1===t)throw Error("Malformed git diff --numstat output");d=e.slice(i,t),i=t+1}let u="-"===s||"-"===l,c=u?0:Number.parseInt(s,10)||0,p=u?0:Number.parseInt(l,10)||0;t.push({binary:u,changes:c+p,deletions:p,file:d,insertions:c}),r+=c,n+=p}return{deletions:n,files:t,insertions:r}})(F),T=Date.now(),B=(f=d.serverBootId,(0,r.createHash)("sha1").update(`${f}:${P}:${E}`).digest("hex")),D={baseBranch:R,branch:g,deletions:A.deletions,files:A.files,fingerprint:P,fullPatch:I,generation:B,insertions:A.insertions,mergeBase:E,metadata:{bootId:d.serverBootId,createdAt:T,repoPath:o},patchByFile:(e=>{let t=new Map,r=/^diff --git a\/(.+?) b\/(.+)$/gm,n=[],i=r.exec(e);for(;i;)n.push({file:i[2],start:i.index}),i=r.exec(e);for(let[r,i]of n.entries()){let a=n[r+1]?.start??e.length,o=e.slice(i.start,a).trimEnd();t.set(i.file,o?`${o}
2
+ `:"")}return t})(I)};return console.info("[diffhub] snapshot cache miss",{generation:B,repoPath:o,source:"recomputed"}),((e,t,r,i,a)=>{if("1"!==process.env.DIFFHUB_CMUX)return;let o={...a,patchByFile:Object.fromEntries(a.patchByFile)};(0,n.writeFileSync)(h(e,t,r,i),JSON.stringify(o),"utf-8"),p&&console.info("[diffhub] snapshot cache wrote",{generation:a.generation,repoPath:e,source:"disk"})})(o,e,t,i,D),D})},I=async(e,t,r,n,i)=>{let a=await _(t,r,n,i),o=a.patchByFile.get(e)??"";return{baseBranch:a.baseBranch,branch:a.branch,fingerprint:a.fingerprint,generation:a.generation,mergeBase:a.mergeBase,patch:o,reviewKey:E(o)}},F=async(e,t,r,n)=>{let i=await _(e,t,r,n),a=Object.fromEntries(i.patchByFile),o=Object.fromEntries(Object.entries(a).map(([e,t])=>[e,E(t)]));return{baseBranch:i.baseBranch,branch:i.branch,deletions:i.deletions,files:i.files,fingerprint:i.fingerprint,generation:i.generation,insertions:i.insertions,mergeBase:i.mergeBase,patchByFile:a,reviewKeyByFile:o}},P=async(e,t,r)=>{let n=await _(e,t,r);return{baseBranch:n.baseBranch,branch:n.branch,deletions:n.deletions,files:n.files,fingerprint:n.fingerprint,generation:n.generation,insertions:n.insertions}},A=async()=>{for(let e of(await Promise.allSettled([P(),P(void 0,"uncommitted")])))"rejected"===e.status&&console.error("[diffhub] failed to prime diff snapshot",{error:e.reason})},T=async e=>{await y(["restore","--staged","--worktree","--",e])};e.s(["clearGitMemoryCache",0,m,"discardFile",0,T,"getDiffForFile",0,I,"getDiffStats",0,P,"getFileAtRef",0,(e,t)=>{let r=v();if("WORKING_TREE"===t)try{return Promise.resolve((0,n.readFileSync)((0,s.resolveRepoFilePath)(r,e),"utf-8"))}catch{return Promise.resolve("")}return w(`file:${r}:${t}:${e}`,3e4,async()=>{try{return await y(["show",`${t}:${e}`])}catch{return""}})},"getMultiFileDiff",0,F,"invalidateGitCache",0,g,"primeGitSnapshots",0,A],69951)},63438,e=>{"use strict";var t=e.i(31173),r=e.i(62205),n=e.i(9467),i=e.i(68273),a=e.i(18601),o=e.i(67822),s=e.i(94179),l=e.i(86434),d=e.i(34044),u=e.i(282),c=e.i(63625),p=e.i(62788),f=e.i(60321),h=e.i(21422),m=e.i(91917),g=e.i(93695);e.i(93930);var w=e.i(82490),v=e.i(2157),R=e.i(50227),y=e.i(73733),x=e.i(69951),E=e.i(59130),b=e.i(66312);let S=()=>null,_=new Set,I=null,F=[],P=null,A=null,T=!1,B=0,D=0,C=async()=>{if(A){T=!0,await A;return}A=(async()=>{try{await (0,x.primeGitSnapshots)()}finally{A=null}})(),await A,T&&(T=!1,await C())},O=e=>{let t=(0,E.getGitDirectory)(e),r=[e].filter(v.existsSync),n="darwin"===process.platform||"win32"===process.platform,i=[],a=(t,r)=>{if(!((e,t)=>{let r=(0,R.relative)(t,e).split(R.sep).join("/");if(!r||r.startsWith(".."))return!1;for(let e of[".next",".turbo","node_modules"])if(r===e||r.startsWith(`${e}/`))return!0;return!(!(".git"===r||r.startsWith(".git/"))||".git/HEAD"===r||".git/index"===r||".git/packed-refs"===r||".git/refs"===r||r.startsWith(".git/refs/"))})(r?(0,R.join)(t,r.toString()):t,e)){let e;e=I,"1"===process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER?(0,x.clearGitMemoryCache)(e??void 0):(0,x.invalidateGitCache)(e??void 0),P&&clearTimeout(P),P=setTimeout(()=>{P=null,(async()=>{try{"1"!==process.env.DIFFHUB_EXTERNAL_SNAPSHOT_WRITER&&await C()}catch(e){console.error("[diffhub] snapshot prime failed",{error:e})}finally{for(let e of(B+=1,D=Date.now(),_))e()}})()},150)}},o=(t,r)=>{console.error("[diffhub] file watcher error",r);let n=i.indexOf(t);-1!==n&&i.splice(n,1),0===i.length&&setTimeout(()=>{I===e&&0===F.length&&(console.log("[diffhub] attempting watcher recovery"),F=O(e))},5e3)};for(let e of r){let t=(0,v.watch)(e,{persistent:!0,recursive:n},(t,r)=>{a(e,r)});t.on("error",e=>o(t,e)),i.push(t)}for(let e of[(0,R.join)(t,"HEAD"),(0,R.join)(t,"index"),(0,R.join)(t,"packed-refs"),(0,R.join)(t,"refs","heads"),(0,R.join)(t,"refs","tags"),(0,R.join)(t,"refs","remotes")]){if(!(0,v.existsSync)(e))continue;let t=(0,v.watch)(e,{persistent:!0},(t,r)=>{a(e,r)});t.on("error",e=>o(t,e)),i.push(t)}return i},H=()=>({changedAt:D,revision:B}),N=async e=>{if("1"===process.env.DIFFHUB_DISABLE_WATCH)return Response.json({error:"File watch disabled"},{status:503});try{await (()=>{let e=(0,b.getConfiguredRepoPath)();if(F.length>0&&I===e)return;let t=I;I=e,(()=>{if(P&&(clearTimeout(P),P=null),0===F.length)return;let e=F;for(let t of(F=[],e))t.close()})(),(t!==e||0===F.length)&&(F=O(e))})()}catch(e){return Response.json({error:String(e)},{status:500})}let t=H(),r=new URL(e.url).searchParams.get("revision"),n=null===r?null:Number.parseInt(r,10);if(!(null!==n&&Number.isFinite(n)&&n===t.revision))return Response.json({...t,changed:!1,ok:!0});let i=await (e=>{var t;let{promise:r,resolve:n}=(0,y.createDeferred)(),i=!1,a=null,o=S;if(e.aborted)return n("timeout"),r;let s=S,l=t=>{i||(i=!0,a&&(clearTimeout(a),a=null),o(),e.removeEventListener("abort",s),n(t))};return s=()=>{l("timeout")},e.addEventListener("abort",s,{once:!0}),t=()=>{l("change")},_.add(t),o=()=>{_.delete(t)},a=setTimeout(()=>{l("timeout")},25e3),r})(e.signal);return Response.json({...H(),changed:"change"===i,ok:!0})};e.s(["GET",0,N,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],83171);var j=e.i(83171);let $=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/watch/route",pathname:"/api/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/watch/route.ts",nextConfigOutput:"standalone",userland:j,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:U,serverHooks:k}=$;async function q(e,t,n){n.requestMeta&&(0,i.setRequestMeta)(e,n.requestMeta),$.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/watch/route";v=v.replace(/\/index$/,"")||"/";let R=await $.prepare(e,t,{srcPage:v,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:x,nextConfig:E,parsedUrl:b,isDraftMode:S,prerenderManifest:_,routerServerContext:I,isOnDemandRevalidate:F,revalidateOnlyGenerated:P,resolvedPathname:A,clientReferenceManifest:T,serverActionsManifest:B}=R,D=(0,s.normalizeAppPath)(v),C=!!(_.dynamicRoutes[D]||_.routes[A]),O=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(C&&!S){let e=!!_.routes[A],t=_.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await O();throw new g.NoFallbackError}}let H=null;!C||$.isDev||S||(H="/index"===(H=A)?"/":H);let N=!0===$.isDev||!C,j=C&&!N;B&&T&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:B});let M=e.method||"GET",U=(0,a.getTracer)(),k=U.getActiveScopeSpan(),q=!!(null==I?void 0:I.isWrappedByNextServer),G=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await $.getIncrementalCache(e,E,_,G);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let L={params:x,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:N,incrementalCache:W,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>$.onRequestError(e,t,n,i,I)},sharedContext:{buildId:y}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i,o=async e=>$.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${M} ${v}`)}),s=async i=>{var a,s;let l=async({previousCacheEntry:r})=>{try{if(!G&&F&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(i);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let l=L.renderOpts.collectedTags;if(!C)return await (0,p.sendResponse)(K,X,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.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>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await $.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:F})},!1,I),t}},d=await $.handleResponse({req:e,nextConfig:E,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:F,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:G});if(!C)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",F?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return G&&C||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,X,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};q&&k?await s(k):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},s),void 0,!q))}catch(t){if(t instanceof g.NoFallbackError||await $.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:F})},!1,I),C)throw t;return await (0,p.sendResponse)(K,X,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:U})},"routeModule",0,$,"serverHooks",0,k,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,U],63438)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__11d5pg1._.js.map