@scolladon/tsgit 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +32 -252
  2. package/dist/cjs/adapters/browser/index.cjs +1 -1
  3. package/dist/cjs/adapters/memory/index.cjs +1 -1
  4. package/dist/cjs/adapters/memory/index.cjs.map +1 -1
  5. package/dist/cjs/adapters/node/index.cjs +1 -1
  6. package/dist/cjs/adapters/node/index.cjs.map +1 -1
  7. package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs +2 -0
  8. package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs.map +1 -0
  9. package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
  10. package/dist/cjs/chunks/{error-CqLvhejR.cjs → error-CDLOBdNU.cjs} +2 -2
  11. package/dist/cjs/chunks/error-CDLOBdNU.cjs.map +1 -0
  12. package/dist/cjs/chunks/index-BVArBKuk.cjs +2 -0
  13. package/dist/cjs/chunks/index-BVArBKuk.cjs.map +1 -0
  14. package/dist/cjs/chunks/index-DE9HSiWf.cjs +2 -0
  15. package/dist/cjs/chunks/index-DE9HSiWf.cjs.map +1 -0
  16. package/dist/cjs/chunks/{logger-C8Z5BfFF.cjs → logger-CVG0zcPH.cjs} +2 -2
  17. package/dist/cjs/chunks/{logger-C8Z5BfFF.cjs.map → logger-CVG0zcPH.cjs.map} +1 -1
  18. package/dist/cjs/chunks/{memory-http-transport-Pjyme5KN.cjs → memory-http-transport-DXwDGKtR.cjs} +2 -2
  19. package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs.map +1 -0
  20. package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs +2 -0
  21. package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs.map +1 -0
  22. package/dist/cjs/chunks/{progress-CntEbiuo.cjs → progress-Bj2w-90A.cjs} +2 -2
  23. package/dist/cjs/chunks/{progress-CntEbiuo.cjs.map → progress-Bj2w-90A.cjs.map} +1 -1
  24. package/dist/cjs/chunks/repository-BJwTSiGf.cjs +2 -0
  25. package/dist/cjs/chunks/repository-BJwTSiGf.cjs.map +1 -0
  26. package/dist/cjs/commands/index.cjs +1 -1
  27. package/dist/cjs/index.browser.cjs +1 -1
  28. package/dist/cjs/index.cjs +1 -1
  29. package/dist/cjs/index.default.cjs +1 -1
  30. package/dist/cjs/index.node.cjs +1 -1
  31. package/dist/cjs/index.node.cjs.map +1 -1
  32. package/dist/cjs/primitives/index.cjs +1 -1
  33. package/dist/esm/adapters/browser/index.js +1 -1
  34. package/dist/esm/adapters/memory/index.js +1 -1
  35. package/dist/esm/adapters/memory/index.js.map +1 -1
  36. package/dist/esm/adapters/node/index.js +1 -1
  37. package/dist/esm/adapters/node/index.js.map +1 -1
  38. package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js +2 -0
  39. package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js.map +1 -0
  40. package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
  41. package/dist/esm/chunks/{error-BN9rdQ33.js → error-MOmSzp9Z.js} +2 -2
  42. package/dist/esm/chunks/error-MOmSzp9Z.js.map +1 -0
  43. package/dist/esm/chunks/index-BjmofbKE.js +2 -0
  44. package/dist/esm/chunks/index-BjmofbKE.js.map +1 -0
  45. package/dist/esm/chunks/index-Jh5R-UmU.js +2 -0
  46. package/dist/esm/chunks/index-Jh5R-UmU.js.map +1 -0
  47. package/dist/esm/chunks/{logger-BLZbLzva.js → logger-DP2cCpvL.js} +2 -2
  48. package/dist/esm/chunks/{logger-BLZbLzva.js.map → logger-DP2cCpvL.js.map} +1 -1
  49. package/dist/esm/chunks/memory-http-transport-COJU6VOL.js +2 -0
  50. package/dist/esm/chunks/memory-http-transport-COJU6VOL.js.map +1 -0
  51. package/dist/esm/chunks/node-http-transport-DYCFIJbc.js +2 -0
  52. package/dist/esm/chunks/node-http-transport-DYCFIJbc.js.map +1 -0
  53. package/dist/esm/chunks/{progress-DJU_f66N.js → progress-NePjO3Kd.js} +2 -2
  54. package/dist/esm/chunks/{progress-DJU_f66N.js.map → progress-NePjO3Kd.js.map} +1 -1
  55. package/dist/esm/chunks/repository-Cs-dbHqO.js +2 -0
  56. package/dist/esm/chunks/repository-Cs-dbHqO.js.map +1 -0
  57. package/dist/esm/commands/index.js +1 -1
  58. package/dist/esm/index.browser.js +1 -1
  59. package/dist/esm/index.default.js +1 -1
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/index.node.js +1 -1
  62. package/dist/esm/index.node.js.map +1 -1
  63. package/dist/esm/primitives/index.js +1 -1
  64. package/dist/types/adapters/browser/index.d.cts +2 -1
  65. package/dist/types/adapters/browser/index.d.ts +2 -1
  66. package/dist/types/adapters/memory/index.d.cts +21 -2
  67. package/dist/types/adapters/memory/index.d.ts +21 -2
  68. package/dist/types/adapters/node/index.d.cts +64 -3
  69. package/dist/types/adapters/node/index.d.ts +64 -3
  70. package/dist/types/chunks/{context-o5TPfMB2.d.ts → context-BORy7yXb.d.ts} +97 -2
  71. package/dist/types/chunks/{context-D84z1i5F.d.cts → context-CMrHCVwK.d.cts} +97 -2
  72. package/dist/types/chunks/reflog-entry-C2Hsdobk.d.ts +354 -0
  73. package/dist/types/chunks/reflog-entry-DNvSz7S5.d.cts +354 -0
  74. package/dist/types/chunks/{repository-23evW2h-.d.cts → repository-DCR_3RVt.d.cts} +21 -3
  75. package/dist/types/chunks/{repository-BT7Xq1kJ.d.ts → repository-DFxFeYi3.d.ts} +21 -3
  76. package/dist/types/chunks/write-tree-CuhpWKFo.d.cts +164 -0
  77. package/dist/types/chunks/write-tree-Dn1LtIh7.d.ts +164 -0
  78. package/dist/types/commands/index.d.cts +152 -6
  79. package/dist/types/commands/index.d.ts +152 -6
  80. package/dist/types/index.browser.d.cts +4 -4
  81. package/dist/types/index.browser.d.ts +4 -4
  82. package/dist/types/index.d.cts +4 -4
  83. package/dist/types/index.d.ts +4 -4
  84. package/dist/types/index.default.d.cts +4 -4
  85. package/dist/types/index.default.d.ts +4 -4
  86. package/dist/types/index.node.d.cts +4 -4
  87. package/dist/types/index.node.d.ts +4 -4
  88. package/dist/types/primitives/index.d.cts +197 -7
  89. package/dist/types/primitives/index.d.ts +197 -7
  90. package/package.json +207 -17
  91. package/dist/cjs/chunks/browser-http-transport-DcG05jw3.cjs +0 -2
  92. package/dist/cjs/chunks/browser-http-transport-DcG05jw3.cjs.map +0 -1
  93. package/dist/cjs/chunks/error-CqLvhejR.cjs.map +0 -1
  94. package/dist/cjs/chunks/index-BcxdLkNe.cjs +0 -2
  95. package/dist/cjs/chunks/index-BcxdLkNe.cjs.map +0 -1
  96. package/dist/cjs/chunks/index-D5Nd-Mks.cjs +0 -2
  97. package/dist/cjs/chunks/index-D5Nd-Mks.cjs.map +0 -1
  98. package/dist/cjs/chunks/memory-http-transport-Pjyme5KN.cjs.map +0 -1
  99. package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs +0 -2
  100. package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs.map +0 -1
  101. package/dist/cjs/chunks/repository-B_jx2AKW.cjs +0 -2
  102. package/dist/cjs/chunks/repository-B_jx2AKW.cjs.map +0 -1
  103. package/dist/esm/chunks/browser-http-transport-COFgnEyq.js +0 -2
  104. package/dist/esm/chunks/browser-http-transport-COFgnEyq.js.map +0 -1
  105. package/dist/esm/chunks/error-BN9rdQ33.js.map +0 -1
  106. package/dist/esm/chunks/index-BdV37p4e.js +0 -2
  107. package/dist/esm/chunks/index-BdV37p4e.js.map +0 -1
  108. package/dist/esm/chunks/index-BkRJ9-Im.js +0 -2
  109. package/dist/esm/chunks/index-BkRJ9-Im.js.map +0 -1
  110. package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js +0 -2
  111. package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js.map +0 -1
  112. package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js +0 -2
  113. package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js.map +0 -1
  114. package/dist/esm/chunks/repository-DiagDiT_.js +0 -2
  115. package/dist/esm/chunks/repository-DiagDiT_.js.map +0 -1
  116. package/dist/types/chunks/diff-change-Bm1zvVsC.d.cts +0 -59
  117. package/dist/types/chunks/diff-change-alGRzD_j.d.ts +0 -59
  118. package/dist/types/chunks/write-tree-DNjhjS3t.d.ts +0 -282
  119. package/dist/types/chunks/write-tree-DVp0RJ_r.d.cts +0 -282
@@ -1,2 +0,0 @@
1
- import{T as t,C as e,z as n,N as o,g as s,q as r,J as a,t as i}from"./error-BN9rdQ33.js";import{r as c}from"./readable-stream-CGuf8k1J.js";const d=1e6;function f(t){switch(t.type){case"add":case"rename":return t.newPath;case"delete":return t.oldPath;case"modify":case"type-change":return t.path}}const u=e=>new t({code:"INVALID_OBJECT_ID",value:e}),h=e=>new t({code:"INVALID_OBJECT_HEADER",reason:e}),l=(e,n)=>new t({code:"INVALID_TREE_ENTRY",offset:e,reason:n}),w=e=>new t({code:"INVALID_COMMIT",reason:e}),g=e=>new t({code:"INVALID_TAG",reason:e}),p=(e,n)=>new t({code:"INVALID_IDENTITY",line:e,reason:n}),m=e=>new t({code:"OBJECT_NOT_FOUND",id:e}),y=(e,n)=>new t({code:"OBJECT_HASH_MISMATCH",expected:e,actual:n}),b=(e,n,o)=>new t({code:"UNEXPECTED_OBJECT_TYPE",expected:e,actual:n,id:o}),v=e=>new t({code:"TREE_DEPTH_EXCEEDED",depth:e}),x=(e,n)=>new t({code:"TREE_ENTRY_LIMIT_EXCEEDED",count:e,limit:n}),E=(e,n,o)=>new t({code:"OBJECT_TOO_LARGE",id:e,actualSize:n,limit:o});function k(t){const e=t.lastIndexOf(">");if(-1===e)throw p(t,"missing closing angle bracket");const n=t.lastIndexOf("<",e);if(-1===n)throw p(t,"missing opening angle bracket");const o=t.slice(0,n),s=o.endsWith(" ")?o.slice(0,-1):o,r=t.slice(n+1,e),a=t.slice(e+1).trim().split(/\s+/);if(a.length<2)throw p(t,"missing timestamp or timezone");const i=Number(a[0]);if(!Number.isSafeInteger(i))throw p(t,"invalid timestamp");const c=a[1];if(!/^[+-]\d{4}$/.test(c))throw p(t,"invalid timezone offset");return{name:s,email:r,timestamp:i,timezoneOffset:c}}const $=/[\n\r\0]/;function I(t){const e=`${t.name} <${t.email}>`;if($.test(t.name))throw p(e,"name contains forbidden control character");if($.test(t.email))throw p(e,"email contains forbidden control character");if($.test(t.timezoneOffset))throw p(e,"timezoneOffset contains forbidden control character");if(t.name.includes("<")||t.name.includes(">"))throw p(e,"invalid identity fields");if(t.email.includes("<")||t.email.includes(">"))throw p(e,"invalid identity fields");if(!/^[+-]\d{4}$/.test(t.timezoneOffset))throw p(e,"invalid identity fields");return`${t.name} <${t.email}> ${t.timestamp} ${t.timezoneOffset}`}const D=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function T(t){const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=D[t[n]];return e.join("")}function A(t){if(t.length%2!=0)throw new Error("Hex string must have even length");const e=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2){const o=_(t.charCodeAt(n)),s=_(t.charCodeAt(n+1));if(-1===o||-1===s)throw new Error(`Invalid hex character at position ${n}`);e[n/2]=o<<4|s}return e}function _(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-87:-1}function O(t,e){const n=Math.min(t.length,e.length);for(let o=0;o<n;o++)if(t[o]!==e[o])return t[o]-e[o];return t.length-e.length}function L(t,e,n){for(let o=n;o<t.length;o++)if(t[o]===e)return o;return-1}const S=new TextEncoder,N=new TextDecoder;function U(t){return S.encode(t)}function C(t){return N.decode(t)}function R(t){const e=t.indexOf("\n\n");return-1===e?{headerPart:t,message:""}:{headerPart:t.slice(0,e),message:t.slice(e+2)}}function P(t,e){if(t.includes("\n")||t.includes(" ")||""===t)throw new Error(`invalid header key: ${t}`);const n=e.split("\n");return[`${t} ${n[0]}`,...n.slice(1).map(t=>` ${t}`)].join("\n")}function M(t){const e=t.indexOf(" ");return-1===e?{key:t,value:""}:{key:t.slice(0,e),value:t.slice(e+1)}}function j(t,e,n,o){let s;const r=[];let a=e;for(;a<t.length;){const{key:e,value:i}=M(t[a]);""===e&&n("unexpected continuation line without preceding header");const c=[i];let d=a;for(let e=a+1;e<t.length;e++){const n=t[e];if(!n.startsWith(" "))break;c.push(n.slice(1)),d=e}a=d+1;const f=c.join("\n");"gpgsig"===e?(void 0!==s&&o("duplicate gpgsig header"),s=f):r.push({key:e,value:f})}return{gpgSignature:s,extraHeaders:r}}const z=/^[0-9a-f]{40}$/,H=/^[0-9a-f]{64}$/,W={from(t){if(!z.test(t)&&!H.test(t))throw u(t);return t},fromRaw(t){if(20!==t.length&&32!==t.length)throw u(`raw bytes length ${t.length} is not 20 or 32`);return W.from(T(t))}};W.from("0000000000000000000000000000000000000000"),W.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904");const F={from(t){if(""===t)throw new Error("RefName must not be empty");return t}},B={from(t){if(""===t)throw new Error("FilePath must not be empty");return t}};const V={REGULAR:"100644",EXECUTABLE:"100755",SYMLINK:"120000",DIRECTORY:"40000",GITLINK:"160000"},K=new Set(Object.values(V)),Y=new Map([["040000",V.DIRECTORY]]);function G(e){return function(e){if(!K.has(e))throw new t({code:"INVALID_FILE_MODE",value:e});return e}(Y.get(e)??e)}function q(t){return t===V.DIRECTORY}const X=new Set(["blob","tree","commit","tag"]);function J(t){const e=L(t,0,0);if(-1===e)throw h("missing null terminator");const n=C(t.subarray(0,e)),o=n.indexOf(" ");if(-1===o)throw h("missing space between type and size");const s=n.slice(0,o);if(!X.has(s))throw h(`unknown object type: ${s}`);const r=n.slice(o+1),a=Number(r);if(!Number.isFinite(a)||a<0||r!==String(a))throw h(`invalid size: ${r}`);return{type:s,size:a,contentOffset:e+1}}const Q=new Set(["blob","tree","commit","tag"]);function Z(t){const e=t.map(t=>({entry:t,sortKey:et(t.name,q(t.mode))}));return e.sort((t,e)=>O(t.sortKey,e.sortKey)),e.map(t=>t.entry)}function tt(t,e){return O(et(t.name,q(t.mode)),et(e.name,q(e.mode)))}function et(t,e){const n=U(t);if(!e)return n;const o=new Uint8Array(n.length+1);return o.set(n),o[n.length]=47,o}function nt(t,e,n){const{type:o,size:s,contentOffset:r}=J(e),a=e.subarray(r);if(a.length!==s)throw h(`size mismatch: header says ${s}, actual content is ${a.length}`);switch(o){case"blob":return function(t,e){return{type:"blob",id:t,content:e}}(t,a);case"tree":return function(t,e,n){const o=[],s=new Set;let r=0;for(;r<e.length;){const t=L(e,32,r);if(-1===t)throw l(r,"missing space after mode");const a=C(e.subarray(r,t)),i=L(e,0,t+1);if(-1===i)throw l(r,"missing null after name");const c=C(e.subarray(t+1,i));if(""===c||"."===c||".."===c||c.includes("/"))throw l(r,`invalid entry name: ${c}`);const d=i+1,f=d+n.digestLength;if(f>e.length)throw l(r,"truncated hash");const u=e.subarray(d,f),h=W.fromRaw(u),w=G(a);if(s.has(c))throw l(r,`duplicate entry name: ${c}`);s.add(c),o.push({mode:w,name:c,id:h}),r=f}return{type:"tree",id:t,entries:o}}(t,a,n);case"commit":return function(t,e){const{headerPart:n,message:o}=R(C(e)),s=n.split("\n"),{tree:r,parents:a,author:i,committer:c,nextIndex:d}=function(t){if(!t[0].startsWith("tree "))throw w("first line must be tree");const e=W.from(t[0].slice(5)),n=[];let o=1;for(;o<t.length&&t[o].startsWith("parent ");)n.push(W.from(t[o].slice(7))),o++;if(o>=t.length||!t[o].startsWith("author "))throw w("missing author");const s=k(t[o].slice(7));if(o++,o>=t.length||!t[o].startsWith("committer "))throw w("missing committer");const r=k(t[o].slice(10));return o++,{tree:e,parents:n,author:s,committer:r,nextIndex:o}}(s),{gpgSignature:f,extraHeaders:u}=function(t,e){return j(t,e,t=>{throw w(t)},t=>{throw w(t)})}(s,d);return{type:"commit",id:t,data:{tree:r,parents:a,author:i,committer:c,message:o,...void 0!==f?{gpgSignature:f}:{},extraHeaders:u}}}(t,a);case"tag":return function(t,e){const{headerPart:n,message:o}=R(C(e)),s=n.split("\n"),{object:r,objectType:a,tagName:i,nextIndex:c}=function(t){if(!t[0].startsWith("object "))throw g("first line must be object");const e=W.from(t[0].slice(7));if(t.length<2||!t[1].startsWith("type "))throw g("second line must be type");const n=t[1].slice(5);if(!Q.has(n))throw g(`invalid object type: ${n}`);if(t.length<3||!t[2].startsWith("tag "))throw g("third line must be tag name");const o=t[2].slice(4);if(""===o||o.includes("\0")||o.includes("\n"))throw g(`invalid tag name: ${o}`);return{object:e,objectType:n,tagName:o,nextIndex:3}}(s),{tagger:d,nextIndex:f}=function(t,e){return e<t.length&&t[e].startsWith("tagger ")?{tagger:k(t[e].slice(7)),nextIndex:e+1}:{tagger:void 0,nextIndex:e}}(s,c),{gpgSignature:u,extraHeaders:h}=function(t,e){return j(t,e,t=>{throw g(t)},t=>{throw g(t)})}(s,f);return{type:"tag",id:t,data:{object:r,objectType:a,tagName:i,...void 0!==d?{tagger:d}:{},message:o,...void 0!==u?{gpgSignature:u}:{},extraHeaders:h}}}(t,a)}}function ot(t,e){let n;switch(t.type){case"blob":n=t.content;break;case"tree":n=function(t,e){const n=Z(t.entries).map(t=>({mode:U(t.mode),name:U(t.name),hash:A(t.id)})),o=n.reduce((t,n)=>t+n.mode.length+1+n.name.length+1+e.digestLength,0),s=new Uint8Array(o);let r=0;for(const t of n)s.set(t.mode,r),r+=t.mode.length,s[r++]=32,s.set(t.name,r),r+=t.name.length,s[r++]=0,s.set(t.hash,r),r+=t.hash.length;return s}(t,e);break;case"commit":n=function(t){const e=[],{data:n}=t;e.push(`tree ${n.tree}`);for(const t of n.parents)e.push(`parent ${t}`);e.push(`author ${I(n.author)}`),e.push(`committer ${I(n.committer)}`),void 0!==n.gpgSignature&&e.push(P("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(P(t.key,t.value));return U(`${e.join("\n")}\n\n${n.message}`)}(t);break;case"tag":n=function(t){const e=[],{data:n}=t;if(e.push(`object ${n.object}`),e.push(`type ${n.objectType}`),""===n.tagName||n.tagName.includes("\n")||n.tagName.includes("\0"))throw g(`invalid tag name: ${n.tagName}`);e.push(`tag ${n.tagName}`),void 0!==n.tagger&&e.push(`tagger ${I(n.tagger)}`),void 0!==n.gpgSignature&&e.push(P("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(P(t.key,t.value));return U(`${e.join("\n")}\n\n${n.message}`)}(t)}const o=U(`${t.type} ${n.length}\0`),s=new Uint8Array(o.length+n.length);return s.set(o,0),s.set(n,o.length),s}function st(t){return t===V.REGULAR||t===V.EXECUTABLE?"file":t===V.SYMLINK?"symlink":t===V.DIRECTORY?"directory":"gitlink"}function rt(t,e){return st(t)===st(e)}const at=new TextEncoder;function it(t,e){return O(at.encode(t),at.encode(e))}function ct(t,e){const n=t.map(t=>({item:t,key:at.encode(e(t))}));return n.sort((t,e)=>O(t.key,e.key)),n.map(t=>t.item)}function dt(t,e){const n=e.get(t.newId);if(void 0===n||1!==n.length)return;const o=n[0];return{rename:{type:"rename",oldPath:o.oldPath,newPath:t.newPath,id:t.newId,mode:t.newMode},consumedDelete:o}}function ft(t){return{type:"add",newPath:t.name,newId:t.id,newMode:t.mode}}function ut(t){return{type:"delete",oldPath:t.name,oldId:t.id,oldMode:t.mode}}function ht(t,e){if(t.id!==e.id||t.mode!==e.mode)return rt(t.mode,e.mode)?{type:"modify",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}:{type:"type-change",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}}function lt(t){return void 0===t?[]:Z(t.entries)}const wt=e=>new t({code:"INVALID_INDEX_HEADER",reason:e}),gt=(e,n)=>new t({code:"INVALID_INDEX_ENTRY",offset:e,reason:n}),pt=new Set(["",".",".."]),mt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),yt=t=>""===t?"empty segment rejected":"."===t?"'.' segment rejected":"'..' segment rejected",bt=t=>t<32||t>=127&&t<=159,vt=(t,e)=>{if(t.startsWith("/"))throw gt(e,"absolute path rejected");const n=(t=>{for(let e=0;e<t.length;e+=1){const n=t.charCodeAt(e);if(92===n)return"backslash rejected";if(bt(n))return"control character rejected";if(mt.has(n))return"bidi control character rejected"}})(t);if(void 0!==n)throw gt(e,n);for(const n of t.split("/"))if(pt.has(n))throw gt(e,yt(n))};function xt(t,e){const n=!!(32768&t);if(16384&t)throw gt(e,"extended flag not supported in v2");return{assumeValid:n,extended:!1,stage:t>>>12&3}}function Et(t,e){for(let n=e;n<t.length;n++)if(0===t[n])return n;return-1}const kt="agent=tsgit/0.0",$t=["multi_ack_detailed","side-band-64k","ofs-delta","thin-pack","no-progress","include-tag",kt],It=["report-status","side-band-64k","ofs-delta","atomic","delete-refs",kt],Dt=t=>{const e=t.indexOf("=");return e<0?t:t.slice(0,e)},Tt=(t,e)=>{const n=new Map;for(const e of t)n.set(Dt(e),e);const o=[];for(const t of e){const e=Dt(t),s=n.get(e);void 0!==s&&o.push(s)}return o},At=e=>new t({code:"PKT_LENGTH_RESERVED",value:e}),_t=e=>new t({code:"PKT_TOO_LARGE",value:e}),Ot=e=>new t({code:"INVALID_BASE_URL",reason:e}),Lt=(e,n)=>new t({code:"MISSING_SERVICE_HEADER",expected:e,actual:n}),St=e=>new t({code:"INVALID_REF_LINE",line:e}),Nt=e=>new t({code:"INVALID_SIDEBAND_CHANNEL",channel:e}),Ut=e=>new t({code:"SIDEBAND_FATAL",message:e}),Ct=e=>new t({code:"INVALID_REPORT_STATUS",line:e}),Rt=()=>new t({code:"EMPTY_RECEIVE_UPDATES"}),Pt=(e,n)=>new t({code:"REFSPEC_INVALID",raw:e,reason:n}),Mt=(e,n)=>new t({code:"TOO_MANY_ADVERTISED_REFS",count:e,limit:n}),jt=new TextEncoder,zt=new TextDecoder("utf-8",{fatal:!1}),Ht=/^[0-9a-f]{4}$/i,Wt=65520,Ft=jt.encode("0000");jt.encode("0001"),jt.encode("0002");const Bt=t=>{const e=(t+65536).toString(16).slice(-4);return jt.encode(e)},Vt=t=>{let e=Ft.byteLength;for(const n of t){if(n.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${n.byteLength} > 65516)`);e+=n.byteLength+4}const n=new Uint8Array(e);let o=0;for(const e of t)n.set(Bt(e.byteLength+4),o),o+=4,n.set(e,o),o+=e.byteLength;return n.set(Ft,o),n},Kt=e=>{const n=zt.decode(e.subarray(0,4));if(!Ht.test(n))throw new t({code:"INVALID_PKT_LENGTH",value:n});const o=Number.parseInt(n,16);if(o>Wt)throw _t(o);return o},Yt=(e,n)=>({[Symbol.asyncIterator]:()=>async function*(e){const n=new qt;for await(const t of e)n.accept(t),yield*Xt(n);if(n.used>0)throw new t({code:"PKT_TRUNCATED",remaining:n.used})}(e)}),Gt=(t,e,n)=>{if(0===t)return{kind:"flush",consume:4};if(1===t)throw At(1);if(2===t)throw At(2);if(t<4)throw At(t);return e<t?{kind:"wait"}:{kind:"data",consume:t}};class qt{acc=new Uint8Array(Wt);used=0;accept(t){if(this.used+t.byteLength<=Wt)return this.acc.set(t,this.used),void(this.used+=t.byteLength);const e=Math.max(0,4-this.used),n=t.subarray(0,e);throw this.acc.set(n,this.used),this.used+=n.byteLength,Kt(this.acc),_t(this.used)}drop(t){this.acc.copyWithin(0,t,this.used),this.used-=t}slice(t,e){return this.acc.slice(t,e)}}function*Xt(t,e){for(;t.used>=4;){const e=Kt(t.acc),n=Gt(e,t.used);if("wait"===n.kind)return;if("data"===n.kind){const e=t.slice(4,n.consume);t.drop(n.consume),yield{kind:"data",payload:e};continue}t.drop(n.consume),yield{kind:n.kind}}}const Jt=new TextDecoder("utf-8",{fatal:!1}),Qt=(t,e)=>{if(t)try{t(e)}catch{}},Zt=(t,e)=>({[Symbol.asyncIterator]:()=>async function*(t,e){for await(const n of t){if("data"!==n.kind)return;if(0===n.payload.byteLength)throw Nt(-1);const t=n.payload[0],o=n.payload.subarray(1);if(1!==t){if(2!==t){if(3===t){const t=Jt.decode(o);throw Qt(e.onError,t),Ut(t)}throw Nt(t)}Qt(e.onProgress,Jt.decode(o))}else yield o}}(t,e)}),te=new TextDecoder("utf-8",{fatal:!1}),ee=new TextEncoder,ne=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,oe=/^# service=(?<service>[^\n]+)\n?$/,se=5e5,re=(t,e)=>{let n;try{n=new URL(t)}catch{throw Ot("invalid URL")}if(""!==n.hash)throw Ot("fragment must not be set");const o=n.pathname.endsWith("/")?n.pathname.slice(0,-1):n.pathname;return`${n.protocol}//${n.host}${o}/info/refs${""===n.search?`?service=${e}`:`${n.search}&service=${e}`}`},ae=t=>t.endsWith("\n")?t.slice(0,-1):t,ie=t=>{if(!ne.test(t))throw St(t);return W.from(t)},ce=t=>{const e=t.indexOf(" ");if(e<0)throw St(t);const n=t.slice(0,e),o=t.slice(e+1);if(0===o.length)throw St(t);return{id:n,name:o}},de=(e,n,o)=>{if(e.byName.has(n))throw(e=>new t({code:"DUPLICATE_REF",name:e}))(n);e.refs.push({id:o,name:n}),e.byName.set(n,e.refs.length-1)},fe=(e,n,o)=>{if(void 0===n){const n=(e=>{const n=e.indexOf("\0");if(n<0)throw new t({code:"MISSING_CAPABILITIES"});const o=e.slice(0,n),s=e.slice(n+1),r=o.indexOf(" ");if(r<0)throw St(e);const a=o.slice(0,r),i=o.slice(r+1);if(0===i.length)throw St(e);return{id:a,name:i,tail:s}})(o);return de(e,n.name,ie(n.id)),(t=>{const e=new Map;for(const n of t)e.set(Dt(n),n);return Array.from(e.values())})(n.tail.split(" ").filter(t=>t.length>0))}if(o.endsWith("^{}"))return((t,e)=>{const n=e.slice(0,-3),o=ce(n),s=ie(o.id),r=t.byName.get(o.name);if(void 0===r)throw St(e);t.refs[r]={...t.refs[r],peeled:s}})(e,o),n;const s=ce(o);return de(e,s.name,ie(s.id)),n},ue=async(t,e)=>{const n=t[Symbol.asyncIterator]();try{await(async(t,e)=>{const n=await t.next();if(n.done||"data"!==n.value.kind)throw Lt(e,"");const o=ae(te.decode(n.value.payload)),s=oe.exec(`${o}\n`),r=s?.groups?.service;if(void 0===r)throw Lt(e,o);if(r!==e)throw Lt(e,r);const a=await t.next();if(a.done||"flush"!==a.value.kind)throw Lt(e,r)})(n,e);const{capabilities:t,refs:o}=await(async t=>{const e={refs:[],byName:new Map};let n,o=await t.next();for(;!o.done&&"data"===o.value.kind;){if(e.refs.length>=se)throw Mt(e.refs.length+1,se);const s=ae(te.decode(o.value.payload));n=fe(e,n,s),o=await t.next()}return{capabilities:n??[],refs:e.refs}})(n),s=((t,e)=>{const n=e.find(t=>"HEAD"===t.name);if(n)return n;const o=t.find(t=>t.startsWith("symref=HEAD:"));if(!o)return;const s=o.slice(12),r=e.find(t=>t.name===s);return r?{name:"HEAD",id:r.id}:void 0})(t,o);return s?{capabilities:t,refs:o,head:s}:{capabilities:t,refs:o}}finally{await(n.return?.())}},he=t=>ee.encode(`have ${t}\n`),le=(t=>{if(t.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${t.byteLength} > 65516)`);const e=t.byteLength+4,n=new Uint8Array(e);return n.set(Bt(e),0),n.set(t,4),n})(ee.encode("done\n")),we=e=>{const n=ae(e).split(" "),o=W.from(n[1]),s=n[2];if(void 0===s)return{id:o,status:"ack"};if("continue"===s||"common"===s||"ready"===s)return{id:o,status:s};throw new t({code:"UNKNOWN_ACK_STATUS",value:s})},ge="shallow ",pe="unshallow ",me=(t,e)=>{const n=ae(t),o=n.slice(e.length);if(!ne.test(o))throw St(n);return W.from(o)},ye=(t,e)=>t.startsWith(ge)?(e.shallow.push(me(t,ge)),!0):!!t.startsWith(pe)&&(e.unshallow.push(me(t,pe)),!0),be=new WeakMap,ve=e=>new t({code:"INVALID_REF",reason:e}),xe=e=>new t({code:"INVALID_PACKED_REFS",reason:e}),Ee=e=>new t({code:"REF_NOT_FOUND",name:e}),ke=(e,n)=>new t({code:"REF_CHAIN_TOO_DEEP",depth:e,chain:n}),$e=e=>new t({code:"REF_CYCLE_DETECTED",chain:e}),Ie=new Set(["~","^",":","?","*","[","\\"," "]);function De(t){if(""===t)throw ve("ref name must not be empty");if(t.startsWith("/")||t.endsWith("/"))throw ve("ref name must not start or end with /");if(t.startsWith("-"))throw ve("ref name must not start with -");if("@"===t)throw ve("ref name must not be single @");if(t.includes(".."))throw ve("ref name must not contain ..");if(t.includes("//"))throw ve("ref name must not contain consecutive slashes");if(t.includes("@{"))throw ve("ref name must not contain @{");if(t.endsWith("."))throw ve("ref name must not end with .");!function(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n<=31||127===n)throw ve("ref name contains forbidden character");const o=t[e];if(void 0!==o&&Ie.has(o))throw ve("ref name contains forbidden character");if(n>=8234&&n<=8238||n>=8294&&n<=8297)throw ve("ref name contains forbidden Unicode override")}}(t);const e=t.split("/");for(const t of e){if(t.startsWith("."))throw ve("ref name component must not start with .");if(t.endsWith(".lock"))throw ve("ref name component must not end with .lock")}return t}function Te(t){const e=t.replace(/[\r\n]+$/,"");if(""===e)throw ve("empty ref content");if(e.startsWith("ref: ")){const t=e.slice(5);if(""===t)throw ve("empty symbolic ref target");return{type:"symbolic",target:De(t)}}return{type:"direct",target:W.from(e)}}const Ae=function(){const t=new Uint32Array(256);for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)n=1&n?3988292384^n>>>1:n>>>1;t[e]=n}return t}();function _e(t){let e=4294967295;for(let n=0;n<t.length;n++)e=Ae[255&(e^t[n])]^e>>>8;return(4294967295^e)>>>0}const Oe=e=>new t({code:"INVALID_PACK_HEADER",reason:e}),Le=e=>new t({code:"INVALID_PACK_INDEX",reason:e}),Se=(e,n)=>new t({code:"INVALID_PACK_ENTRY",offset:e,reason:n}),Ne=e=>new t({code:"INVALID_DELTA",reason:e}),Ue=e=>new t({code:"DELTA_CHAIN_TOO_DEEP",depth:e});function Ce(t,e){if(e>=t.length)throw Ne("truncated variable-length integer");let n=0,o=0,s=e,r=0,a=t[s];for(n=(127&a)<<o>>>0,o+=7,r+=1;128&a;){if(r>=5)throw Ne("variable-length integer too long");if(s+=1,s>=t.length)throw Ne("truncated variable-length integer");a=t[s],n=(n|(127&a)<<o)>>>0,o+=7,r+=1}return{value:n,nextOffset:s+1}}function Re(t,e,n){const o=function(t){let e=0;return 1&t&&(e+=1),2&t&&(e+=1),4&t&&(e+=1),8&t&&(e+=1),16&t&&(e+=1),32&t&&(e+=1),64&t&&(e+=1),e}(n);if(e+o>t.length)throw Ne(`COPY instruction truncated: needs ${o} bytes at position ${e}`);let s=e,r=0,a=0;return 1&n&&(r|=t[s],s+=1),2&n&&(r|=t[s]<<8,s+=1),4&n&&(r|=t[s]<<16,s+=1),8&n&&(r=(r|16777216*t[s])>>>0,s+=1),16&n&&(a|=t[s],s+=1),32&n&&(a|=t[s]<<8,s+=1),64&n&&(a|=t[s]<<16,s+=1),0===a&&(a=65536),{offset:r,size:a,nextPos:s}}function Pe(t,e,n,o,s){if(t+e>n)throw Ne(`COPY out of bounds: offset=${t} size=${e} exceeds base length ${n}`);if(o+e>s)throw Ne(`COPY overflows target: position=${o} size=${e} exceeds target length ${s}`)}function Me(t,e,n,o,s,r){if(0===n)throw Ne("INSERT with N=0 is reserved");if(e+n>t.length)throw Ne(`INSERT data truncated: needs ${n} bytes at position ${e}`);if(s+n>r)throw Ne(`INSERT overflows target: position=${s} size=${n} exceeds target length ${r}`);return o.set(t.subarray(e,e+n),s),{nextPos:e+n,nextResultPos:s+n}}function je(t,e){const{value:n,nextOffset:o}=Ce(e,0),{value:s,nextOffset:r}=Ce(e,o);!function(t,e,n){if(t.length!==e)throw Ne(`source length mismatch: expected ${e}, got ${t.length}`);if(n>2147483648)throw Ne(`target length ${n} exceeds maximum allowed size`)}(t,n,s);const a=new Uint8Array(s);let i=0,c=r;for(;c<e.length;){const n=e[c];if(c+=1,128&n){const{offset:o,size:r,nextPos:d}=Re(e,c,n);c=d,Pe(o,r,t.length,i,s),a.set(t.subarray(o,o+r),i),i+=r}else{const t=Me(e,c,n,a,i,s);c=t.nextPos,i=t.nextResultPos}}if(i!==s)throw Ne(`underfill: produced ${i} bytes but target length is ${s}`);return a}const ze=1346454347;function He(t,e,n){const{type:o,size:s,nextPos:r}=function(t,e){if(e>=t.length)throw Se(e,"unexpected end of header");let n=e;const o=t[n],s=o>>4&7;let r=15&o,a=4,i=0;for(;128&t[n];){if(i+=1,i>5)throw Se(e,"size encoding too long");if(n+=1,n>=t.length)throw Se(e,"unexpected end of header");r|=(127&t[n])<<a,a+=7}return{type:s,size:r,nextPos:n+1}}(t,e);if(function(t,e){if(5===t)throw Se(e,"reserved type 5");if(t<1||t>7)throw Se(e,`unknown type ${t}`)}(o,e),6===o){const{distance:n,nextPos:o}=function(t,e,n){if(e>=t.length)throw Se(n,"unexpected end of OFS_DELTA distance");let o=e,s=127&t[o],r=0;for(;128&t[o];){if(r+=1,r>4)throw Se(n,"OFS_DELTA distance encoding too long");if(o+=1,o>=t.length)throw Se(n,"unexpected end of OFS_DELTA distance");s=s+1<<7|127&t[o]}return{distance:s,nextPos:o+1}}(t,r,e);return{type:6,size:s,dataOffset:o,baseDistance:n}}if(7===o){const o=r+n.digestLength;if(o>t.length)throw Se(e,"unexpected end of REF_DELTA base id");return{type:7,size:s,dataOffset:o,baseId:T(t.subarray(r,o))}}return{type:o,size:s,dataOffset:r}}function We(t,e){const n=[];let o=(7&t)<<4|15&e,s=e>>>4;for(s>0&&(o|=128),n.push(o);s>0;){let t=127&s;s>>>=7,s>0&&(t|=128),n.push(t)}return new Uint8Array(n)}const Fe=1032;function Be(t,e){return t._view.getUint32(8+4*e)}function Ve(t,e,n){const o=Fe+20*e;return O(t._bytes.subarray(o,o+20),n)}function Ke(t,e){const n=t._view.getUint32(t.smallOffsetsTableOffset+4*e);if(2147483648&n){const e=2147483647&n,o=t.largeOffsetsTableOffset+8*e;if(o+8>t.trailerOffset)throw Le(`large offset index ${e} out of range`);const s=t._view.getUint32(o),r=t._view.getUint32(o+4);if(s>2097151)throw Le(`pack offset exceeds safe JavaScript number range: high word=${s}`);return 4294967296*s+r}return n}function Ye(t,e){const n=A(e),o=n[0];let s=0===o?0:Be(t,o-1),r=Be(t,o);for(;s<r;){const e=s+r>>>1,o=Ve(t,e,n);if(o<0)s=e+1;else{if(!(o>0))return Ke(t,e);r=e}}}function Ge(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function qe(t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let o=0;for(const e of t)n.set(e,o),o+=e.length;return n}const Xe=t=>t.layout.workDir,Je=(t,e)=>`${t}/objects/${function(t){return`${t.slice(0,2)}/${t.slice(2)}`}(e)}`,Qe=(t,e)=>`${t}/${e}`,Ze=t=>`${t}/index`,tn=".lock",en=1024,nn=268435456,on=1048576,sn=256;function rn(t){return!!(t.includes("\0")||t.includes("\r")||t.includes("\n\n")||t.startsWith("\n")||t.endsWith("\n"))}function an(t){return 0===t.length||!!(t.includes("\0")||t.includes("\r")||t.includes("\n"))||!(!t.includes(" ")&&!t.includes("\t"))}const cn="index file exceeds 256 MiB",dn="pack .idx file exceeds 64 MiB";function fn(t){return t>268435456}function un(t){return t>67108864}function hn(t,e=5){return t>e}function ln(t,e=5){return t>e}function wn(t){return"160000"===t}function gn(t,e){return t>e}const pn=/^[0-9a-f]{40}$/,mn=/^[0-9a-f]{64}$/;async function yn(t){const e=Ze(t.layout.gitDir);if(!await t.fs.exists(e))return{version:2,entries:[],extensions:[]};if(fn((await t.fs.stat(e)).size))throw wt(cn);const n=await t.fs.read(e);if(fn(n.length))throw wt(cn);const o=t.hashConfig.digestLength;if(n.length<o)throw wt("file is shorter than the hash trailer");const s=n.subarray(0,n.length-o),r=T(n.subarray(n.length-o));if(await t.hash.hashHex(s)!==r)throw wt("index trailer checksum mismatch");return function(t){if(t.length<12)throw wt("truncated header");const e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1145655875!==e.getUint32(0))throw wt("invalid signature: expected DIRC");const n=e.getUint32(4);if(2!==n)throw wt(`unsupported version: ${n}`);const o=e.getUint32(8);if(62*o>t.length-12-20)throw wt(`entry count ${o} exceeds file capacity`);let s=12;const r=[];for(let n=0;n<o;n++){const n=s;if(s+62>t.length-20)throw gt(s,"truncated entry");const o=e.getUint32(s),a=e.getUint32(s+4),i=e.getUint32(s+8),c=e.getUint32(s+12),d=e.getUint32(s+16),f=e.getUint32(s+20),u=e.getUint32(s+24),h=e.getUint32(s+28),l=e.getUint32(s+32),w=e.getUint32(s+36),g=T(t.subarray(s+40,s+60)),p=e.getUint16(s+60),m=xt(p,s),y=G(u.toString(8));s+=62;const b=Et(t,s);if(-1===b)throw gt(n,"missing NUL terminator");const v=4095&p,x=C(t.subarray(s,4095===v?b:s+v));vt(x,n),s=b+1,s=n+(s-n+7&-8),r.push({ctimeSeconds:o,ctimeNanoseconds:a,mtimeSeconds:i,mtimeNanoseconds:c,dev:d,ino:f,mode:y,uid:h,gid:l,fileSize:w,id:g,flags:m,path:B.from(x)})}const a=function(t,e,n){const o=[],s=t.length-20;for(;e+8<=s;){const r=C(t.subarray(e,e+4)),a=n.getUint32(e+4);if(e+8+a>s)throw gt(e,"extension size exceeds remaining bytes");const i=r.charCodeAt(0);if(i>=97&&i<=122){const t=r.replace(/[^\x20-\x7e]/g,"?");throw gt(e,`mandatory extension '${t}' not supported`)}const c=t.slice(e+8,e+8+a);o.push({signature:r,data:c}),e+=8+a}return o}(t,s,e);return{version:2,entries:r,extensions:a}}(n)}const bn=new TextEncoder,vn=new Set([".git"]),xn=t=>{""===t&&kn(t),In(t)>4096&&kn(t),t.startsWith("/")&&kn(t),t.includes("\\")&&kn(t),t.includes("\0")&&kn(t);const e=t.split("/");for(const n of e)$n(n,t);return t},En=t=>{const e=t.toLowerCase();return!!vn.has(e)||".git"===e.replace(/[. ]+$/,"")},kn=t=>{throw e(t)},$n=(t,e)=>{""===t&&kn(e),"."!==t&&".."!==t||kn(e),In(t)>255&&kn(e),En(t)&&kn(e),t.includes(":")&&kn(e);for(let n=0;n<t.length;n+=1){const o=t.charCodeAt(n);(o<=31||127===o)&&kn(e)}},In=t=>bn.encode(t).length;async function*Dn(t,e){const n={ctx:t,maxDepth:e?.maxDepth??4096,maxEntries:e?.maxEntries??d,ignore:e?.ignore};yield*Tn(n,{value:0},"",0,!0)}async function*Tn(t,e,o,s,r){if(s>t.maxDepth)throw v(s);const a=await t.ctx.fs.readdir(_n(t,o));if(r||!a.some(Ln))for(const r of a){if(t.ctx.signal?.aborted)throw n();En(r.name)||(yield*An(t,e,o,s,r))}}async function*An(t,e,n,o,s){const r=On(n,s.name);if(xn(r),s.isDirectory&&!s.isSymbolicLink){if(void 0!==t.ignore&&await t.ignore(r,!0))return;return void(yield*Tn(t,e,r,o+1,!1))}if(!s.isFile&&!s.isSymbolicLink)return;if(void 0!==t.ignore&&await t.ignore(r,!1))return;if(e.value+=1,e.value>t.maxEntries)throw x(e.value,t.maxEntries);const a=await t.ctx.fs.lstat(`${t.ctx.layout.workDir}/${r}`);yield{path:r,stat:a}}const _n=(t,e)=>""===e?t.ctx.layout.workDir:`${t.ctx.layout.workDir}/${e}`,On=(t,e)=>""===t?e:`${t}/${e}`,Ln=t=>!!En(t.name)&&(t.isDirectory||t.isFile&&!t.isSymbolicLink);async function Sn(e,o){if(e.signal?.aborted)throw n();const s=ot(o,e.hashConfig),r=await e.hash.hashHex(s),a=o.id;if(""!==a&&a!==r)throw y(o.id,r);if(e.signal?.aborted)throw n();const i=r.slice(0,2);await e.fs.mkdir(((t,e)=>`${t}/objects/${e}`)(e.layout.gitDir,i));const c=Je(e.layout.gitDir,r),d=await e.compressor.deflate(s);try{await e.fs.writeExclusive(c,d)}catch(e){if(function(e){return e instanceof t&&"FILE_EXISTS"===e.data.code}(e))return r;throw e}return r}async function Nn(t,e,n,o,s){Rn(t);const r=await async function(t,e){const n=Je(t.layout.gitDir,e);if(!await t.fs.exists(n))return;const o=await t.fs.read(n);return t.compressor.inflate(o)}(t,n);if(void 0!==r)return Rn(t),function(t,e,n){if(void 0===n)return;const{contentOffset:o}=J(e),s=e.length-o;if(s>n)throw E(t,s,n)}(n,r,s),Pn(t,n,r,o);Rn(t);const a=await e.lookup(n);if(void 0===a)throw m(n);Rn(t);const i=await async function(t,e,n,o,s){const r=await async function(t,e,n,o,s){const r=[];let a=n,i=0;for(;;){Rn(t);const{header:n,chunk:c,headerEndInChunk:d}=await jn(t,a);if(Mn(n))return Un(o,n.size,s),{deltas:r,baseContent:(await t.compressor.streamInflate(c,d)).output,baseType:n.type};if(i+=1,i>50)throw Ue(i);const{output:f}=await t.compressor.streamInflate(c,d);if(Cn(o,f,s,i),6===n.type){const t=a.offset-n.baseDistance;if(t<0)throw m(o);r.push({instructions:f,resolvedBaseId:void 0}),a={pack:a.pack,offset:t};continue}if(7===n.type){const o=n.baseId;r.push({instructions:f,resolvedBaseId:o});const a=await zn(t,e,o,s);return{deltas:r,baseContent:a.content,baseType:a.type}}throw m(o)}}(t,e,n,o,s);let a=r.baseContent;for(let t=r.deltas.length-1;t>=0;t-=1){const e=r.deltas[t];if(void 0===e)break;a=je(a,e.instructions)}if(void 0!==s&&a.length>s)throw E(o,a.length,s);const i=function(t,e,n){const o=function(t,e){switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag";default:throw m(e)}}(e,n),s=`${o} ${t.length}\0`,r=(new TextEncoder).encode(s),a=new Uint8Array(r.length+t.length);return a.set(r,0),a.set(t,r.length),a}(a,r.baseType,o);return Fn(t.deltaCache,o,i),i}(t,e,a,n,s);return Rn(t),Pn(t,n,i,o)}function Un(t,e,n){if(void 0!==n&&e>n)throw E(t,e,n)}function Cn(t,e,n,o){if(void 0===n)return;if(1!==o)return;const s=function(t){const{nextOffset:e}=Ce(t,0),{value:n}=Ce(t,e);return n}(e);if(s>n)throw E(t,s,n)}function Rn(t){if(!0===t.signal?.aborted)throw n()}async function Pn(t,e,n,o){if(o){const o=await t.hash.hashHex(n);if(Rn(t),o!==e)throw y(e,o)}return nt(e,n,t.hashConfig)}function Mn(t){return 1===t.type||2===t.type||3===t.type||4===t.type}async function jn(t,e){const n=await t.fs.readSlice(e.pack.packPath,e.offset,65536),o=He(n,0,t.hashConfig);return{header:o,chunk:n,headerEndInChunk:o.dataOffset}}async function zn(t,e,n,o){const s=t.deltaCache.get(n);if(void 0!==s)return function(t,e,n){if(void 0===n)return;const o=e.indexOf(0);if(o<0)return;const s=e.length-(o+1);if(s>n)throw E(t,s,n)}(n,s,o),Hn(s,n);const r=ot(await Nn(t,e,n,!1,o),t.hashConfig);return Fn(t.deltaCache,n,r),Hn(r,n)}function Hn(t,e){const n=t.indexOf(0);if(n<0)throw m(e);const o=t.subarray(0,n).indexOf(32);if(o<0)throw m(e);const s=(new TextDecoder).decode(t.subarray(0,o));return{content:t.subarray(n+1),type:Wn(s,e)}}function Wn(t,e){switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4;default:throw m(e)}}function Fn(t,e,n){t.set(e,n,n.length)}function Bn(t){return t.isFile&&t.name.endsWith(".idx")&&!(e=t.name).includes("/")&&!e.includes("\\")&&!e.includes("..");var e}async function Vn(t,e,n){const o=`${e}/${n}`,s=await async function(t,e){if(un((await t.fs.stat(e)).size))throw Le(dn);const n=await t.fs.read(e);if(un(n.length))throw Le(dn);return n}(t,o),r=function(t){if(t.length<1032)throw Le("truncated: file too short for header and fanout");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(4285812579!==n)throw Le(`invalid magic: expected 0xff744f63, got 0x${n.toString(16).padStart(8,"0")}`);const o=e.getUint32(4);if(2!==o)throw Le(`unsupported version: expected 2, got ${o}`);!function(t){let e=0;for(let n=0;n<256;n++){const o=t.getUint32(8+4*n);if(o<e)throw Le(`non-monotonic fanout at index ${n}: ${e} > ${o}`);e=o}}(e);const s=e.getUint32(1028),r=Fe+20*s,a=r+4*s,i=a+4*s,c=t.length-40,d=Fe+20*s+4*s+4*s+40;if(t.length<d)throw Le(`truncated: expected at least ${d} bytes for ${s} objects, got ${t.length}`);return{objectCount:s,crc32TableOffset:r,smallOffsetsTableOffset:a,largeOffsetsTableOffset:i,trailerOffset:c,_bytes:t,_view:e}}(s),a=n.slice(0,-4);return{name:a,index:r,packPath:`${e}/${a}.pack`,idxPath:o}}const Kn=new WeakMap;async function Yn(t,e,n){const o=n?.verifyHash??!0;return Nn(t,function(t){let e=Kn.get(t);return void 0===e&&(e=function(t){let e;async function n(){if(void 0!==e)return e;const n=`${t.layout.gitDir}/objects/pack`;if(!await t.fs.exists(n))return e=[],e;const o=await t.fs.readdir(n),s=[];for(const e of o)Bn(e)&&s.push(await Vn(t,n,e.name));return e=s,e}return{all:n,async lookup(t){const e=await n();for(const n of e){const e=Ye(n.index,t);if(void 0!==e)return{pack:n,offset:e}}}}}(t),Kn.set(t,e)),e}(t),e,o,n?.maxBytes)}const Gn=new WeakMap;function qn(t){let e=Gn.get(t);return void 0===e&&(e=function(t){let e;async function n(){const n=`${t.layout.gitDir}/packed-refs`;if(!await t.fs.exists(n))return{entries:[],peeling:"none",sorted:!1};const o=await t.fs.stat(n),s=`${o.mtimeMs}:${o.size}`;if(void 0!==e&&e.mtimeKey===s)return e.parsed;const r=function(t){if(""===t)return{entries:[],peeling:"none",sorted:!1};const e=t.split("\n"),{peeling:n,sorted:o,startIndex:s}=function(t){const e=t[0];if(e?.startsWith("# pack-refs with:")){const t=e.slice(17).trim(),n=""===t?[]:t.split(/\s+/),o=n.includes("peeled");return{peeling:n.includes("fully-peeled")?"fully":o?"tags":"none",sorted:n.includes("sorted"),startIndex:1}}return{peeling:"none",sorted:!1,startIndex:0}}(e);return{entries:function(t,e){const n=[];for(let o=e;o<t.length;o++){const e=t[o];if(void 0===e||""===e||e.startsWith("#"))continue;if(e.startsWith("^")){if(0===n.length)throw xe("peel line without preceding ref entry");const t=W.from(e.slice(1)),o=n.length-1;n[o]={...n[o],peeled:t};continue}const s=e.indexOf(" ");if(-1===s)throw xe(`invalid ref line format: ${e.slice(0,80)}`);const r=e.slice(0,s),a=e.slice(s+1),i=W.from(r);n.push({name:F.from(a),id:i})}return n}(e,s),peeling:n,sorted:o}}(await t.fs.readUtf8(n));return e={parsed:r,mtimeKey:s},r}async function o(e){const n=Qe(t.layout.gitDir,e);if(await t.fs.exists(n))return t.fs.readUtf8(n)}return{async resolveDirect(t){const e=await o(t);if(void 0!==e){const t=Te(e);return"symbolic"===t.type?{kind:"symbolic",target:t.target}:{kind:"direct",id:t.target}}const s=await n();for(const e of s.entries)if(e.name===t)return{kind:"direct",id:e.id};return{kind:"missing"}},async writeLoose(e,n){const o=Qe(t.layout.gitDir,e);await t.fs.writeUtf8(o,function(t){return`${t}\n`}(n))},async removeLoose(e){const n=Qe(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)},isLoose:async e=>t.fs.exists(Qe(t.layout.gitDir,e)),readLooseRaw:async t=>o(t),getPackedRefs:n}}(t),Gn.set(t,e)),e}async function Xn(t,e,n){const o=n?.maxSymbolicDepth??5,s=n?.maxPeelDepth??5,r=n?.peel??!1,a=qn(t),i=await async function(t,e,n){const o=[];let s=e,r=0;for(;;){if("HEAD"!==s&&De(s),o.includes(s))throw $e([...o,s]);o.push(s);const e=await t.resolveDirect(s);if("missing"===e.kind)throw Ee(s);if("direct"===e.kind)return e.id;if(r+=1,hn(r,n))throw ke(r,o);s=e.target}}(a,e,o);return r?async function(t,e,n){let o=e,s=0;for(;;){const e=await Yn(t,o);if("tag"!==e.type)return o;if(s+=1,ln(s,n))throw ke(s,[]);o=e.data.object}}(t,i,s):i}async function Jn(e,n,o,s){const r=`${o}${tn}`;try{await e.fs.writeExclusive(r,s)}catch(e){if(function(e){return e instanceof t&&"FILE_EXISTS"===e.data.code}(e))throw new t({code:"REF_LOCKED",name:n});throw e}try{await e.fs.rename(r,o)}catch(n){try{await e.fs.rm(r)}catch(e){if(!function(e){return e instanceof t&&"FILE_NOT_FOUND"===e.data.code}(e))throw e}throw n}}async function Qn(e,n,s,r){De(n);const a=Qe(e.layout.gitDir,n),i=qn(e);if(void 0!==r?.expected){const e=await i.resolveDirect(n),o="direct"===e.kind?e.id:"absent";if(r.expected!==o)throw((e,n,o)=>new t({code:"REF_UPDATE_CONFLICT",name:e,expected:n,actual:o}))(n,r.expected,o)}if(!0===r?.delete){if(await i.isLoose(n))return void await i.removeLoose(n);if("direct"===(await i.resolveDirect(n)).kind)throw o("delete-packed-ref","deleting packed-only refs requires packed-refs rewrite");throw Ee(n)}const c=(new TextEncoder).encode(`${s}\n`);await Jn(e,n,a,c)}const Zn=new TextEncoder,to=async(t,e,n)=>{const o=De(e),s=De(n),r=Qe(t.layout.gitDir,o),a=Zn.encode(function(t){return`ref: ${t}\n`}(s));await Jn(t,o,r,a)};async function eo(t,e,n){const o=await Yn(t,e,n);if("blob"!==o.type)throw b("blob",o.type,e);return o}const no=new TextDecoder,oo=(t,e)=>t.endsWith("/")?`${t}${e}`:`${t}/${e}`,so=async(e,n,o)=>{const s=oo(n,o.path);if("update"===o.kind||"delete"===o.kind){if(void 0===o.previousId)return;return await(async(e,n,o)=>!!await e.fs.exists(n)&&!await(async(e,n,o)=>{let s;try{s=await e.fs.read(n)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)return!0;throw e}const r=(new TextEncoder).encode(`blob ${s.length}\0`),a=new Uint8Array(r.length+s.length);return a.set(r,0),a.set(s,r.length),await e.hash.hashHex(a)===o})(e,n,o))(e,s,o.previousId)?o.path:void 0}if("add"===o.kind)return await(async(t,e)=>t.fs.exists(e))(e,s)?o.path:void 0},ro=async(t,e,n,o)=>{if(o===V.SYMLINK){const o=no.decode(n);return await t.fs.exists(e)&&await t.fs.rm(e),void await t.fs.symlink(o,e)}o!==V.GITLINK?(await t.fs.write(e,n),await t.fs.chmod(e,o===V.EXECUTABLE?493:420)):await t.fs.mkdir(e)},ao=async(t,e,n)=>{const o=oo(e,n.path);if("noop"!==n.kind)if("delete"!==n.kind){if(void 0!==n.id){if(n.mode!==V.GITLINK){const e=await eo(t,n.id);await ro(t,o,e.content,n.mode)}else await ro(t,o,new Uint8Array,n.mode);return(async(t,e,n,o,s)=>{const r=await t.fs.lstat(e);return{ctimeSeconds:Math.floor(r.ctimeMs/1e3),ctimeNanoseconds:Number(r.ctimeNs??0n)%1e9,mtimeSeconds:Math.floor(r.mtimeMs/1e3),mtimeNanoseconds:Number(r.mtimeNs??0n)%1e9,dev:r.dev,ino:r.ino,mode:s,uid:r.uid,gid:r.gid,fileSize:r.size,id:o,flags:{assumeValid:!1,extended:!1,stage:0},path:n}})(t,o,n.path,n.id,n.mode)}}else await t.fs.exists(o)&&await t.fs.rm(o)},io=async(t,e)=>{const{changeset:n,force:o,workdir:r}=e;if(!o){const e=await(async(t,e,n)=>{const o=[];for(const s of n.entries){const n=await so(t,e,s);void 0!==n&&o.push(n)}return o})(t,r,n);if(e.length>0)throw s(e)}const a=[];let i=0,c=0;for(const e of n.entries){const o=await ao(t,r,e);"delete"===e.kind?c+=1:"add"!==e.kind&&"update"!==e.kind||(i+=1,void 0!==o&&a.push(o)),"noop"!==e.kind&&t.progress.update("checkout:materialize",i+c,n.stats.add+n.stats.update+n.stats.delete,e.path)}return{writtenEntries:a,written:i,deleted:c}},co=(t,e,n)=>void 0===e&&void 0!==n?{kind:"add",path:t,mode:n.mode,id:n.id,previousId:void 0,previousMode:void 0}:void 0!==e&&void 0===n?{kind:"delete",path:t,mode:e.mode,id:void 0,previousId:e.id,previousMode:e.mode}:{kind:e.id===n.id&&e.mode===n.mode?"noop":"update",path:t,mode:n.mode,id:n.id,previousId:e.id,previousMode:e.mode},fo=(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,{id:n.id,mode:n.mode});return e})(t),o=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(e),s=new Set;for(const t of n.keys())s.add(t);for(const t of o.keys())s.add(t);const r=[],a={add:0,update:0,delete:0,noop:0};for(const t of[...s].sort()){const e=co(t,n.get(t),o.get(t));r.push(e),a[e.kind]+=1}return{entries:r,stats:a}};async function*uo(t,e,n){const o={ctx:t,recursive:n?.recursive??!0,maxDepth:n?.maxDepth??1024,maxEntries:n?.maxEntries??d},s="string"==typeof e?await async function(t,e){const n=await Yn(t,e);if("tree"!==n.type)throw b("tree",n.type,e);return n}(t,e):e;yield*ho(o,{value:0},s,"",0,[])}async function*ho(e,o,s,r,a,i){if(i.includes(s.id))throw new t({code:"TREE_CYCLE_DETECTED",id:s.id});if(function(t,e){return t>e}(a,e.maxDepth))throw v(a);const c=[...i,s.id];for(const t of s.entries){if(e.ctx.signal?.aborted)throw n();const s=""===r?t.name:`${r}/${t.name}`;if(o.value+=1,gn(o.value,e.maxEntries))throw x(o.value,e.maxEntries);if(yield{path:s,id:t.id,mode:t.mode},!lo(e.recursive,t.mode))continue;const i=await Yn(e.ctx,t.id);"tree"===i.type&&(yield*ho(e,o,i,s,a+1,c))}}function lo(t,e){return!!t&&q(e)}const wo=(t,e)=>t.filter(t=>e.has(t.path)),go=(t,e,n)=>e.get(t)??n.get(t),po=(t,e,n,o)=>{const s=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(t),r=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e),a=((t,e)=>{if(void 0===e)return[];const n=[];for(const[o,s]of t)e.has(o)||n.push(s);return n})(r,o);for(const t of n){const e=go(t.path,s,r);void 0!==e&&a.push(e)}return a.sort((t,e)=>t.path<e.path?-1:1),a},mo=t=>{const e={add:0,update:0,delete:0,noop:0};for(const n of t)e[n.kind]+=1;return e},yo=async(t,e)=>{const n=await(async(t,e)=>{const n=[];for await(const o of uo(t,e))o.mode!==V.DIRECTORY&&n.push({path:o.path,id:o.id,mode:o.mode});return n})(t,e.targetTree),o=void 0===e.paths?n:wo(n,e.paths),s=void 0===e.paths?e.currentIndex:{entries:wo(e.currentIndex.entries,e.paths)},r=fo(s,o),a=!0===e.forceRewriteAll?(t=>{const e=t.entries.map(t=>"noop"===t.kind?{...t,kind:"update"}:t);return{entries:e,stats:mo(e)}})(r):r,i=await io(t,{changeset:a,force:e.force??!1,workdir:t.layout.workDir});return{newIndexEntries:po(i.writtenEntries,e.currentIndex,o,e.paths),written:i.written,deleted:i.deleted}};async function bo(t,e){var n;let o=pn.test(n=e)||mn.test(n)?e:await Xn(t,e),s=await Yn(t,o),r=0;for(;"commit"===s.type||"tag"===s.type;){if(r+=1,r>5)throw ke(r,[]);o="commit"===s.type?s.data.tree:s.data.object,s=await Yn(t,o)}if("tree"!==s.type)throw b("tree",s.type,o);return s}async function vo(t,e){if(e.length>d)throw x(e.length,d);return Sn(t,{type:"tree",id:"",entries:e})}const xo=t=>{let e=0;for(const n of t)"/"===n&&(e+=1);if(e>4096)throw v(e)},Eo=async(t,e)=>{const{files:n,subdirs:o}=(t=>{const e=[],n=new Map;for(const o of t){const t=o.path.indexOf("/");if(-1===t){e.push(o);continue}const s=o.path.slice(0,t),r=o.path.slice(t+1),a=n.get(s),i={path:r,id:o.id,mode:o.mode};void 0===a?n.set(s,[i]):a.push(i)}return{files:e,subdirs:n}})(e),s=[];for(const t of n)s.push({name:t.path,id:t.id,mode:t.mode});for(const[e,n]of o){const o=await Eo(t,n);s.push({name:e,id:o,mode:V.DIRECTORY})}return vo(t,s)},ko=async(t,e)=>Eo(t,(t=>{const e=[];for(const n of t)0===n.flags.stage&&(vt(n.path,-1),xo(n.path),e.push({path:n.path,id:n.id,mode:n.mode}));return e})(e)),$o=new TextEncoder,Io=new Set(["side-band-64k","side-band"]),Do=async(t,e,n)=>{t.progress.start(n.progressOp);try{const o=await To(t,e,n);if(0===o.packBytes.length)return{packPath:"",idxPath:"",objectCount:0,packSha:"",shallow:o.shallow,unshallow:o.unshallow};const s=await So(o.packBytes,t),r=await No(t,o.packBytes),a=await Fo(t,r,s);return{...await Bo(t,o.packBytes,a,s,r.length),shallow:o.shallow,unshallow:o.unshallow}}finally{t.progress.end(n.progressOp)}},To=async(e,n,o)=>{const s=(e=>{if(0===e.wants.length)throw new t({code:"EMPTY_WANTS"});const n=[];e.wants.forEach((t,o)=>{n.push(((t,e)=>{const n=0===e.length?"":` ${e.join(" ")}`;return ee.encode(`want ${t}${n}\n`)})(t,0===o?e.capabilities:[]))}),void 0!==e.depth&&n.push(ee.encode(`deepen ${e.depth}\n`));const o=Vt(n),s=0===e.haves.length?new Uint8Array(0):Vt(e.haves.map(he)),r=e.done?le:new Uint8Array(0),a=new Uint8Array(o.byteLength+s.byteLength+r.byteLength);let i=0;return a.set(o,i),i+=o.byteLength,a.set(s,i),i+=s.byteLength,a.set(r,i),a})({wants:o.wants,haves:o.haves,capabilities:o.capabilities,done:!0,...void 0!==o.depth?{depth:o.depth}:{}}),i=Oo(o.url),d=await n.request({url:i,method:"POST",headers:{"content-type":"application/x-git-upload-pack-request",accept:"application/x-git-upload-pack-result"},body:s,...void 0!==e.signal?{signal:e.signal}:{}});if(200!==d.statusCode)throw r(d.statusCode,`git-upload-pack returned ${d.statusCode}`);const f=Yt(c(d.body)),u=await(async(t,e)=>{const n=t[Symbol.asyncIterator](),o=!0===e.expectShallow?await(async t=>{const e={shallow:[],unshallow:[]};let n=await t.next();for(;!n.done;){if("data"!==n.value.kind)return{shallow:e.shallow,unshallow:e.unshallow};const o=te.decode(n.value.payload);if(!ye(o,e))return be.set(t,n.value),{shallow:e.shallow,unshallow:e.unshallow};n=await t.next()}return{shallow:e.shallow,unshallow:e.unshallow}})(n):{shallow:[],unshallow:[]},s=await(async t=>{const e=[];let n=!1;const o=be.get(t);void 0!==o&&be.delete(t);let s=void 0!==o?{done:!1,value:o}:await t.next();for(;!s.done;){if("data"!==s.value.kind)return{acks:e,nak:n,buffered:[s.value]};const o=te.decode(s.value.payload);if(o.startsWith("ACK "))e.push(we(o)),s=await t.next();else{if(!o.startsWith("NAK"))return{acks:e,nak:n,buffered:[s.value]};n=!0,s=await t.next()}}return{acks:e,nak:n,buffered:[]}})(n);return{acks:s.acks,nak:s.nak,shallow:o.shallow,unshallow:o.unshallow,packBody:{[Symbol.asyncIterator]:()=>async function*(t,e,n){const o=async function*(t,e){for(const e of t)yield e;let n=await e.next();for(;!n.done;)yield n.value,n=await e.next()}(t,e);if(n.sideBand){const t=n.onProgress?{onProgress:n.onProgress}:{};return void(yield*Zt(o,t))}yield*async function*(t){for await(const e of t){if("data"!==e.kind)return;yield e.payload}}(o)}(s.buffered,n,e)}}})(f,{sideBand:Lo(o.capabilities),onProgress:t=>e.progress.update(o.progressOp,0,void 0,a(t)),expectShallow:void 0!==o.depth});return{packBytes:await Ao(e,o,u.packBody),shallow:u.shallow,unshallow:u.unshallow}},Ao=async(t,e,n)=>{const o=t.config?.maxResponseBytes??536870912,s=[];let r=0,a=0;for await(const i of n){if(r+i.byteLength>o)throw _o(o);s.push(i),r+=i.byteLength,r-a>=65536&&(t.progress.update(e.progressOp,r),a=r)}0!==r&&r!==a&&t.progress.update(e.progressOp,r);const i=new Uint8Array(r);let c=0;for(const t of s)i.set(t,c),c+=t.byteLength;return i},_o=e=>new t({code:"PACK_TOO_LARGE",objectCount:0,limit:e}),Oo=t=>{let e;try{e=new URL(t)}catch{throw Ot("invalid URL")}if(""!==e.hash)throw Ot("fragment must not be set");const n=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname;return`${e.protocol}//${e.host}${n}/git-upload-pack${e.search}`},Lo=t=>t.some(t=>Io.has(t)),So=async(t,e)=>{const n=e.hash.digestLength;if(t.length<12+n)throw Oe("trailer mismatch: pack too short for header + trailer");const o=t.length-n,s=t.subarray(0,o),r=t.subarray(o),a=await e.hash.hashHex(s),i=T(r);if(a!==i)throw Oe(`trailer mismatch: expected ${a}, got ${i}`);return a},No=async(t,e)=>{const n=await Uo(t,e);return(await Co(t,n)).slice().sort((t,e)=>t.offset-e.offset).map(t=>({id:t.id,crc32:t.crc32,offset:t.offset}))},Uo=async(e,n)=>{const o=function(t){if(t.length<12)throw Oe("truncated: pack header requires 12 bytes");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(n!==ze)throw Oe(`invalid magic: expected 0x5041434b, got 0x${n.toString(16).padStart(8,"0")}`);const o=e.getUint32(4);if(2!==o)throw Oe(`unsupported version: expected 2, got ${o}`);return{version:o,objectCount:e.getUint32(8)}}(n),s=e.config?.maxObjectsPerPack??5e7;if(o.objectCount>s)throw new t({code:"PACK_TOO_LARGE",objectCount:o.objectCount,limit:s});const r=n.length-e.hash.digestLength,a=[];let i=12;for(let t=0;t<o.objectCount;t+=1){const t=He(n,i,e.hashConfig),o=await e.compressor.streamInflate(n,t.dataOffset),s=t.dataOffset+o.bytesConsumed;if(s>r)throw Oe("entry extends past pack trailer");const c=_e(n.subarray(i,s));a.push({offset:i,header:t,inflated:o.output,crc32:c}),i=s}if(i!==r)throw Oe("extra bytes between last entry and trailer");return a},Co=async(t,e)=>{const n=new Map,o=new Map;let s=e;for(;s.length>0;){const e=[];let r=!1;for(const a of s){const s=await Mo(t,a,n,o);void 0===s?e.push(a):(n.set(s.offset,s),o.set(s.id,s),r=!0)}if(!r)throw Ro(e);s=e}return[...n.values()]},Ro=t=>{const e=t[0];if(void 0===e)return Oe("unresolved deltas: empty queue (internal invariant violated)");const n=Po(e.header);return Oe(void 0!==n?`unresolved REF_DELTA: base ${n} not in pack`:`unresolved entry at offset ${e.offset}`)},Po=t=>{if(!zo(t)&&6!==t.type)return t.baseId},Mo=async(t,e,n,o)=>{if(zo(e.header)){const n=Ho(e.header.type);return{id:await Wo(t,n,e.inflated),type:n,content:e.inflated,crc32:e.crc32,offset:e.offset}}if(6===e.header.type){const o=e.offset-e.header.baseDistance;if(o<12)throw Oe(`OFS_DELTA at offset ${e.offset} points before pack body: distance ${e.header.baseDistance}`);const s=n.get(o);if(void 0===s)return;return jo(t,e,s)}const s=o.get(e.header.baseId);if(void 0!==s)return jo(t,e,s)},jo=async(t,e,n)=>{const o=je(n.content,e.inflated);return{id:await Wo(t,n.type,o),type:n.type,content:o,crc32:e.crc32,offset:e.offset}},zo=t=>1===t.type||2===t.type||3===t.type||4===t.type,Ho=t=>{switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag"}},Wo=async(t,e,n)=>{const o=$o.encode(`${e} ${n.length}\0`),s=new Uint8Array(o.length+n.length);return s.set(o,0),s.set(n,o.length),t.hash.hashHex(s)},Fo=async(t,e,n)=>{const o=function(t,e){if(20!==e.length)throw Le(`packChecksum must be 20 bytes, got ${e.length}`);const n=t.map(t=>({shaBytes:A(t.id),entry:t}));n.sort((t,e)=>O(t.shaBytes,e.shaBytes));const o=n.length;let s=0;for(const t of n)t.entry.offset>2147483647&&(s+=1);const r=20*o,a=4*o,i=4*o,c=1032+r+a+i+8*s+20,d=new Uint8Array(c),f=new DataView(d.buffer);f.setUint32(0,4285812579),f.setUint32(4,2);const u=new Uint32Array(256);for(const{shaBytes:t}of n)u[t[0]]+=1;const h=new Uint32Array(256);let l=0;for(let t=0;t<256;t++)l+=u[t],h[t]=l;for(let t=0;t<256;t++)f.setUint32(8+4*t,h[t]);for(let t=0;t<o;t++)d.set(n[t].shaBytes,1032+20*t);const w=1032+r;for(let t=0;t<o;t++)f.setUint32(w+4*t,n[t].entry.crc32);const g=w+a;let p=0;const m=g+i;for(let t=0;t<o;t++){const e=n[t].entry.offset;if(e>2147483647){f.setUint32(g+4*t,2147483648|p);const n=Math.floor(e/4294967296),o=e>>>0;f.setUint32(m+8*p,n),f.setUint32(m+8*p+4,o),p+=1}else f.setUint32(g+4*t,e)}return d.set(e,c-20),d}(e.map(t=>({id:t.id,crc32:t.crc32,offset:t.offset})),A(n)),s=A(await t.hash.hashHex(o)),r=new Uint8Array(o.length+s.length);return r.set(o,0),r.set(s,o.length),r},Bo=async(t,e,n,o,s)=>{const r=`${t.layout.gitDir}/objects/pack`;await t.fs.mkdir(r);const a=`${r}/pack-${o}.pack`,i=`${r}/pack-${o}.idx`;return await t.fs.writeExclusive(a,e),await t.fs.writeExclusive(i,n),{packPath:a,idxPath:i,objectCount:s,packSha:o}},Vo=t=>`${t.layout.gitDir}/shallow`,Ko=e=>e instanceof t&&"FILE_NOT_FOUND"===e.data.code,Yo=async t=>{let e;try{e=await t.fs.readUtf8(Vo(t))}catch(t){if(Ko(t))return new Set;throw t}const n=new Set;for(const t of e.split("\n")){const e=t.trim();0!==e.length&&qo(e)&&n.add(W.from(e))}return n},Go=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,qo=t=>Go.test(t),Xo=async(t,e)=>{const n=new Set(await Yo(t));for(const t of e.shallow)n.add(t);for(const t of e.unshallow)n.delete(t);const o=Vo(t);if(0===n.size)return void await Qo(t,o);const s=[...n].sort(),r=(new TextEncoder).encode(s.map(t=>`${t}\n`).join(""));await Jo(t,o,r)},Jo=async(t,e,n)=>{const o=(t=>`${t.layout.gitDir}/shallow.lock`)(t);await t.fs.writeExclusive(o,n);try{await t.fs.rename(o,e)}catch(e){try{await t.fs.rm(o)}catch(t){if(!Ko(t))throw t}throw e}},Qo=async(t,e)=>{try{await t.fs.rm(e)}catch(t){if(Ko(t))return;throw t}};async function Zo(t,e){if(e.message.includes("\0"))throw w("message contains NUL");if(n=e.message,(new TextEncoder).encode(n).byteLength>16777216)throw w("message exceeds 16 MiB");var n;if(void 0!==e.gpgSignature&&rn(e.gpgSignature))throw w("gpgSignature contains header-boundary chars");if(void 0!==e.extraHeaders)for(const t of e.extraHeaders){if(an(t.key))throw w("extraHeader key contains forbidden characters");if(rn(t.value))throw w("extraHeader value contains header-boundary chars")}return I(e.author),I(e.committer),Sn(t,{type:"commit",id:"",data:{tree:e.tree,parents:e.parents,author:e.author,committer:e.committer,message:e.message,...void 0!==e.gpgSignature?{gpgSignature:e.gpgSignature}:{},extraHeaders:e.extraHeaders??[]}})}async function ts(t,e,n,o){const[s,r]=await Promise.all([es(t,e),es(t,n)]),a=function(t,e){const n=lt(t),o=lt(e),s=[];let r=0,a=0;for(;r<n.length&&a<o.length;){const t=n[r],e=o[a],i=tt(t,e);if(i<0)s.push(ut(t)),r++;else if(i>0)s.push(ft(e)),a++;else{const n=ht(t,e);void 0!==n&&s.push(n),r++,a++}}for(;r<n.length;)s.push(ut(n[r])),r++;for(;a<o.length;)s.push(ft(o[a])),a++;return{changes:s}}(s,r);return!0===o?.detectRenames?function(t,e={}){const n=e.limit??1e3,o=e.maxSameIdDeletes??100,{adds:s,deletes:r,other:a}=function(t){const e=[],n=[],o=[];for(const s of t)"add"===s.type?e.push(s):"delete"===s.type?n.push(s):o.push(s);return{adds:e,deletes:n,other:o}}(t.changes);if(s.length*r.length>n)return t;const i=function(t,e){const n=new Map;for(const e of t){const t=n.get(e.oldId);void 0===t?n.set(e.oldId,[e]):t.push(e)}const o=new Map;for(const[t,s]of n)s.length<=e&&o.set(t,s);return o}(r,o),c=new Set,d=[],u=[];for(const t of s){const e=dt(t,i);void 0===e?u.push(t):(d.push(e.rename),c.add(e.consumedDelete))}const h=r.filter(t=>!c.has(t));return{changes:ct([...u,...h,...d,...a],f)}}(a,o.renameOptions):a}async function es(t,e){if(void 0!==e)return"string"==typeof e?bo(t,e):e}async function*ns(t,e){!function(t){if(0===t.from.length)throw i("empty from");if(function(t){return t.length>1024}(t.from))throw i("too many seeds")}(e);const o=e.order??"topo",s=e.ignoreMissing??!1,r=e.verifyHash??!0,a={queue:[...e.from],visited:new Set,missing:new Set,until:new Set(e.until??[]),shallow:e.shallow??new Set};for(;a.queue.length>0;){if(t.signal?.aborted)throw n();const e=rs(a.queue);if(a.visited.has(e)||a.until.has(e))continue;const i=await os(t,e,r,s,a.missing);void 0!==i&&(a.visited.add(e),yield i,ss(a,i,o))}}async function os(e,n,o,s,r){try{const t=await Yn(e,n,{verifyHash:o});if("commit"!==t.type)return;return t}catch(e){if(s&&function(e){return e instanceof t&&"OBJECT_NOT_FOUND"===e.data.code}(e))return void r.add(n);throw e}}function ss(t,e,n){if(t.shallow.has(e.id))return;const o="first-parent"===n&&e.data.parents.length>0?[e.data.parents[0]]:e.data.parents;for(const e of o)if(!(t.visited.has(e)||t.missing.has(e)||t.until.has(e))){if(t.queue.length>=65536)throw i("walk queue exceeds bound");t.queue.push(e)}}function rs(t,e){return t.shift()}const as=async(t,e,n)=>{const o=[];for(const s of e){const e=await Yn(t,s);if("commit"===e.type)for(const t of e.data.parents)n.has(t)||(n.add(t),o.push(t))}e.length=0;for(const t of o)e.push(t);return e.length>0},is=(t,e)=>{const n=[];for(const o of t)e.has(o)&&n.push(o);return n},cs=async(t,e,n)=>{if(e===n)return e;const o=new Set([e]),s=new Set([n]),r=[e],a=[n];for(;;){const e=await as(t,r,o),n=await as(t,a,s),i=is(o,s);if(i.length>0)return[...i].sort()[0];if(!e&&!n)break}},ds=async(t,e)=>{const n=[];for(const o of e.oids){const e=await Yn(t,o);n.push(await fs(t,e))}const o=function(t){const e=function(t,e){const n=new Uint8Array(12),o=new DataView(n.buffer);return o.setUint32(0,ze),o.setUint32(4,2),o.setUint32(8,e),n}(0,t.length),n=[e],o=[];let s=e.length;for(const e of t){const t=Ge(We(e.type,e.uncompressedSize),e.compressedData),r=_e(t);o.push({crc32:r,offset:s}),n.push(t),s+=t.length}return{data:qe(n),entries:o}}(n),s=await t.hash.hash(o.data),r=T(s),a=new Uint8Array(o.data.length+s.length);return a.set(o.data,0),a.set(s,o.data.length),{bytes:a,sha:r,objectCount:n.length}},fs=async(t,e)=>{const n=ot(e,t.hashConfig),o=n.indexOf(0),s=n.subarray(o+1),r=await t.compressor.deflate(s);return{type:us(e.type),uncompressedSize:s.length,compressedData:r}},us=t=>{switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4}},hs=(e,n)=>{if(e.emitted.has(n))return!1;if(e.emitted.size>=e.cap)throw new t({code:"PACK_TOO_LARGE",objectCount:e.emitted.size+1,limit:e.cap});return e.emitted.add(n),!0};async function*ls(t,e){const n={emitted:new Set,cap:e.maxObjects??1e6},o=await(async(t,e,n)=>{const o=[];for(const s of n){const n=await ws(t,s,t=>{hs(e,t)});o.push(n)}return o})(t,n,e.wants);for(const t of n.emitted)yield t;yield*async function*(t,e,n,o){for await(const s of ns(t,{from:n,until:o,ignoreMissing:!0})){hs(e,s.id)&&(yield s.id),hs(e,s.data.tree)&&(yield s.data.tree);for await(const n of uo(t,s.data.tree,{recursive:!0}))wn(n.mode)||hs(e,n.id)&&(yield n.id)}}(t,n,o,e.haves)}const ws=async(t,e,n)=>{let o=e;for(let e=0;e<16;e+=1){const e=await Yn(t,o);if("tag"!==e.type)return o;n(o),o=e.data.object}return o},gs=(t,e)=>t.path<e.path?-1:t.path>e.path?1:0,ps=async(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e.currentIndex),o=await(async(t,e)=>{const n=[];for await(const o of uo(t,e))o.mode!==V.DIRECTORY&&n.push({path:o.path,id:o.id,mode:o.mode});return n})(t,e.targetTree),s=o.map(t=>((t,e)=>{const n=e.get(t.path);return void 0!==n&&n.id===t.id&&n.mode===t.mode?{...n,flags:{...n.flags,stage:0}}:(t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t.mode,uid:0,gid:0,fileSize:0,id:t.id,flags:{assumeValid:!1,extended:!1,stage:0},path:t.path}))(t)})(t,n));return s.sort(gs),s};export{Xo as $,kt as A,tn as B,$t as C,yo as D,cs as E,V as F,Tt as G,m as H,ue as I,Te as J,Zt as K,eo as L,d as M,yn as N,W as O,Yn as P,Yo as Q,F as R,bo as S,Ee as T,Pt as U,Xn as V,ct as W,ko as X,v as Y,b as Z,Qn as _,It as a,De as a0,xn as a1,ns as a2,uo as a3,Dn as a4,Sn as a5,to as a6,vo as a7,on as b,sn as c,en as d,nn as e,io as f,re as g,ps as h,ds as i,it as j,fo as k,Zo as l,Yt as m,ts as n,Rt as o,U as p,Vt as q,ls as r,Do as s,qn as t,Xe as u,A as v,Ze as w,Ot as x,Ct as y,rt as z};
2
- //# sourceMappingURL=index-BdV37p4e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BdV37p4e.js","sources":["../../../src/domain/diff/flat-tree.ts","../../../src/domain/diff/change-path.ts","../../../src/domain/objects/error.ts","../../../src/domain/objects/author-identity.ts","../../../src/domain/objects/encoding.ts","../../../src/domain/objects/object-id.ts","../../../src/domain/objects/file-mode.ts","../../../src/domain/objects/header.ts","../../../src/domain/objects/tag.ts","../../../src/domain/objects/tree.ts","../../../src/domain/objects/git-object.ts","../../../src/domain/objects/blob.ts","../../../src/domain/objects/commit.ts","../../../src/domain/diff/mode-kind.ts","../../../src/domain/diff/path-compare.ts","../../../src/domain/diff/rename-detect.ts","../../../src/domain/diff/tree-diff.ts","../../../src/domain/git-index/error.ts","../../../src/domain/git-index/path-validator.ts","../../../src/domain/git-index/index-parser.ts","../../../src/domain/protocol/capabilities.ts","../../../src/domain/protocol/error.ts","../../../src/domain/protocol/pkt-line.ts","../../../src/domain/protocol/side-band.ts","../../../src/domain/protocol/upload-pack.ts","../../../src/domain/refs/error.ts","../../../src/domain/refs/ref-validation.ts","../../../src/domain/refs/loose-ref.ts","../../../src/domain/storage/crc32.ts","../../../src/domain/storage/error.ts","../../../src/domain/storage/delta.ts","../../../src/domain/storage/pack-entry.ts","../../../src/domain/storage/pack-index.ts","../../../src/domain/storage/pack-writer.ts","../../../src/application/primitives/path-layout.ts","../../../src/domain/storage/loose-path.ts","../../../src/application/primitives/types.ts","../../../src/application/primitives/validators.ts","../../../src/application/primitives/read-index.ts","../../../src/domain/working-tree-path.ts","../../../src/application/primitives/walk-working-tree.ts","../../../src/application/primitives/write-object.ts","../../../src/application/primitives/object-resolver.ts","../../../src/application/primitives/pack-registry.ts","../../../src/application/primitives/read-object.ts","../../../src/application/primitives/ref-store.ts","../../../src/domain/refs/packed-refs.ts","../../../src/application/primitives/resolve-ref.ts","../../../src/application/primitives/atomic-write.ts","../../../src/application/primitives/update-ref.ts","../../../src/application/primitives/write-symbolic-ref.ts","../../../src/application/primitives/read-blob.ts","../../../src/application/primitives/apply-changeset.ts","../../../src/application/primitives/compute-changeset.ts","../../../src/application/primitives/walk-tree.ts","../../../src/application/primitives/materialize-tree.ts","../../../src/application/primitives/read-tree.ts","../../../src/application/primitives/write-tree.ts","../../../src/application/primitives/synthesize-tree-from-index.ts","../../../src/application/primitives/fetch-pack.ts","../../../src/application/primitives/shallow-file.ts","../../../src/application/primitives/create-commit.ts","../../../src/application/primitives/diff-trees.ts","../../../src/application/primitives/walk-commits.ts","../../../src/application/primitives/merge-base.ts","../../../src/application/primitives/build-pack.ts","../../../src/application/primitives/enumerate-push-objects.ts","../../../src/application/primitives/build-index-from-tree.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAX_FLAT_TREE_ENTRIES","primaryPath","change","type","newPath","oldPath","path","invalidObjectId","value","TsgitError","code","invalidObjectHeader","reason","invalidTreeEntry","offset","invalidCommit","invalidTag","invalidIdentity","line","objectNotFound","id","objectHashMismatch","expected","actual","unexpectedObjectType","treeDepthExceeded","depth","treeEntryLimitExceeded","count","limit","objectTooLarge","actualSize","parseIdentity","lastClose","lastIndexOf","lastOpen","rawName","slice","name","endsWith","email","parts","trim","split","length","timestamp","Number","isSafeInteger","timezoneOffset","test","CONTROL_CHARS","serializeIdentity","identity","includes","HEX_TABLE","Array","from","_","i","toString","padStart","bytesToHex","bytes","join","hexToBytes","hex","Error","Uint8Array","high","parseHexDigit","charCodeAt","low","charCode","compareBytes","a","b","len","Math","min","indexOf","target","fromIndex","textEncoder","TextEncoder","textDecoder","TextDecoder","encode","str","decode","splitHeaderAndMessage","text","blankIndex","headerPart","message","formatContinuationHeader","key","valueParts","map","parseHeaderLine","spaceIdx","parseOptionalHeaderBlock","lines","startIndex","onInvalidKey","onDuplicateGpgsig","gpgSignature","extraHeaders","firstValue","endIdx","j","nextLine","startsWith","push","undefined","SHA1_HEX_RE","SHA256_HEX_RE","ObjectId","fromRaw","RefName","FilePath","FILE_MODE","REGULAR","EXECUTABLE","SYMLINK","DIRECTORY","GITLINK","VALID_MODES","Set","Object","values","NORMALIZE_MAP","Map","normalizeFileMode","mode","has","validateFileMode","get","isDirectory","VALID_TYPES","parseHeader","rawBytes","nullIndex","headerStr","subarray","spaceIndex","sizeStr","size","isFinite","String","contentOffset","VALID_OBJECT_TYPES","sortTreeEntries","entries","decorated","entry","sortKey","encodeEntryName","sort","d","treeEntryCompare","isDir","nameBytes","result","set","parseObject","hash","content","parseBlobContent","names","modeStr","hashStart","hashEnd","digestLength","rawHash","entryId","ObjectIdFactory","add","parseTreeContent","tree","parents","author","committer","nextIndex","parseRequiredFields","msg","parseOptionalHeaders","data","parseCommitContent","object","objectType","tagName","requiredEnd","objectTypeStr","parseRequiredTagFields","tagger","parseTaggerField","parseTagOptionalHeaders","parseTagContent","serializeObject","contentBytes","encoded","totalLength","reduce","sum","e","serializeTreeContent","commit","parent","header","serializeCommitContent","tag","serializeTagContent","kindOf","isSameKind","pathEncoder","comparePaths","sortByPath","items","pathOf","item","tryFoldAdd","deletesByOldId","matches","newId","del","rename","newMode","consumedDelete","addFrom","deleteFrom","oldId","oldMode","classifySamePath","oldEntry","newEntry","entriesOf","invalidIndexHeader","invalidIndexEntry","UNSAFE_SEGMENTS","BIDI_CONTROLS","reasonFor","segment","isControlChar","validateIndexPath","unsafeReason","parseFlags","raw","assumeValid","extended","stage","findNul","AGENT","CLIENT_CAPABILITIES_FETCH","CLIENT_CAPABILITIES_PUSH","keyOf","token","eq","negotiateCapabilities","serverCaps","clientCaps","serverByKey","t","out","c","k","serverValue","pktLengthReserved","pktTooLarge","invalidBaseUrl","missingServiceHeader","invalidRefLine","invalidSidebandChannel","channel","sidebandFatal","invalidReportStatus","emptyReceiveUpdates","refspecInvalid","tooManyAdvertisedRefs","ENCODER","DECODER","fatal","HEX_LENGTH_RE","ACC_CAPACITY","MAX_PKT_LINE_PAYLOAD","FLUSH_PKT","lengthPrefix","encodePktStream","payloads","total","byteLength","p","RangeError","off","parseLength","acc","parseInt","decodePktStream","source","options","Symbol","asyncIterator","async","buf","PktBuffer","chunk","accept","drain","used","remaining","classify","available","v2","kind","consume","this","headerNeeded","max","headerSlice","drop","copyWithin","to","decision","payload","TEXT_DECODER","safeInvoke","cb","parseSideBand","pkt","body","onError","onProgress","demux","TEXT_ENCODER","SHA_ANY_RE","SERVICE_LINE_RE","MAX_ADVERTISED_REFS","buildDiscoveryUrl","baseUrl","service","parsed","URL","pathname","protocol","host","search","stripTrailingNewline","s","validateOidString","splitRef","space","appendNewRef","byName","duplicateRef","refs","handleRefLine","capabilities","nul","head","tail","splitFirstRef","tokens","dedupeByKey","filter","trimmed","PEELED_SUFFIX","peeled","baseIdx","applyPeeled","parseAdvertisedRefs","expectedService","iter","first","next","done","match","exec","groups","sep","consumeServiceHeader","collectRefs","directHead","find","r","symref","targetRef","findHead","return","haveLine","oid","DONE_FRAME","encodePktLine","parseAckLine","status","SHALLOW_PREFIX","UNSHALLOW_PREFIX","parseShallowOid","prefix","stripped","tryConsumeShallowLine","state","shallow","unshallow","pushbackBuffer","WeakMap","invalidRef","invalidPackedRefs","refNotFound","refChainTooDeep","chain","refCycleDetected","FORBIDDEN_SIMPLE","validateRefName","ch","throwIfBadChars","components","component","parseLooseRef","replace","SYMBOLIC_PREFIX","CRC32_TABLE","table","Uint32Array","buildCrc32Table","crc32","invalidPackHeader","invalidPackIndex","invalidPackEntry","invalidDelta","deltaChainTooDeep","readVariableLengthInt","shift","pos","bytesRead","byte","nextOffset","decodeCopyFields","cmd","needed","countCopyFieldBytes","currentPos","nextPos","validateCopyBounds","baseLen","resultPos","targetLen","applyInsert","delta","targetLength","nextResultPos","applyDelta","base","sourceLength","o1","o2","validateDeltaHeader","applied","PACK_MAGIC","parsePackEntryHeader","firstByte","extensionBytes","decodeTypeAndSize","validateEntryType","distance","entryOffset","continuationCount","decodeOfsDistance","dataOffset","baseDistance","endPos","baseId","encodePackEntryHeader","nextByte","IDX_SHA_TABLE_OFFSET","readFanout","index","_view","getUint32","compareShaAtIndex","targetBytes","_bytes","readOffset","smallOffsetsTableOffset","largeIdx","largeOffset","largeOffsetsTableOffset","trailerOffset","lookupPackIndex","mid","cmp","concat","concatAll","arrays","arr","getRepoRoot","ctx","layout","workDir","looseObjectPath","gitDir","computeLooseObjectPath","looseRefPath","indexPath","lockSuffix","MAX_WALK_SEEDS","MAX_WORKING_TREE_BLOB_BYTES","MAX_GITIGNORE_BYTES","MAX_HAVES","hasHeaderInjectionChars","isInvalidExtraHeaderKey","REASON_INDEX_EXCEEDS_MAX","REASON_PACK_IDX_EXCEEDS_MAX","exceedsMaxIndexBytes","exceedsMaxPackIdxBytes","exceedsMaxSymbolicDepth","cap","exceedsMaxPeelDepth","isGitlink","exceedsMaxTreeEntries","OBJECT_ID_SHA1_RE","OBJECT_ID_SHA256_RE","readIndex","fs","exists","version","extensions","stat","read","trailerSize","hashConfig","trailer","hashHex","view","DataView","buffer","byteOffset","entryCount","entryStart","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","rawMode","uid","gid","fileSize","flagsRaw","getUint16","flags","nulEnd","nameLength","FilePathFactory","extensionEnd","signature","firstChar","safe","parseExtensions","parseIndex","PATH_ENCODER","GIT_FORBIDDEN","validateWorkingTreePath","input","reject","rejectComponent","isForbiddenGitComponent","lowered","toLowerCase","pathspecOutsideRepo","original","walkWorkingTree","config","maxDepth","maxEntries","ignore","walkInternal","counter","isRoot","readdir","directoryPath","some","isEmbeddedGitMarker","signal","aborted","operationAborted","visitEntry","joinPath","isSymbolicLink","isFile","lstat","writeObject","computed","declaredId","mkdir","objectsDir","compressed","compressor","deflate","writeExclusive","error","isFileExists","resolveObject","registry","verifyHash","maxBytes","checkAborted","loose","inflate","tryLoose","inflated","enforceLooseCap","finalize","hit","lookup","targetId","phase1","deltas","currentHit","headerEndInChunk","readEntryHeaderWithChunk","isBase","enforcePackBaseCap","baseContent","streamInflate","output","baseType","instructions","enforcePackDeltaPreApplyCap","resolvedBaseId","pack","refDeltaBaseId","resolveBaseForRefDelta","collectDeltaChain","current","step","fullBytes","typeName","packTypeName","headerBytes","prependHeader","cacheEntry","deltaCache","resolvePackChain","declaredSize","declaredTargetSize","readDeltaTargetSize","h","readSlice","packPath","cached","nulIdx","enforceCachedCap","splitHeader","sourceId","typeNameToPackType","cache","isCandidate","loadPack","dir","entryName","idxPath","idxBytes","readBoundedIdx","IDX_HEADER_SIZE","magic","prev","validateFanoutMonotonicity","objectCount","crc32TableOffset","minExpectedSize","parsePackIndex","registryCache","readObject","loadAll","packs","all","createPackRegistry","getPackRegistry","storeCache","getRefStore","store","packedCache","loadPackedRefs","peeling","sorted","mtimeMs","mtimeKey","firstLine","traitStr","HEADER_PREFIX","traits","hasPeeled","lastIndex","sha","RefNameFactory","parseEntries","parsePackedRefs","readUtf8","readLooseContent","resolveDirect","looseContent","packed","writeLoose","writeUtf8","serializeDirectRef","removeLoose","rm","getPackedRefs","createRefStore","resolveRef","maxSymbolicDepth","maxPeelDepth","peel","refStore","initial","resolveDirectChain","startId","peelChain","atomicWriteRef","refName","refPath","lockPath","rmError","isFileNotFound","updateRef","refUpdateConflict","delete","isLoose","unsupportedOperation","writeSymbolicRef","validatedName","validatedTarget","serializeSymbolicRef","readBlob","decoder","workdir","rel","evaluateDirtyPath","absPath","previousId","expectedId","err","combined","blobMatches","isTrackedDirty","isUntrackedClash","writeFileEntry","symlink","write","chmod","applyEntry","blob","relPath","floor","ctimeMs","ctimeNs","mtimeNs","buildIndexEntry","applyChangeset","opts","changeset","force","dirty","offending","checkDirty","checkoutOverwriteDirty","writtenEntries","written","deleted","indexEntry","progress","update","stats","targetEntry","previousMode","computeChangeset","currentIndex","targetTree","indexByPath","projectIndex","targetByPath","projectTarget","allPaths","keys","noop","walkTree","treeIdOrObject","recursive","rootTree","obj","resolveTree","stack","exceedsMaxTreeDepth","descentStack","shouldRecurse","subtreeObj","filterByPaths","paths","pickEntry","writtenByPath","oldByPath","mergeNewIndexEntries","scopedPaths","writtenEntriesByPath","indexEntriesByPath","merged","preserveOutOfScope","picked","tallyStats","materializeTree","allTarget","treeId","collected","collectTargetEntries","indexForDiff","rawChangeset","forceRewriteAll","upgradeNoopsToUpdates","newIndexEntries","readTree","ref","currentId","writeTree","assertDepthBounded","slashCount","synthesizeLevel","files","subdirs","slashIndex","rest","bucket","sub","groupByPrefix","treeEntries","file","subEntries","subId","synthesizeTreeFromIndex","stage0Entries","SIDE_BAND_CAPS","fetchPack","transport","start","progressOp","download","downloadPack","packBytes","packSha","verifyPackTrailer","walkPackEntries","buildIdx","writePackArtifacts","end","requestBody","req","wants","wantPayloads","forEach","w","idx","caps","wantLine","wantStream","haveStream","haves","buildUploadPackRequest","uploadUrl","buildUploadPackUrl","url","response","request","method","headers","statusCode","httpError","pktSource","readableStreamToAsyncIterable","shallowUpdates","expectShallow","parseShallowResponse","meta","acks","nak","buffered","splitMeta","packBody","replayed","replay","sideBand","sbOptions","rawPackBytes","packBodyStream","parseUploadPackResponse","hasSideBand","sanitize","drainPackBodyBounded","maxResponseBytes","chunks","lastTick","packTooLargeBytes","trailerLen","bodyEnd","trailerBytes","expectedHex","actualHex","pending","inflateAllEntries","resolveAllEntries","parsePackHeader","objectCountCap","maxObjectsPerPack","trailerStart","entryHeader","entryEnd","bytesConsumed","entryCrc","byOffset","byId","unresolved","resolved","tryResolveEntry","firstUnresolvedError","refBaseId","isBaseHeader","baseTypeName","computeLooseObjectId","baseOffset","resolveDelta","refBase","packChecksum","withBytes","shaBytes","n","largeCount","shaTableSize","crcTableSize","offsetTableSize","totalSize","headerSize","setUint32","bucketCounts","fanout","cumulative","fanoutOffset","crcStart","offsetStart","largeOffsetStart","serializePackIndex","idxTrailerBytes","packDir","shallowPath","readShallow","isShallowOid","OID","updateShallow","updates","deleteIfPresent","atomicWrite","shallowLockPath","rmErr","createCommit","diffTrees","treeA","treeB","Promise","resolveInput","oldTree","newTree","oldEntries","newEntries","changes","domainDiffTrees","detectRenames","diff","maxSameIdDeletes","adds","deletes","other","partition","byOldId","list","pruned","buildDeletesByOldId","consumedDeletes","renames","unfoldedAdds","fold","unfoldedDeletes","renameOptions","walkCommits","invalidWalkInput","exceedsMaxWalkSeeds","validateOptions","order","ignoreMissing","queue","visited","missing","until","pickNext","fetchCommit","enqueueParents","isObjectNotFound","_order","advanceFrontier","frontier","intersection","mergeBase","visitedA","visitedB","frontierA","frontierB","stepA","stepB","buildPack","writerEntries","oids","encodeEntry","packfile","serializePackHeader","metas","currentOffset","entryBytes","uncompressedSize","compressedData","serializePackfile","packEntryTypeFor","tryEmit","emitted","enumeratePushObjects","maxObjects","commitSeeds","seeds","want","seed","resolveTagChain","collectCommitSeeds","walkCommitClosure","recordTag","byPath","buildIndexFromTree","donors","donorByPath","leaves","collectLeaves","leaf","donor","zeroStatEntry","projectLeaf"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{T as t,o as e,A as a,g as r,B as n,r as s,l as i,P as o,z as c,d,f,e as u,q as l,s as h,O as w,c as m,M as p,F as y,b as g,k as b,y as v,u as k,G as $,N as E,w as x,E as D,J as I,I as S,K as M,L as A}from"./error-BN9rdQ33.js";import{j as L,p as U,v as O,W as _,M as R,z as T,F as N,o as H,q as F,y as W,b as C,B as P,w as B,T as z,J as j,R as V,a1 as G,a4 as q,N as Y,e as X,a5 as K,V as Z,a0 as J,_ as Q,a6 as tt,S as et,D as at,a3 as rt,X as nt,g as st,I as it,m as ot,G as ct,A as dt,C as ft,s as ut,$ as lt,O as ht,l as wt,P as mt,a7 as pt,n as yt,c as gt,d as bt,a2 as vt,t as kt,E as $t,Z as Et,Y as xt,L as Dt,a as It,U as St,i as Mt,r as At,x as Lt,K as Ut,h as Ot,H as _t}from"./index-BdV37p4e.js";import{withRetry as Rt,withAuth as Tt,withLogging as Nt}from"../transport/index.js";import{r as Ht}from"./readable-stream-CGuf8k1J.js";const Ft=e=>new t({code:"INVALID_DIFF_INPUT",reason:e});function Wt(t){const e=[];return void 0!==t.baseId&&void 0!==t.baseMode&&e.push({id:t.baseId,mode:t.baseMode,stage:1}),void 0!==t.ourId&&void 0!==t.ourMode&&e.push({id:t.ourId,mode:t.ourMode,stage:2}),void 0!==t.theirId&&void 0!==t.theirMode&&e.push({id:t.theirId,mode:t.theirMode,stage:3}),e}function Ct(t,e,a){const r=a(e.mode);return{ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:e.mode,uid:r.uid,gid:r.gid,fileSize:r.fileSize,id:e.id,flags:{assumeValid:!1,extended:!1,stage:e.stage},path:t}}const Pt=1e5;function Bt(t){const e=[];let a=0;for(let r=0;r<t.length;r++)10===t[r]&&(e.push(t.subarray(a,r+1)),a=r+1);return a<t.length&&e.push(t.subarray(a)),e}function zt(t){return function(t){const e=Math.min(t.length,8e3);for(let a=0;a<e;a++)if(0===t[a])return!0;return!1}(t)||function(t){let e=0,a=0;for(let r=0;r<t.length;r++){if(e++,e>=65536)return!0;if(10===t[r]){if(a++,a>=Pt)return!0;e=0}}return e>0&&(a++,a>=Pt)}(t)}function jt(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!==e[a])return!1;return!0}function Vt(t,e,a,r){return r===-a||t[r-1+e]<t[r+1+e]}function Gt(t,e,a,r,n,s){let i=Vt(a,r,n,s)?a[s+1+r]:a[s-1+r]+1,o=i-s;for(;i<t.length&&o<e.length&&jt(t[i],e[o]);)i++,o++;return{x:i,y:o}}function qt(t){const e=[];let a=0,r=0,n=0;for(;n<t.length;){const s=t[n],i=a,o=r;for(;t[n]===s;)"equal"===s?(a++,r++):"delete"===s?a++:r++,n++;e.push({kind:"equal"===s?"common":"delete"===s?"ours-only":"theirs-only",oursStart:i,oursEnd:a,theirsStart:o,theirsEnd:r})}return e}function Yt(t,e){const a=Bt(t),r=Bt(e),n=a.length,s=r.length;if(0===n&&0===s)return{hunks:[{kind:"common",oursStart:0,oursEnd:0,theirsStart:0,theirsEnd:0}],oursLines:a,theirsLines:r,degraded:!1};const i=function(t,e){const a=t.length,r=e.length;if(a+r>5e4)return;const n=a+r,s=n,i=new Array(2*n+1).fill(0),o=[],c=1e3*n;let d=0;for(let n=0;;n++){const f=2*n+1,u=new Array(f);for(let t=0;t<f;t++)u[t]=i[s-n+t];o.push(u);for(let f=-n;f<=n;f+=2){if(d++,d>c)return;const u=Gt(t,e,i,s,n,f);if(i[f+s]=u.x,u.x>=a&&u.y>=r)return{trace:o,totalD:n}}}}(a,r);return void 0===i?function(t,e){const a=[];return t.length>0&&a.push({kind:"ours-only",oursStart:0,oursEnd:t.length,theirsStart:0,theirsEnd:0}),e.length>0&&a.push({kind:"theirs-only",oursStart:t.length,oursEnd:t.length,theirsStart:0,theirsEnd:e.length}),{hunks:a,oursLines:t,theirsLines:e,degraded:!0}}(a,r):{hunks:qt(function(t,e,a){const r=[];let n=t,s=e;for(let t=a.length-1;t>0;t--){const e=a[t],i=t,o=n-s,c=Vt(e,i,t,o)?o+1:o-1,d=e[c+i],f=d-c;for(;n>d&&s>f;)r.push("equal"),n--,s--;r.push(n===d?"insert":"delete"),n===d?s--:n--}for(;n>0;)r.push("equal"),n--;return r.reverse(),r}(n,s,i.trace)),oursLines:a,theirsLines:r,degraded:!1}}function Xt(t,e){const a=t.path,r=e.path;return a<r?-1:a>r?1:0}function Kt(t,e,a,r,n){e.setUint32(a,r.ctimeSeconds),e.setUint32(a+4,r.ctimeNanoseconds),e.setUint32(a+8,r.mtimeSeconds),e.setUint32(a+12,r.mtimeNanoseconds),e.setUint32(a+16,r.dev),e.setUint32(a+20,r.ino),e.setUint32(a+24,Number.parseInt(r.mode,8)),e.setUint32(a+28,r.uid),e.setUint32(a+32,r.gid),e.setUint32(a+36,r.fileSize);const s=O(r.id);t.set(s,a+40);const i=Math.min(n.length,4095);e.setUint16(a+60,(r.flags.assumeValid?32768:0)|r.flags.stage<<12|i),t.set(n,a+62)}const Zt=(t,e,a)=>{let r="unset";for(const n of t)n.directoryOnly&&!a||n.compiled.test(e)&&(r=n.negated?"unignored":"ignored");return r},Jt=(t,e)=>{if(""===e)return t;const a=`${e}/`;return t.startsWith(a)?t.slice(a.length):void 0},Qt=/[.+^${}()|[\]\\]/,te=(t,e)=>{let a="",r=0;for(;r<t.length;){const e=ee(t,r);a+=e.regex,r=e.next}return new RegExp(`${e.anchored?"^":"(^|.*/)"}${a}${!0===e.withDirSuffix?"(/.*)?$":"$"}`)},ee=(t,e)=>{const a=t[e];return"*"===a?ae(t,e):"?"===a?{regex:"[^/]",next:e+1}:{regex:Qt.test(a)?`\\${a}`:a,next:e+1}},ae=(t,e)=>{if("*"!==t[e+1])return{regex:"[^/]*",next:e+1};const a=e+2;return"/"===t[a]?{regex:"(.*/)?",next:a+1}:{regex:".*",next:a}},re=t=>{const e=t.startsWith("!"),a=e?t.slice(1):t;var r;return(r=a).includes("*")||r.includes("?")?{pattern:t,body:a,negated:e,isLiteral:!1,compiled:te(a,{anchored:a.includes("/")})}:{pattern:t,body:a,negated:e,isLiteral:!0,compiled:te(a,{anchored:!0,withDirSuffix:!0})}},ne=(t,e)=>{let a=!1;for(const r of t)r.compiled.test(e)&&(a=!r.negated);return a},se=t=>{let e=t.length;for(;e>0&&32===t.charCodeAt(e-1)&&!(e>=2&&92===t.charCodeAt(e-2));)e-=1;return t.slice(0,e)},ie=t=>t.replace(/\\(.)/g,"$1"),oe=e=>new t({code:"INVALID_MERGE_TREE",reason:e}),ce=e=>new t({code:"INVALID_MERGE_INPUT",reason:e}),de=268435456,fe=["<<<<<<<","=======",">>>>>>>","|||||||"],ue=new TextEncoder;function le(t){return t<=31||t>=127&&t<=159}function he(t){return t>=8234&&t<=8238||t>=8294&&t<=8297||8203===t||8204===t||8205===t||8288===t||65279===t}function we(t,e){if(t.length>255)throw ce(`conflict marker ${e} label exceeds maximum length`);if(""===t.trim())throw ce(`conflict marker ${e} label is empty or whitespace-only`);if(function(t){for(let e=0;e<t.length;e++){const a=t.charCodeAt(e);if(le(a)||he(a))return!0}return!1}(t))throw ce(`conflict marker ${e} label contains forbidden control character`);if(function(t){for(const e of fe)if(t.includes(e))return!0;return!1}(t))throw ce(`conflict marker ${e} label contains forbidden marker substring`)}function me(t){let e=0;for(const a of t)e+=a.length;return e}function pe(t){if(0===t.length)return new Uint8Array(0);const e=me(t),a=t[t.length-1],r=0===a.length||10!==a[a.length-1],n=new Uint8Array(e+(r?1:0));let s=0;for(const e of t)n.set(e,s),s+=e.length;return r&&(n[s]=10),n}function ye(t,e,a={}){if("diff3"===a.conflictStyle)throw ce("diff3 conflict style requires base lines — not supported in v1");const r=a.labels?.ours??"ours",n=a.labels?.theirs??"theirs";if(we(r,"ours"),we(n,"theirs"),void 0!==a.labels?.base&&we(a.labels.base,"base"),me(t)+me(e)>de)throw ce("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES");const s=ue.encode(`<<<<<<< ${r}\n`),i=ue.encode("=======\n"),o=ue.encode(`>>>>>>> ${n}\n`),c=pe(t),d=pe(e),f=new Uint8Array(s.length+c.length+i.length+d.length+o.length);let u=0;return f.set(s,u),u+=s.length,f.set(c,u),u+=c.length,f.set(i,u),u+=i.length,f.set(d,u),u+=d.length,f.set(o,u),f}function ge(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!==e[a])return!1;return!0}function be(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(!ge(t[a],e[a]))return!1;return!0}function ve(t){let e=0;for(const a of t)e+=a.length;const a=new Uint8Array(e);let r=0;for(const e of t)a.set(e,r),r+=e.length;return a}function ke(t,e){const a=[];let r;const n=()=>{void 0!==r&&(a.push({baseStart:r.baseStart,baseEnd:r.baseEnd,replacement:r.replacement}),r=void 0)};for(const a of t)if("common"!==a.kind)if(void 0===r&&(r={baseStart:a.oursStart,baseEnd:a.oursStart,replacement:[]}),"ours-only"===a.kind)r.baseEnd=Math.max(r.baseEnd,a.oursEnd);else for(let t=a.theirsStart;t<a.theirsEnd;t++)r.replacement.push(e[t]);else n();return n(),a}function $e(t,e){return t.baseStart===t.baseEnd?e.baseStart===e.baseEnd?t.baseStart===e.baseStart:t.baseStart>=e.baseStart&&t.baseStart<e.baseEnd:e.baseStart===e.baseEnd?e.baseStart>=t.baseStart&&e.baseStart<t.baseEnd:t.baseStart<e.baseEnd&&e.baseStart<t.baseEnd}function Ee(t,e){for(const a of e)if(a.baseStart===t.baseStart&&a.baseEnd===t.baseEnd&&be(a.replacement,t.replacement))return a}function xe(t,e){for(const a of e)if($e(t,a))return!0;return!1}function De(t,e,a){return{status:"conflict",conflictType:"content",markedBytes:ye(t,e,a)}}function Ie(t,e){return t.id===e.id&&t.mode===e.mode}function Se(t,e){if(void 0!==t&&t.entries.size>R)throw oe(`${e} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`)}function Me(t){return{status:"conflict",conflict:t}}function Ae(t,e,a,r){return Me({type:"modify-delete",path:t,baseId:e.id,baseMode:e.mode,...void 0===a?{}:{ourId:a.id,ourMode:a.mode},...void 0===r?{}:{theirId:r.id,theirMode:r.mode}})}function Le(t,e,a,r){return void 0===e?{status:"resolved-known",path:t,id:a.id,mode:a.mode}:Ie(e,a)?{status:"resolved-deleted",path:t}:"our"===r?Ae(t,e,a,void 0):Ae(t,e,void 0,a)}function Ue(t,e,a,r,n){return void 0===a&&void 0===r?{status:"resolved-deleted",path:t}:void 0===a?Le(t,e,r,"their"):void 0===r?Le(t,e,a,"our"):void 0===e?function(t,e,a){return Ie(e,a)?{status:"resolved-known",path:t,id:e.id,mode:e.mode}:function(t,e,a){return Me({type:"add-add",path:t,ourId:e.id,theirId:a.id,ourMode:e.mode,theirMode:a.mode})}(t,e,a)}(t,a,r):async function(t,e,a,r,n){const s=Ie(e,a),i=Ie(e,r);if(s&&i)return{status:"unchanged",path:t,id:e.id,mode:e.mode};if(s)return{status:"resolved-known",path:t,id:r.id,mode:r.mode};if(i)return{status:"resolved-known",path:t,id:a.id,mode:a.mode};if(Ie(a,r))return{status:"resolved-known",path:t,id:a.id,mode:a.mode};if(!T(a.mode,r.mode)||!T(e.mode,a.mode))return function(t,e,a,r){return Me({type:"type-change",path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode})}(t,e,a,r);const o=function(t,e,a){return e.mode===a.mode?e.mode:e.mode===t.mode?a.mode:e.mode}(e,a,r);return function(t){return t===N.GITLINK}(o)?function(t,e,a,r){return Me({type:"gitlink",path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode})}(t,e,a,r):async function(t,e,a,r,n,s){const i={path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode},o=await s(i,void 0,new Uint8Array(0),new Uint8Array(0));if("clean"===o.status){if(o.bytes.length>de)throw ce("contentMerger returned oversize clean bytes");return void 0!==o.id?{status:"resolved-known",path:t,id:o.id,mode:n}:{status:"resolved-merged",path:t,bytes:o.bytes,mode:n}}if(o.markedBytes.length>de)throw ce("contentMerger returned oversize marked bytes");return Me({type:o.conflictType,path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode,conflictContent:o.markedBytes})}(t,e,a,r,o,n)}(t,e,a,r,n)}const Oe=new TextDecoder("utf-8",{fatal:!1}),_e=new TextEncoder,Re=t=>t.endsWith("\n")?t.slice(0,-1):t,Te=t=>{if(t.startsWith("ok "))return{name:t.slice(3),accepted:!0};if(t.startsWith("ng ")){const e=t.slice(3),a=e.indexOf(" ");if(a<0)throw W(t);return{name:e.slice(0,a),accepted:!1,reason:e.slice(a+1)}}throw W(t)},Ne=async t=>{const e=await(async t=>{const e=[];for await(const a of t){if("data"!==a.kind)return e;e.push(Re(Oe.decode(a.payload)))}return e})(t);if(0===e.length)throw W("");const[a,...r]=e,n=(t=>{if("unpack ok"===t)return{ok:!0};if(t.startsWith("unpack "))return{ok:!1,error:t.slice(7)};throw W(t)})(a);return n.ok?{unpackOk:!0,refUpdates:r.map(Te)}:{unpackOk:!1,unpackError:n.error,refUpdates:[]}};let He=new WeakMap;const Fe=t=>{const e=He.get(t);if(void 0!==e)return e;const a=We(t);return He.set(t,a),a},We=async t=>{const e=await Ce(t);return void 0===e?{}:Pe(e)},Ce=async e=>{try{return await e.fs.readUtf8(`${e.layout.gitDir}/config`)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)return;throw e}},Pe=t=>{const e=Be(t);return Ye(e)},Be=t=>{const e=[];let a;for(const r of ze(t.split("\n"))){const t=je(r).trim();if(""===t)continue;const n=Ge(t);if(void 0!==n){a={section:n.section,subsection:n.subsection,entries:[]},e.push(a);continue}if(void 0===a)continue;const s=qe(t);void 0!==s&&a.entries.push(s)}return e},ze=t=>{const e=[];let a="";for(const r of t){const t=""===a?r:r.replace(/^\s+/,"");r.endsWith("\\")?a+=t.slice(0,t.length-1):(e.push(`${a}${t}`),a="")}return""!==a&&e.push(a),e},je=t=>{const e=[Ve(t,"#"),Ve(t,";")].filter(t=>t>=0);return 0===e.length?t:t.slice(0,Math.min(...e))},Ve=(t,e)=>{let a=!1;for(let r=0;r<t.length;r+=1){const n=t[r];if('"'===n)a=!a;else if(!a&&n===e)return r}return-1},Ge=t=>{if(!t.startsWith("[")||!t.endsWith("]"))return;const e=t.slice(1,-1).trim();if(""===e)return;const a=e.indexOf('"');if(-1===a)return{section:e,subsection:void 0};const r=e.slice(0,a).trim(),n=e.lastIndexOf('"');return n<=a?void 0:{section:r,subsection:e.slice(a+1,n)}},qe=t=>{const e=t.indexOf("=");if(-1===e)return;const a=t.slice(0,e).trim();return""!==a?{key:a,value:t.slice(e+1).trim()}:void 0},Ye=t=>{const e={};for(const a of t)"core"===a.section&&void 0===a.subsection?Xe(e,a):"user"===a.section&&void 0===a.subsection?Ke(e,a):"remote"===a.section&&void 0!==a.subsection?Ze(e,a.subsection,a):"branch"===a.section&&void 0!==a.subsection&&Je(e,a.subsection,a);return Qe(e)},Xe=(t,e)=>{for(const{key:a,value:r}of e.entries){const e=a.toLowerCase();"bare"===e?t.core={...t.core,bare:ea(r)}:"excludesfile"===e&&(t.core={...t.core,excludesFile:r})}},Ke=(t,e)=>{for(const{key:a,value:r}of e.entries)"name"===a?t.user={...t.user,name:r}:"email"===a&&(t.user={...t.user,email:r})},Ze=(t,e,a)=>{t.remote??=new Map;const r=t.remote.get(e)??{},n=r.fetch?[...r.fetch]:[];let s=r.url;for(const{key:t,value:e}of a.entries)"url"===t?s=e:"fetch"===t&&n.push(e);const i={};void 0!==s&&(i.url=s),n.length>0&&(i.fetch=n),t.remote.set(e,i)},Je=(t,e,a)=>{t.branch??=new Map;const r={...t.branch.get(e)??{}};for(const{key:t,value:e}of a.entries)"remote"===t?r.remote=e:"merge"===t&&(r.merge=e);t.branch.set(e,r)},Qe=t=>{const e={};return void 0===t.core?.bare&&void 0===t.core?.excludesFile||(e.core={...void 0!==t.core?.bare?{bare:t.core.bare}:{},...void 0!==t.core?.excludesFile?{excludesFile:t.core.excludesFile}:{}}),void 0!==t.user?.name&&void 0!==t.user?.email&&(e.user={name:t.user.name,email:t.user.email}),void 0!==t.remote&&t.remote.size>0&&(e.remote=t.remote),void 0!==t.branch&&t.branch.size>0&&(e.branch=t.branch),e},ta=new Set(["true","yes","on","1"]),ea=t=>ta.has(t.toLowerCase()),aa=async(t,e)=>ra(t,""===e?`${t.layout.workDir}/.gitignore`:`${t.layout.workDir}/${e}/.gitignore`),ra=async(a,r)=>{let n;try{n=await a.fs.lstat(r)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)return;throw e}if(n.isFile&&!n.isSymbolicLink){if(n.size>C)throw e(na(r),n.size,C);return(t=>{const e=[];for(const a of t.split("\n")){if(""===a)continue;if(/^\s*$/.test(a))continue;if(a.startsWith("#"))continue;const t=se(a),r=t.startsWith("!"),n=r?t.slice(1):t,s=n.endsWith("/"),i=s?n.slice(0,-1):n,o=i.startsWith("/")||i.includes("/"),c=i.startsWith("/")?i.slice(1):i,d=ie(c),f=te(d,{anchored:o});e.push({pattern:ie(t),negated:r,directoryOnly:s,anchored:o,compiled:f})}return e})(await a.fs.readUtf8(r))}},na=t=>{const e=t.lastIndexOf("/");return-1===e?t:t.slice(e+1)},sa=async t=>{const e=await(async t=>{const e=[],a=await(async t=>{const e=await Fe(t),a=e.core?.excludesFile;if(void 0===a)return;const r=((t,e)=>{if("~"===e)return t.layout.homeDir;if(e.startsWith("~/")){if(void 0===t.layout.homeDir)return;return`${t.layout.homeDir}/${e.slice(2)}`}return e})(t,a);return void 0!==r?ra(t,r):void 0})(t);void 0!==a&&e.push({basedir:"",rules:a});const r=await(async t=>ra(t,`${t.layout.gitDir}/info/exclude`))(t);void 0!==r&&e.push({basedir:"",rules:r});const n=await aa(t,"");void 0!==n&&e.push({basedir:"",rules:n});const s=new Map;return{base:e,loadDirRules:async e=>{const a=s.get(e);if(void 0!==a)return a;const r=await aa(t,e)??[];return s.set(e,r),r}}})(t),a=[...e.base],r=new Set([]);return async(t,n)=>{for(const n of ia(t)){if(r.has(n))continue;r.add(n);const t=await e.loadDirRules(n);t.length>0&&a.push({basedir:n,rules:t})}return"ignored"===((t,e,a)=>{let r="unset";for(const n of t){const t=Jt(e,n.basedir);if(void 0===t)continue;const s=Zt(n.rules,t,a);"unset"!==s&&(r=s)}return r})(a,t,n)}},ia=t=>{const e=t.split("/");if(e.length<=1)return[];const a=[];for(let t=1;t<e.length;t+=1)a.push(e.slice(0,t).join("/"));return a},oa=(e,a)=>new t(void 0===a?{code:"RESOURCE_LOCKED",resource:"index",path:e}:{code:"RESOURCE_LOCKED",resource:"index",path:e,mtimeMs:a}),ca=async(e,a={})=>{const r=`${B(e.layout.gitDir)}${P}`,n=B(e.layout.gitDir),s=a.now??(()=>Date.now()),i=a.breakStaleLockMs;try{await e.fs.writeExclusive(r,new Uint8Array)}catch(a){if(!(a instanceof t)||"FILE_EXISTS"!==a.data.code)throw a;if(void 0===i)throw oa(r,await da(e,r));await fa(e,r,i,s)}return ua(e,r,n)},da=async(t,e)=>{try{return(await t.fs.lstat(e)).mtimeMs}catch{return}},fa=async(e,a,r,n)=>{const s=await da(e,a);if(void 0===s)return void await e.fs.writeExclusive(a,new Uint8Array);const i=n()-s;if(i<0)throw oa(a,s);if(i<r)throw oa(a,s);await e.fs.rm(a);try{await e.fs.writeExclusive(a,new Uint8Array)}catch(r){if(r instanceof t&&"FILE_EXISTS"===r.data.code)throw oa(a,await da(e,a));throw r}},ua=(e,a,r)=>{let n=!1,s=!1;return{release:async()=>{if(!n&&!s){s=!0;try{await e.fs.rm(a)}catch(e){if(!(e instanceof t)||"FILE_NOT_FOUND"!==e.data.code)throw e}}},commit:async t=>{if(n||s)return;const i=function(t){const e=[...t.entries].sort(Xt),a=e.map(t=>{const e=U(t.path);return{entry:t,pathBytes:e,paddedLength:62+e.length+8&-8}}),r=t.extensions.map(t=>({ext:t,sigBytes:U(t.signature),totalLength:8+t.data.length})),n=12+a.reduce((t,e)=>t+e.paddedLength,0)+r.reduce((t,e)=>t+e.totalLength,0),s=new Uint8Array(n),i=new DataView(s.buffer);i.setUint32(0,1145655875),i.setUint32(4,2),i.setUint32(8,e.length);let o=12;for(const{entry:t,pathBytes:e,paddedLength:r}of a)Kt(s,i,o,t,e),o+=r;for(const{ext:t,sigBytes:e,totalLength:a}of r)s.set(e,o),i.setUint32(o+4,t.data.length),s.set(t.data,o+8),o+=a;return s}({entries:[...t],extensions:[]}),o=await e.hash.hash(i),c=new Uint8Array(i.length+o.length);c.set(i,0),c.set(o,i.length),await e.fs.write(a,c),await e.fs.rename(a,r),n=!0}}},la=V.from("HEAD"),ha=async e=>{const a=`${e.layout.gitDir}/HEAD`;if(!await e.fs.exists(a))throw new t({code:"NOT_A_REPOSITORY",path:e.layout.workDir});return e.layout.bare?e.layout.gitDir:e.layout.workDir},wa=async(e,a)=>{if(await(async t=>{const e=await Fe(t);return e.core?.bare??!1})(e))throw(e=>new t({code:"BARE_REPOSITORY",operation:e}))(a)},ma=async e=>{const a=`${e.layout.gitDir}/HEAD`;let r;try{r=await e.fs.readUtf8(a)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)throw z(la);throw e}const n=j(r);return"symbolic"===n.type?{kind:"symbolic",target:n.target}:{kind:"direct",id:n.target}},pa=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],ya=async(t,e={})=>{const r=await Promise.all(pa.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<pa.length;t+=1){const n=pa[t];if(void 0!==n&&e.except!==n.operation&&!0===r[t])throw a(n.operation)}},ga=G,ba=(t,e)=>`${t.layout.workDir}/${e}`,va=async(t,e)=>{const a=ga(e);return t.fs.read(ba(t,a))},ka=async(t,e)=>{const a=ga(e),n=ba(t,a);let s;try{s=await t.fs.lstat(n)}catch{throw r([a])}if(!s.isFile&&!s.isSymbolicLink)throw r([a]);await t.fs.rm(n)},$a=new TextEncoder,Ea=t=>{for(const e of t){const t=e.startsWith("!")?e.slice(1):e;ga(t),xa(e)}const e=(t=>t.map(re))(t),a=e.filter(Sa).map(t=>Aa(t)),r=e.some(Ma);return{matcher:e,literalMustMatch:a,hasGlob:r}},xa=t=>{if($a.encode(t).byteLength>256)throw s("paths","pattern exceeds max length 256 bytes");if(Da(t)>4)throw s("paths","pattern exceeds max **-token count 4")},Da=t=>{let e=0,a=0;for(;a<t.length;)"*"!==t[a]||"*"!==t[a+1]?a+=1:(e+=1,a+=2);return e},Ia=(t,e)=>{if(0===t.length)return;const a=new Set(e);for(const r of t)if(!a.has(r)&&!e.some(t=>t.startsWith(`${r}/`)))throw n(r)},Sa=t=>!t.negated&&t.isLiteral,Ma=t=>!t.negated&&!t.isLiteral,Aa=t=>t.body,La=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Ua=async(t,e,a={})=>{if(await ha(t),await wa(t,"add"),await ya(t,{except:"merge"}),!0===a.all){if(0!==e.length)throw s("all","pathspec must be empty when all=true");return Na(t,a)}if(0===e.length)throw i();return Oa(t,e,a)},Oa=async(t,e,a)=>{const{matcher:r,literalMustMatch:n,hasGlob:s}=Ea(e);return!s&&await Ra(t,n)?_a(t,n,a):Ta(t,r,n,a)},_a=async(t,e,a)=>{const r=await ca(t,void 0!==a.breakStaleLockMs?{breakStaleLockMs:a.breakStaleLockMs}:{});try{const a=await Wa(t),s=new Map(a),i=[],o=[];for(const r of e){const e=await Ca(t,r);if("missing"===e)throw n(r);const c=a.get(r);s.set(r,e),void 0===c?i.push(r):c.id===e.id&&c.mode===e.mode||o.push(r)}return await r.commit(Array.from(s.values())),{added:i,modified:o,removed:[]}}finally{await r.release()}},Ra=async(t,e)=>{if(0===e.length)return!1;for(const a of e){const e=await t.fs.lstat(`${t.layout.workDir}/${a}`).catch(()=>{});if(void 0===e)return!1;if(e.isDirectory&&!e.isSymbolicLink)return!1}return!0},Ta=async(t,e,a,r)=>{const n=await sa(t),s=async(t,a)=>!!await n(t,a)||!a&&!ne(e,t),i=await ca(t,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const e=await Wa(t),r=new Map(e),n=[],o=[],c=[],d=new Set;for await(const a of q(t,{ignore:s})){const s=await Fa(t,a,e,d);void 0!==s&&(n.push(s.path),r.set(s.path,s.entry),"added"===s.kind?o.push(s.path):"modified"===s.kind&&c.push(s.path))}return Ia(a,n),o.sort(),c.sort(),await i.commit(Array.from(r.values())),{added:o,modified:c,removed:[]}}finally{await i.release()}},Na=async(t,e,a)=>{const r=await sa(t),n=await ca(t,void 0!==e.breakStaleLockMs?{breakStaleLockMs:e.breakStaleLockMs}:{});try{const e=await Wa(t),a=new Map(e),s=new Set,i=[],o=[],c=[];for await(const n of q(t,{ignore:r})){const r=await Fa(t,n,e,s);void 0!==r&&(a.set(r.path,r.entry),"added"===r.kind?i.push(r.path):"modified"===r.kind&&o.push(r.path))}for(const[t]of e)s.has(t)||await Ha(t,r)||(a.delete(t),c.push(t));return i.sort(),o.sort(),c.sort(),await n.commit(Array.from(a.values())),{added:i,modified:o,removed:c}}finally{await n.release()}},Ha=async(t,e)=>{if(await e(t,!1))return!0;const a=t.split("/");for(let t=1;t<a.length;t+=1){const r=a.slice(0,t).join("/");if(await e(r,!0))return!0}return!1},Fa=async(t,e,a,r)=>{const{path:n,stat:s}=e;if(r.add(n),s.size>X)throw o(n,s.size,X);const i=await Pa(t,n,s),c=a.get(n);return void 0===c?{kind:"added",path:n,entry:i}:c.id!==i.id||c.mode!==i.mode?{kind:"modified",path:n,entry:i}:{kind:"unchanged",path:n,entry:i}},Wa=async e=>{try{const t=await Y(e),a=new Map;for(const e of t.entries)a.set(e.path,e);return a}catch(e){if(e instanceof t&&La.has(e.data.code))return new Map;throw e}},Ca=async(t,e)=>{const a=await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{});return void 0===a?"missing":Pa(t,e,a)},Pa=async(t,e,a)=>{const r=await t.fs.lstat(`${t.layout.workDir}/${e}`);if(r.isSymbolicLink!==a.isSymbolicLink||r.isDirectory!==a.isDirectory||r.isFile!==a.isFile)throw c();if(r.size>X)throw o(e,r.size,X);const n=r.isSymbolicLink?"120000":73&r.mode?"100755":"100644",s=await Ba(t,e,r),i=await K(t,{type:"blob",id:"",content:s});return za(r,n,i,e)},Ba=async(t,e,a)=>{if(a.isSymbolicLink){const a=(new TextEncoder).encode(await t.fs.readlink(`${t.layout.workDir}/${e}`));if(a.byteLength>X)throw o(e,a.byteLength,X);return a}return va(t,e)},za=(t,e,a,r)=>({ctimeSeconds:Math.floor(t.ctimeMs/1e3),ctimeNanoseconds:0,mtimeSeconds:Math.floor(t.mtimeMs/1e3),mtimeNanoseconds:0,dev:t.dev,ino:t.ino,mode:e,uid:t.uid,gid:t.gid,fileSize:t.size,id:a,flags:{assumeValid:!1,extended:!1,stage:0},path:r}),ja="refs/heads/",Va=async(t,e)=>(await ha(t),"list"===e.kind?Ga(t):"create"===e.kind?Ya(t,e):"delete"===e.kind?Xa(t,e):Ka(t,e)),Ga=async t=>{const e=`${t.layout.gitDir}/refs/heads`;if(!await t.fs.exists(e))return{kind:"list",branches:[]};const a=await ma(t),r="symbolic"===a.kind&&a.target.startsWith(ja)?a.target:void 0,n=await t.fs.readdir(e),s=[];for(const e of n){if(!e.isFile)continue;const a=`${ja}${e.name}`,n=await Z(t,a);s.push({name:a,id:n,current:a===r})}return s.sort((t,e)=>qa(t.name,e.name)),{kind:"list",branches:s}},qa=(t,e)=>t<e?-1:t>e?1:0,Ya=async(e,a)=>{const r=J(`${ja}${a.name}`),n=a.startPoint??"HEAD",s=await Za(e,n);try{await Q(e,r,s,!0===a.force?{}:{expected:"absent"})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw d(r);throw e}return{kind:"create",name:r,id:s}},Xa=async(t,e)=>{const a=J(`${ja}${e.name}`),r=await ma(t);if("symbolic"===r.kind&&r.target===a)throw f(a);if(!await t.fs.exists(`${t.layout.gitDir}/${a}`))throw u(a);return await Q(t,a,"0".repeat(40),{delete:!0}),{kind:"delete",name:a}},Ka=async(e,a)=>{const r=J(`${ja}${a.from}`),n=J(`${ja}${a.to}`),s=await Z(e,r);try{await Q(e,n,s,!0===a.force?{}:{expected:"absent"})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw d(n);throw e}await Q(e,r,"0".repeat(40),{delete:!0});const i=await ma(e);return"symbolic"===i.kind&&i.target===r&&await tt(e,"HEAD",n),{kind:"rename",from:r,to:n}},Za=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a="HEAD"===e?["HEAD"]:[`${ja}${e}`,e];for(const e of a)try{return await Z(t,e)}catch{}throw u(e)},Ja="checkout:materialize",Qa=async(t,e)=>{if("HEAD"===e){const e=await Z(t,"HEAD");return(await et(t,e)).id}return(await et(t,e)).id},tr=async(t,e)=>{await ha(t),await wa(t,"checkout"),await ya(t);const a=(t=>"target"in t&&void 0!==t.target)(e),r=(t=>"paths"in t&&void 0!==t.paths)(e);if(a&&r)throw s("paths","cannot be combined with target");if(!a&&!r)throw s("target","either target or paths must be provided");t.progress.start(Ja);try{return r?await(async(t,e)=>{if(0===e.paths.length)throw s("paths","must not be empty");const a=e.source??"index",{matcher:r,literalMustMatch:n}=Ea(e.paths),i=(await(async(t,e)=>{if("index"===e)return(await Y(t)).entries.map(t=>t.path);const a=await Qa(t,e),r=[];for await(const e of rt(t,a))e.mode!==N.DIRECTORY&&r.push(e.path);return r})(t,a)).filter(t=>ne(r,t));Ia(n,i);const o=new Set(i);if(0===o.size)return{branch:void 0,id:await Z(t,"HEAD"),detached:!1,changedPaths:0};const c="index"===a?await(async(t,e)=>{const a=await Y(t),r=await nt(t,a.entries);return at(t,{targetTree:r,currentIndex:a,force:!0,forceRewriteAll:!0,paths:e})})(t,o):await(async(t,e,a)=>{const r=await ca(t);try{const n=await Y(t),s=await at(t,{targetTree:e,currentIndex:n,force:!0,forceRewriteAll:!0,paths:a});return await r.commit(s.newIndexEntries),s}finally{await r.release()}})(t,await Qa(t,a),o);return{branch:void 0,id:await Z(t,"HEAD"),detached:!1,changedPaths:c.written+c.deleted}})(t,e):await(async(t,e)=>{const a=!0===e.detach||/^[0-9a-f]{40}$/.test(e.target);let r,n;if(a)n=await(async(t,e)=>/^[0-9a-f]{40}$/.test(e)?e:Z(t,e))(t,e.target);else{if(r=J(`refs/heads/${e.target}`),!await t.fs.exists(`${t.layout.gitDir}/${r}`))throw u(r);n=await Z(t,r)}const s=await et(t,n),i=await ca(t);let o;try{const a=await Y(t);o=await at(t,{targetTree:s.id,currentIndex:a,force:e.force??!1}),0===o.written&&0===o.deleted||await i.commit(o.newIndexEntries)}finally{await i.release()}return a?(await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${n}\n`),{branch:void 0,id:n,detached:!0,changedPaths:o.written+o.deleted}):(await tt(t,"HEAD",r),{branch:r,id:n,detached:!1,changedPaths:o.written+o.deleted})})(t,e)}finally{t.progress.end(Ja)}},er=async(t,e)=>{const a=J(e.initialBranch),r=t.layout.gitDir;try{await t.fs.mkdir(r),await t.fs.writeUtf8(`${r}/HEAD`,`ref: refs/heads/${a}\n`),await t.fs.writeUtf8(`${r}/config`,(n=e.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${n?"true":"false"}\n`)),await t.fs.mkdir(`${r}/refs/heads`),await t.fs.mkdir(`${r}/refs/tags`),await t.fs.mkdir(`${r}/objects/info`),await t.fs.mkdir(`${r}/objects/pack`),await t.fs.writeUtf8(`${r}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await t.fs.writeUtf8(`${r}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(e){throw await t.fs.rmRecursive(r).catch(()=>{}),e}var n;return{gitDir:r,initialBranch:a,bare:e.bare}},ar={attempts:3,backoff:"exponential",baseMs:250,maxDelayMs:5e3},rr=(t,e={})=>{const a=void 0!==e.logger?nr(e.logger):void 0;let r=t.transport;return r=Rt(e.retry??ar)(r),void 0!==e.auth&&(r=Tt(e.auth)(r)),void 0!==a&&(r=Nt({logger:a})(r)),r},nr=t=>({log:e=>t.log(sr(e))}),sr=t=>"request"===t.kind||"response"===t.kind?{...t,url:or(t.url),headers:ir(t.headers)}:{...t,url:or(t.url),errorMessage:or(t.errorMessage)},ir=t=>{const e={};for(const[a,r]of Object.entries(t))e[a]=or(r);return e},or=t=>{let e="";for(let a=0;a<t.length;a+=1){const r=t.charCodeAt(a);e+=9===r||10===r?t[a]:r<32||r>126?`\\x${r.toString(16).padStart(2,"0").toUpperCase()}`:t[a]}return e},cr={"git-upload-pack":"application/x-git-upload-pack-advertisement","git-receive-pack":"application/x-git-receive-pack-advertisement"},dr=async(t,e,a,r)=>{const n=st(a,r),s=await e.request({url:n,method:"GET",headers:{accept:cr[r]},...void 0!==t.signal?{signal:t.signal}:{}});if(200!==s.statusCode)throw l(s.statusCode,`${r} discovery returned ${s.statusCode}`);const i=ot(Ht(s.body));return it(i,r)},fr=async(t,e,a)=>dr(t,e,a,"git-upload-pack"),ur=t=>{const e=ft.filter(t=>"multi_ack_detailed"!==t&&"thin-pack"!==t&&"no-progress"!==t&&t!==dt);return[...ct(t,e),dt]},lr=t=>{const e=new Set,a=[];for(const r of t)e.has(r.id)||(e.add(r.id),a.push(r.id));return a},hr=async(t,e)=>{wr(t);const a=mr(t);pr(a,e.allowInsecure??!1),yr(a);const r=await e.resolver(a.hostname);return{url:t,pinnedAddress:gr(r,e.allowPrivateNetworks??!1)}},wr=t=>{for(let e=0;e<t.length;e+=1){const a=t.charCodeAt(e);if(10===a||13===a)throw h("contains forbidden control character")}},mr=t=>{try{return new URL(t)}catch{throw h("not a valid URL")}},pr=(t,e)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!e))throw w(a.replace(":",""))},yr=t=>{if(""!==t.hash)throw h("URL fragment is not allowed")},gr=(t,e)=>{for(const a of t)if(e||!br(a))return a;if(0===t.length)throw m("<unresolved>","no DNS records returned");throw m(t[0],"all resolved addresses are in a blocked range")},br=t=>t.includes(":")?kr(t):vr(t),vr=t=>{const e=(t=>{const e=t.split(".");if(4!==e.length)return;const a=[];for(const t of e){if(!/^\d{1,3}$/.test(t))return;const e=Number(t);if(e>255)return;a.push(e)}return a})(t);if(void 0===e)return!1;const[a,r]=e;return 0===a||10===a||100===a&&r>=64&&r<=127||127===a||169===a&&254===r||172===a&&r>=16&&r<=31||192===a&&168===r||a>=224},kr=t=>{const e=t.toLowerCase(),a=e.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==a?.[1])return vr(a[1]);const r=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==r?.[1]&&void 0!==r[2]){const t=parseInt(r[1],16),e=parseInt(r[2],16);return vr(`${t>>8}.${255&t}.${e>>8}.${255&e}`)}return!!("::1"===e||"::"===e||e.startsWith("fe80:")||e.startsWith("fe80::")||e.startsWith("ff")||e.startsWith("fc")||e.startsWith("fd"))},$r="clone:discover",Er=async(t,e)=>{if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw p(t.layout.workDir);if(""===e.url)throw y();t.progress.start($r);try{void 0!==e.resolver&&await hr(e.url,{resolver:e.resolver,...void 0!==e.allowInsecure?{allowInsecure:e.allowInsecure}:{},...void 0!==e.allowPrivateNetworks?{allowPrivateNetworks:e.allowPrivateNetworks}:{}});const a=await er(t,{initialBranch:e.initialBranch??"main",bare:e.bare??!1});try{return await xr(t,e,a.gitDir)}catch(e){throw await t.fs.rmRecursive(t.layout.gitDir).catch(()=>{}),e}}finally{t.progress.end($r)}},xr=async(t,e,a)=>{const r=rr(t,{...void 0!==t.config?.auth?{auth:t.config.auth}:{}}),n=await fr(t,r,e.url);if(0===n.refs.length)throw y();const s=ur(n.capabilities),i=lr(n.refs),o=await ut(t,r,{wants:i,haves:[],capabilities:s,url:e.url,progressOp:"clone:write-objects",...void 0!==e.depth?{depth:e.depth}:{}});o.shallow.length>0&&await lt(t,{shallow:o.shallow,unshallow:o.unshallow});const c=await Dr(t,n);return{path:a,head:await Mr(t,n),fetchedRefs:c}},Dr=async(t,e)=>{const a=Sr(e),r=[];for(const n of e.refs)if("HEAD"!==n.name){if(n.name.startsWith("refs/heads/")){const e=n.name.slice(11),s=`refs/remotes/origin/${e}`;if(await Ir(t,s,n.id),r.push({name:s,id:n.id}),void 0!==a&&e===a){const e=n.name;await Ir(t,e,n.id),r.push({name:e,id:n.id})}continue}if(n.name.startsWith("refs/tags/")){const e=n.name;await Ir(t,e,n.id),r.push({name:e,id:n.id});continue}t.logger?.debug?.("clone: skipping unsupported ref namespace",{name:n.name})}return r},Ir=async(t,e,a)=>{const r=`${t.layout.gitDir}/${e}`;await t.fs.writeUtf8(r,`${a}\n`)},Sr=t=>{const e=t.capabilities.find(t=>t.startsWith("symref=HEAD:refs/heads/"));if(void 0!==e)return e.slice(23)},Mr=async(t,e)=>{const a=Sr(e);if(void 0!==a){const e=`refs/heads/${a}`;return await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`ref: ${e}\n`),e}void 0===e.head||await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${e.head.id}\n`)},Ar=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw g()},Lr=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.author)return t.author;if(void 0!==t.configUser)return t.configUser;throw g()},Ur=(t,e)=>{const a=t.trim();if(""===a&&!e.allowEmpty)throw b();return a},Or=t=>`${t.layout.gitDir}/MERGE_HEAD`,_r=t=>`${t.layout.gitDir}/MERGE_MSG`,Rr=async(t,e)=>{await ha(t),await wa(t,"commit");const a=await(async t=>{const e=Or(t);if(!await t.fs.exists(e))return;const a=(await t.fs.readUtf8(e)).trim();return 0!==a.length?ht.from(a):void 0})(t);await ya(t,void 0!==a?{except:"merge"}:{});const r=await Tr(t,e,a),n=await Fe(t),s=Fr(n.user),i=Ar(Wr(e.author,s)),o=Lr(Cr(e.committer,i,s)),c=await Y(t);Hr(c.entries);const d=await zr(t,c.entries),f=await ma(t),u="symbolic"===f.kind?await Pr(t,f.target):f.id,l=Nr(u,a);if(!e.allowEmpty&&void 0!==u&&void 0===a&&await Br(t,u)===d)throw v();const h={tree:d,parents:l,author:i,committer:o,message:r,extraHeaders:[]},w=await wt(t,h),m="symbolic"===f.kind?f.target:void 0;return void 0!==m?await Q(t,m,w,void 0!==u?{expected:u}:{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${w}\n`),void 0!==a&&await(async t=>{for(const e of[Or(t),_r(t)])await t.fs.exists(e)&&await t.fs.rm(e)})(t),{id:w,tree:d,branch:m,parents:l}},Tr=async(t,e,a)=>{if(e.message.length>0||void 0===a)return Ur(e.message,{allowEmpty:e.allowEmptyMessage??!1});const r=await(async t=>{const e=_r(t);if(await t.fs.exists(e))return t.fs.readUtf8(e)})(t);return Ur(r??"",{allowEmpty:e.allowEmptyMessage??!1})},Nr=(t,e)=>{const a=[];return void 0!==t&&a.push(t),void 0!==e&&a.push(e),a},Hr=t=>{const e=new Set;for(const a of t)0!==a.flags.stage&&e.add(a.path);if(e.size>0)throw k(e.size,[...e])},Fr=t=>{if(void 0!==t)return{name:t.name,email:t.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}},Wr=(t,e)=>{const a={};return void 0!==t&&(a.explicit=t),void 0!==e&&(a.configUser=e),a},Cr=(t,e,a)=>{const r={};return void 0!==t&&(r.explicit=t),void 0!==e&&(r.author=e),void 0!==a&&(r.configUser=a),r},Pr=async(t,e)=>{try{return await Z(t,e)}catch{return}},Br=async(t,e)=>{const a=await mt(t,e);return"commit"!==a.type?ht.from("0".repeat(40)):a.data.tree},zr=async(t,e)=>{const a={files:new Map,subdirs:new Map};for(const t of e)jr(a,t.path.split("/"),t);return Vr(t,a)},jr=(t,e,a)=>{if(1===e.length)return void t.files.set(e[0],{id:a.id,mode:a.mode});const[r,...n]=e,s=r;let i=t.subdirs.get(s);void 0===i&&(i={files:new Map,subdirs:new Map},t.subdirs.set(s,i)),jr(i,n,a)},Vr=async(t,e)=>{const a=[];for(const[t,r]of e.files)a.push({mode:r.mode,name:t,id:r.id});const r=await Promise.all(Array.from(e.subdirs).map(async([e,a])=>({name:e,id:await Vr(t,a)})));for(const{name:t,id:e}of r)a.push({mode:"40000",name:t,id:e});return pt(t,a)},Gr=async(t,e={})=>{await ha(t);const a=await qr(t,e.from??"HEAD"),r=void 0!==e.to?await qr(t,e.to):void 0;return yt(t,a,r,!0===e.detectRenames?{detectRenames:!0}:{})},qr=async(t,e)=>{const a=/^[0-9a-f]{40}$/.test(e)?e:await Z(t,J(e)),r=await mt(t,a);return"commit"===r.type?r.data.tree:a},Yr="fetch:negotiate",Xr=async(t,e={})=>{await ha(t);const a=e.remote??"origin",r=await Kr(t,a);t.progress.start(Yr);try{const n=rr(t,void 0!==t.config?.auth?{auth:t.config.auth}:{}),s=await fr(t,n,r);if(0===s.refs.length)throw y();const i=ur(s.capabilities),o=lr(s.refs),c=await Zr(t,a),d=await ut(t,n,{wants:o,haves:c,capabilities:i,url:r,progressOp:"fetch:write-objects",...void 0!==e.depth?{depth:e.depth}:{}});(d.shallow.length>0||d.unshallow.length>0)&&await lt(t,{shallow:d.shallow,unshallow:d.unshallow});return{remote:a,url:r,updatedRefs:await an(t,a,s),prunedRefs:!0===e.prune?await on(t,a,s):[],shallow:d.shallow,unshallow:d.unshallow}}finally{t.progress.end(Yr)}},Kr=async(t,e)=>{const a=await Fe(t),r=a.remote?.get(e);if(void 0===r?.url)throw $(e);return r.url},Zr=async(t,e)=>{const a=await Jr(t,e);if(0===a.length)return[];const r=new Set,n=[];for(const t of a)if(!r.has(t)&&(r.add(t),n.push(t),n.length>=gt))return n;const s=a.slice(0,bt);for await(const e of vt(t,{from:s,ignoreMissing:!0,verifyHash:!1}))if(!r.has(e.id)&&(r.add(e.id),n.push(e.id),n.length>=gt))break;return n},Jr=async(t,e)=>{const a=[],r=[`refs/remotes/${e}`,"refs/tags"];for(const e of r){const r=`${t.layout.gitDir}/${e}`;await t.fs.exists(r)&&await Qr(t,r,a)}const n=`refs/remotes/${e}/`,s=await kt(t).getPackedRefs();for(const t of s.entries)(t.name.startsWith(n)||t.name.startsWith("refs/tags/"))&&a.push(t.id);return a},Qr=async(t,e,a)=>{const r=await t.fs.readdir(e);for(const n of r){const r=`${e}/${n.name}`;if(n.isDirectory){await Qr(t,r,a);continue}const s=(await t.fs.readUtf8(r)).trim();en(s)&&a.push(s)}},tn=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,en=t=>tn.test(t),an=async(t,e,a)=>{const r=[];for(const n of a.refs){const a=rn(e,n);if(void 0===a)continue;const s=await sn(t,a);s!==n.id?(await Q(t,a,n.id),r.push({name:a,oldId:s,newId:n.id})):r.push({name:a,oldId:s,newId:n.id})}return r},rn=(t,e)=>{if("HEAD"!==e.name&&nn(e.name)){if(e.name.startsWith("refs/heads/")){const a=`refs/remotes/${t}/${e.name.slice(11)}`;if(!nn(a))return;return a}return e.name.startsWith("refs/tags/")?e.name:void 0}},nn=t=>{try{return J(t),!0}catch{return!1}},sn=async(t,e)=>{J(e);const a=`${t.layout.gitDir}/${e}`;if(!await t.fs.exists(a))return;const r=(await t.fs.readUtf8(a)).trim();return en(r)?r:void 0},on=async(t,e,a)=>{const r=new Set(a.refs.filter(t=>t.name.startsWith("refs/heads/")).map(t=>t.name.slice(11))),n=`${t.layout.gitDir}/refs/remotes/${e}`;if(!await t.fs.exists(n))return[];const s=[];return await cn(t,n,"",r,e,s),s},cn=async(t,e,a,r,n,s)=>{const i=await t.fs.readdir(e);for(const o of i){const i=`${e}/${o.name}`,c=""===a?o.name:`${a}/${o.name}`;if(o.isDirectory){await cn(t,i,c,r,n,s);continue}if(r.has(c))continue;const d=`refs/remotes/${n}/${c}`;if(!nn(d)){t.logger?.warn?.("fetch.prune: skipping unsafe ref name",{name:d});continue}const f=d;try{await Q(t,f,"0".repeat(40),{delete:!0})}catch(e){if(dn(e)){t.logger?.warn?.("fetch.prune: skipping packed-only ref",{name:f});continue}throw e}s.push(f)}},dn=e=>e instanceof t&&"UNSUPPORTED_OPERATION"===e.data.code&&"delete-packed-ref"===e.data.operation,fn=async(e,a={})=>{const r=a.initialBranch??"main",n=a.bare??!1;if(await e.fs.exists(`${e.layout.gitDir}/HEAD`))throw new t({code:"ALREADY_INITIALIZED",path:e.layout.gitDir});const s=await er(e,{initialBranch:r,bare:n});return{path:s.gitDir,initialBranch:s.initialBranch,bare:s.bare}},un=async(t,e={})=>{await ha(t);const a=await ln(t,e.from??"HEAD"),r=await hn(t,e.excluding??[]),n=e.before,s=[];let i=0;for await(const o of vt(t,{from:[a],until:r,order:"first-parent"}))if(!(void 0!==n&&o.data.committer.timestamp>=n.getTime()/1e3)&&(s.push({id:o.id,tree:o.data.tree,parents:o.data.parents,author:o.data.author,committer:o.data.committer,message:o.data.message}),i+=1,void 0!==e.limit&&i>=e.limit))break;return s},ln=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a=[e,`refs/heads/${e}`,`refs/tags/${e}`];for(const e of a)try{return await Z(t,J(e))}catch{}return Z(t,J(e))},hn=async(t,e)=>{const a=[];for(const r of e)if(/^[0-9a-f]{40}$/.test(r))a.push(r);else try{a.push(await Z(t,J(r)))}catch{}return a},wn=async(t,e)=>{const a=new Map;for await(const r of rt(t,e))r.mode!==N.DIRECTORY&&a.set(r.path,{id:r.id,mode:r.mode});return{entries:a}},mn=async(t,e)=>{await ha(t),await wa(t,"merge"),await ya(t);const a=await ma(t);if("symbolic"!==a.kind)throw E("merge","cannot merge with detached HEAD");const r=await Z(t,a.target),n=await Fn(t,e.target);if(r===n)return{kind:"up-to-date",id:r};const s=await $t(t,r,n);if(s===n)return{kind:"up-to-date",id:r};if(s===r&&!0!==e.noFastForward)return await Q(t,a.target,n,{expected:r}),{kind:"fast-forward",id:n,branch:a.target};if(!0===e.fastForwardOnly)throw x(a.target,r,n);return gn(t,e,a.target,r,n,s)},pn="merge:write-files",yn=new Set(["rename-rename","gitlink"]),gn=async(t,e,a,r,n,s)=>{t.progress.start(pn);try{const i=await vn(t,r,n,s);return"conflict"===i.kind?xn(t,e,i,r,n):bn(t,e,a,r,n,i.tree)}finally{t.progress.end(pn)}},bn=async(t,e,a,r,n,s)=>{const i=await Nn(t,e),o={tree:s,parents:[r,n],author:i,committer:Hn(e,i),message:Ur(e.message??`Merge ${e.target}`,{allowEmpty:!1}),extraHeaders:[]},c=await wt(t,o);return await Q(t,a,c,{expected:r}),{kind:"merge",id:c,branch:a,parents:[r,n]}},vn=async(t,e,a,r)=>{const n=await Wn(t,e),s=await Wn(t,a),i=void 0!==r?await Wn(t,r):void 0,[o,c,d]=await Promise.all([wn(t,n),wn(t,s),void 0!==i?wn(t,i):Promise.resolve(void 0)]),f=kn(t),u=await async function(t,e,a,r){Se(t,"base"),Se(e,"ours"),Se(a,"theirs");const n=function(t,e,a){const r=new Set;for(const n of[t,e,a])if(void 0!==n)for(const t of n.entries.keys())r.add(t);if(r.size>R)throw oe("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES");return r}(t,e,a),s=_([...n],t=>t),i=[];for(const n of s){const s=Ue(n,t?.entries.get(n),e?.entries.get(n),a?.entries.get(n),r),o=s instanceof Promise?await s:s;i.push(o)}const o=function(t){const e=[];for(const a of t)"conflict"===a.status&&e.push(a.conflict);return e}(i);return{outcomes:i,conflicts:o,cleanMerge:0===o.length}}(d,o,c,f);return u.cleanMerge?{kind:"clean",tree:await $n(t,u.outcomes)}:{kind:"conflict",outcomes:u.outcomes,conflicts:u.conflicts}},kn=t=>async(e,a,r,n)=>{const[s,i,o]=await Promise.all([Dt(t,e.ourId,{maxBytes:de}),Dt(t,e.theirId,{maxBytes:de}),void 0!==e.baseId?Dt(t,e.baseId,{maxBytes:de}):Promise.resolve(void 0)]);return function(t,e,a,r={}){if(zt(e)||zt(a)||void 0!==t&&zt(t))return{status:"conflict",conflictType:"binary",markedBytes:e};if(void 0===t)return ge(e,a)?{status:"clean",bytes:e}:De(Bt(e),Bt(a),r);if(ge(e,t))return{status:"clean",bytes:a};if(ge(a,t))return{status:"clean",bytes:e};if(ge(e,a))return{status:"clean",bytes:e};const n=Yt(t,e),s=Yt(t,a);if(n.degraded||s.degraded)return De(Bt(e),Bt(a),r);const i=function(t,e){const a=[],r=new Set;for(const n of t){const t=Ee(n,e);if(void 0===t){if(xe(n,e))return;a.push(n)}else r.add(t),a.push(n)}for(const t of e)r.has(t)||a.push(t);return a.sort((t,e)=>t.baseStart-e.baseStart),{changes:a}}(ke(n.hunks,n.theirsLines),ke(s.hunks,s.theirsLines));if(void 0===i)return De(Bt(e),Bt(a),r);return{status:"clean",bytes:ve(function(t,e){const a=[];let r=0;for(const n of e.changes){for(let e=r;e<n.baseStart;e++)a.push(t[e]);for(const t of n.replacement)a.push(t);r=n.baseEnd}for(let e=r;e<t.length;e++)a.push(t[e]);return a}(n.oursLines,i))}}(o?.content,s.content,i.content)},$n=async(t,e)=>{const a=await(async(t,e)=>{const a=[];for(const r of e)if("resolved-deleted"!==r.status&&"conflict"!==r.status){if("resolved-merged"===r.status){const e=await K(t,{type:"blob",content:r.bytes,id:""});a.push({path:r.path,id:e,mode:r.mode});continue}a.push({path:r.path,id:r.id,mode:r.mode})}return a})(t,e);return En(t,a)},En=async(t,e,a=0)=>{if(a>4096)throw xt(a);const{files:r,subdirs:n}=(t=>{const e=[],a=new Map;for(const r of t){const t=r.path.indexOf("/");if(-1===t){e.push(r);continue}const n=r.path.slice(0,t),s={path:r.path.slice(t+1),id:r.id,mode:r.mode},i=a.get(n);void 0===i?a.set(n,[s]):i.push(s)}return{files:e,subdirs:a}})(e),s=await Promise.all(Array.from(n,async([e,r])=>({name:e,id:await En(t,r,a+1),mode:N.DIRECTORY}))),i=r.map(t=>({name:t.path,id:t.id,mode:t.mode}));return pt(t,[...i,...s])},xn=async(t,e,a,r,n)=>{Dn(a.conflicts);const s=await ca(t);try{await In(t,a.outcomes,a.conflicts),await(async(t,e)=>{await t.fs.writeUtf8((t=>`${t.layout.gitDir}/ORIG_HEAD`)(t),`${e}\n`)})(t,r),await(async(t,e)=>{await t.fs.writeUtf8(Or(t),`${e}\n`)})(t,n);const i=Ur(e.message??`Merge ${e.target}`,{allowEmpty:!1});await(async(t,e)=>{await t.fs.writeUtf8(_r(t),e)})(t,i);const o=Tn(a.outcomes,a.conflicts);await s.commit(o)}finally{await s.release()}return{kind:"conflict",conflicts:a.conflicts.map(t=>({path:t.path,type:t.type})),mergeHead:n,origHead:r}},Dn=t=>{for(const e of t)if(yn.has(e.type))throw E("merge",`conflict type '${e.type}' not supported in v1 (path=${e.path})`)},In=async(t,e,a)=>{await Sn(e,32,e=>Mn(t,e)),await Sn(a,32,e=>An(t,e))},Sn=async(t,e,a)=>{let r=0;const n=[],s=async()=>{for(;r<t.length;){const e=t[r++];if(void 0===e)break;await a(e)}},i=Math.min(e,t.length);for(let t=0;t<i;t++)n.push(s());await Promise.all(n)},Mn=async(t,e)=>{if("unchanged"===e.status||"resolved-known"===e.status){const a=await Dt(t,e.id,{maxBytes:de});return void await Un(t,e.path,a.content)}"resolved-merged"!==e.status?"resolved-deleted"===e.status&&await On(t,e.path):await Un(t,e.path,e.bytes)},An=async(t,e)=>{const a=await Ln(t,e);void 0!==a&&await Un(t,e.path,a)},Ln=async(t,e)=>{if("content"===e.type&&void 0!==e.conflictContent)return e.conflictContent;if("binary"===e.type&&void 0!==e.ourId)return(await Dt(t,e.ourId,{maxBytes:de})).content;if(("add-add"===e.type||"type-change"===e.type)&&void 0!==e.ourId)return(await Dt(t,e.ourId,{maxBytes:de})).content;if("modify-delete"===e.type){const a=e.ourId??e.theirId;if(void 0!==a)return(await Dt(t,a,{maxBytes:de})).content}if("content"===e.type&&void 0!==e.ourId&&void 0!==e.theirId){const[a,r]=await Promise.all([Dt(t,e.ourId,{maxBytes:de}),Dt(t,e.theirId,{maxBytes:de})]);return ye([a.content],[r.content])}},Un=async(t,e,a)=>{const r=`${t.layout.workDir}/${e}`,n=_n(r);void 0!==n&&await t.fs.mkdir(n),await t.fs.write(r,a)},On=async(t,e)=>{const a=`${t.layout.workDir}/${e}`;await t.fs.exists(a)&&await t.fs.rm(a)},_n=t=>{const e=t.lastIndexOf("/");if(!(e<=0))return t.slice(0,e)},Rn=t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t,uid:0,gid:0,fileSize:0}),Tn=(t,e)=>{const a=[];for(const e of t)"unchanged"!==e.status&&"resolved-known"!==e.status||a.push({...Rn(e.mode),id:e.id,flags:{assumeValid:!1,extended:!1,stage:0},path:e.path});const r=function(t,e){const a=new Set;for(const e of t){if(a.has(e.path))throw Ft("duplicate conflict path");a.add(e.path)}const r=[];for(const a of t)for(const t of Wt(a))r.push(Ct(a.path,t,e));return r.sort((t,e)=>{const a=L(t.path,e.path);return 0!==a?a:t.flags.stage-e.flags.stage}),r}(e,Rn),n=[...a,...r];return n.sort((t,e)=>t.path<e.path?-1:t.path>e.path?1:t.flags.stage-e.flags.stage),n},Nn=async(t,e)=>{const a=await Fe(t),r=a.user?{name:a.user.name,email:a.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,n={};return void 0!==e.author&&(n.explicit=e.author),void 0!==r&&(n.configUser=r),Ar(n)},Hn=(t,e)=>{const a={author:e};return void 0!==t.committer&&(a.explicit=t.committer),Lr(a)},Fn=async(t,e)=>/^[0-9a-f]{40}$/.test(e)?e:Z(t,`refs/heads/${e}`),Wn=async(t,e)=>{const a=await mt(t,e);if("commit"!==a.type)throw Et("commit",a.type,e);return a.data.tree},Cn=t=>"HEAD"===t||t.includes("/")?t:`refs/heads/${t}`,Pn=t=>{if(""===t)throw St(t,"refspec must not be empty");let e=t,a="normal";if(e.startsWith("+")&&(a="force",e=e.slice(1)),""===e)throw St(t,"refspec must not be empty after force prefix");const r=Bn(e,":");if(r>1)throw St(t,"refspec must contain at most one colon");if(0===r){const t=Cn(e);return{force:a,src:t,dst:t,isDelete:!1}}const n=e.indexOf(":"),s=e.slice(0,n),i=e.slice(n+1);if(""===i)throw St(t,"destination must not be empty");const o=Cn(i);if("HEAD"===o)throw St(t,"destination must not be HEAD");return""===s?{force:a,src:"",dst:o,isDelete:!0}:{force:a,src:Cn(s),dst:o,isDelete:!1}},Bn=(t,e)=>{let a=0;for(let r=0;r<t.length;r+=1)t[r]===e&&(a+=1);return a},zn="push:enumerate-objects",jn="push:upload",Vn=ht.from("0".repeat(40)),Gn="refs/heads/",qn=new Set(["side-band-64k","side-band"]),Yn=async(t,e={})=>{await ha(t),t.progress.start(zn);try{const a=e.remote??"origin",r=await Kn(t,a),n=await Zn(t,e.refspecs),s=rr(t,void 0!==t.config?.auth?{auth:t.config.auth}:{}),i=await(async(t,e,a)=>dr(t,e,a,"git-receive-pack"))(t,s,r),o=(await Jn(t,n,i,a,e)).filter(t=>t.localOid!==t.remoteOid);return 0===o.length?{remote:a,url:r,pushedRefs:[]}:{remote:a,url:r,pushedRefs:await ss(t,s,r,i,o,a)}}finally{t.progress.end(zn)}},Xn=/^[A-Za-z0-9._-]+$/,Kn=async(t,e)=>{if(!Xn.test(e))throw s("remote",`invalid remote name: ${e}`);const a=await Fe(t),r=a.remote?.get(e);if(void 0===r?.url)throw $(e);return r.url},Zn=async(t,e)=>{if(void 0!==e&&e.length>0)return e.map(Pn);const a=await ma(t);if("symbolic"!==a.kind)throw s("refspecs","no-default-refspec (HEAD is detached)");const r=a.target;return[Pn(`${r}:${r}`)]},Jn=async(t,e,a,r,n)=>{const s=Qn(a.refs),i=[];for(const a of e)i.push(await ts(t,a,s,r,n));return i},Qn=t=>{const e=new Map;for(const a of t)e.set(a.name,a.id);return e},ts=async(t,e,a,r,n)=>{const i=a.get(e.dst)??Vn;if(e.isDelete){if(i===Vn)throw s("refspecs",`delete target ${e.dst} is not advertised`);return{parsed:e,localOid:Vn,remoteOid:i}}const o=await Z(t,e.src);return await es(t,e,o,i,r,n),{parsed:e,localOid:o,remoteOid:i}},es=async(t,e,a,r,n,s)=>{const i=await as(t,e,n,s);if(void 0===i){if("force"!==e.force&&!0!==s.force&&r!==Vn&&!await rs(t,r,a))throw x(e.dst,a,r)}else if(i!==r)throw D(e.dst,"lease-mismatch",ns())},as=async(t,e,a,r)=>{if(void 0===r.forceWithLease)return;if("auto"!==r.forceWithLease)return r.forceWithLease;if(!e.dst.startsWith(Gn))throw s("forceWithLease","lease-on-non-branch");const n=e.dst.slice(11);return Z(t,`refs/remotes/${a}/${n}`)},rs=async(t,e,a)=>{for await(const r of vt(t,{from:[a],ignoreMissing:!0}))if(r.id===e)return!0;return!1},ns=()=>({unpackOk:!0,refUpdates:[]}),ss=async(t,e,a,r,n,s)=>{const i=n.filter(t=>!t.parsed.isDelete).map(t=>t.localOid),o=r.refs.map(t=>t.id),c=await is(t,i,o),d=await Mt(t,{oids:c}),f=(t=>{const e=It.filter(t=>t!==dt);return[...ct(t,e),dt]})(r.capabilities),u=(t=>{if(0===t.updates.length)throw H();const e=t.updates.map((e,a)=>((t,e)=>{const a=0===e.length?"":`\0${e.join(" ")}`;return _e.encode(`${t.oldId} ${t.newId} ${t.name}${a}\n`)})(e,0===a?t.capabilities:[])),a=F(e),r=new Uint8Array(a.byteLength+t.packfile.byteLength);return r.set(a,0),r.set(t.packfile,a.byteLength),r})({updates:n.map(os),capabilities:f,packfile:d.bytes}),l=await cs(t,e,a,u),h=await fs(t,l,f);if(!h.unpackOk)throw D(n[0]?.parsed.dst,h.unpackError??"unpack failed",h);return await ls(t,n,h.refUpdates,s)},is=async(t,e,a)=>{if(0===e.length)return[];const r=[];for await(const n of At(t,{wants:e,haves:a}))r.push(n);return r},os=t=>({name:t.parsed.dst,oldId:t.remoteOid,newId:t.localOid}),cs=async(t,e,a,r)=>{t.progress.start(jn);try{const n=ds(a),s=await e.request({url:n,method:"POST",headers:{"content-type":"application/x-git-receive-pack-request",accept:"application/x-git-receive-pack-result"},body:r,...void 0!==t.signal?{signal:t.signal}:{}});if(200!==s.statusCode)throw l(s.statusCode,`git-receive-pack returned ${s.statusCode}`);return s}finally{t.progress.end(jn)}},ds=t=>{let e;try{e=new URL(t)}catch{throw Lt("invalid URL")}if(""!==e.hash)throw Lt("fragment must not be set");const a=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname;return`${e.protocol}//${e.host}${a}/git-receive-pack${e.search}`},fs=async(t,e,a)=>{const r=Ht(e.body),n=ot(r);if(us(a)){const e=Ut(n,{onProgress:e=>t.progress.update(jn,0,void 0,I(e))});return Ne(ot(e))}return Ne(n)},us=t=>t.some(t=>qn.has(t)),ls=async(t,e,a,r)=>{const n=new Map;for(const t of a)n.set(t.name,t);const s=[];for(const a of e){const e=n.get(a.parsed.dst),i=!0===e?.accepted;i&&await hs(t,a,r),s.push({name:a.parsed.dst,oldId:a.remoteOid,newId:a.localOid,status:i?"ok":"rejected",...void 0!==e?.reason?{reason:e.reason}:{}})}return s},hs=async(t,e,a)=>{if(!e.parsed.dst.startsWith(Gn))return;if(e.parsed.isDelete)return;const r=`refs/remotes/${a}/${e.parsed.dst.slice(11)}`;ws(r)&&await Q(t,r,e.localOid)},ws=t=>{try{return J(t),!0}catch{return!1}},ms=async(t,e)=>{await ha(t),"hard"===e.mode&&await wa(t,"reset --hard"),await ya(t);const a=await gs(t,e.target);"mixed"===e.mode?await ps(t,a):"hard"===e.mode&&await ys(t,a);const r=await ma(t),n="symbolic"===r.kind?r.target:void 0;return void 0!==n?await Q(t,n,a,{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${a}\n`),{mode:e.mode,id:a,branch:n}},ps=async(t,e)=>{const a=await mt(t,e);if("commit"!==a.type)throw Et("commit",a.type,e);const r=await ca(t);try{const e=await Y(t),n=await Ot(t,{targetTree:a.data.tree,currentIndex:e});await r.commit(n)}finally{await r.release()}},ys=async(t,e)=>{const a=await mt(t,e);if("commit"!==a.type)throw Et("commit",a.type,e);const r=await ca(t);try{const e=await Y(t),n=await at(t,{targetTree:a.data.tree,currentIndex:e,force:!0,forceRewriteAll:!0});(n.written>0||n.deleted>0)&&await r.commit(n.newIndexEntries)}finally{await r.release()}},gs=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a="HEAD"===e?["HEAD"]:[e,`refs/heads/${e}`,`refs/tags/${e}`];for(const e of a)try{return await Z(t,e)}catch{}throw S(e)},bs=new Set(["commit","tree","blob","tag"]),vs=/^:(\d):(.+)$/,ks=/^[0-9a-f]{1,6}$/,$s=t=>{throw S(t)},Es=t=>{for(let e=0;e<t.length;e+=1){const a=t[e];if("~"===a||"^"===a)return e}return-1},xs=(t,e)=>{const a=[];let r=e;for(;r<t.length;){const e=t[r];if("~"===e){const e=Ds(t,r);a.push(e.op),r=e.next}else if("^"===e){const e=Is(t,r);a.push(e.op),r=e.next}else $s(t)}return a},Ds=(t,e)=>{let a=e+1;for(;a<t.length&&Ss(t.charCodeAt(a));)a+=1;return a===e+1&&$s(t),{op:{kind:"ancestor",n:Number(t.slice(e+1,a))},next:a}},Is=(t,e)=>{if("{"===t[e+1]){const a=t.indexOf("}",e+2);-1===a&&$s(t);const r=t.slice(e+2,a);return bs.has(r)||$s(t),{op:{kind:"peel",target:r},next:a+1}}let a=e+1;for(;a<t.length&&Ss(t.charCodeAt(a));)a+=1;const r=t.slice(e+1,a);return{op:{kind:"parent",n:""===r?1:Number(r)},next:a}},Ss=t=>t>=48&&t<=57,Ms=async(t,e)=>{await ha(t);const a=(""===(r=e)&&$s(r),r.startsWith(":")?(t=>{const e=vs.exec(t);null===e&&$s(t);const a=e[2],r=Number(e[1]);return r>3&&$s(t),{kind:"index-stage",stage:r,path:a}})(r):(r.includes("@{")&&$s(r),(t=>{const e=Es(t),a=-1===e?t:t.slice(0,e);return""===a&&$s(t),ks.test(a)&&-1===e&&$s(t),{kind:"ref-or-hex",base:a,operations:-1===e?[]:xs(t,e)}})(r)));var r;return As(t,a)},As=async(t,e)=>{if("index-stage"===e.kind)return Rs(t,e);let a=await Ls(t,e.base);for(const r of e.operations)a=await Us(t,a,r);return a},Ls=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return ht.from(e);const a=[e,`refs/heads/${e}`,`refs/tags/${e}`,`refs/remotes/${e}`];for(const e of a)try{return await Z(t,e)}catch{}throw _t(e)},Us=async(t,e,a)=>{if("parent"===a.kind)return Os(t,e,a.n);if("ancestor"===a.kind){let r=e;for(let e=0;e<a.n;e+=1)r=await Os(t,r,1);return r}return _s(t,e,a.target)},Os=async(t,e,a)=>{const r=await mt(t,e);if("commit"!==r.type)throw _t(e);const n=r.data.parents[a-1];if(void 0===n)throw _t(e);return n},_s=async(t,e,a)=>{let r=e;for(let e=0;e<5;e+=1){const e=await mt(t,r);if(e.type===a)return r;if("tag"!==e.type){if("tree"===a&&"commit"===e.type)return e.data.tree;throw _t(r)}r=e.data.object}throw _t(r)},Rs=async(t,e)=>{const a=await Y(t);for(const t of a.entries)if(t.path===e.path&&t.flags.stage===e.stage)return t.id;throw _t(`${e.stage}:${e.path}`)},Ts=async(e,a,r={})=>{if(await ha(e),await wa(e,"rm"),await ya(e),0===a.length)throw i();const{matcher:n,literalMustMatch:s}=Ea(a),o=await ca(e,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const a=await Y(e).catch(e=>{if(e instanceof t&&("FILE_NOT_FOUND"===(a=e.data.code)||"INVALID_INDEX_HEADER"===a||"INVALID_INDEX_ENTRY"===a))return{entries:[]};var a;throw e}),i=new Map;for(const t of a.entries)i.set(t.path,t);const c=[];for(const[t]of i)ne(n,t)&&c.push(t);Ia(s,c);for(const t of c)i.delete(t);if(!r.cached)for(const a of c)await ka(e,a).catch(e=>{if(!(e instanceof t&&"FILE_NOT_FOUND"===e.data.code))throw e});return await o.commit(Array.from(i.values())),{removed:c}}finally{await o.release()}},Ns="status:scan",Hs=async t=>{await ha(t);const e=await ma(t),a="symbolic"===e.kind?e.target:void 0,r="direct"===e.kind,n=await Y(t).catch(()=>({entries:[]})),s=new Map;for(const t of n.entries)s.set(t.path,t);t.progress.start(Ns);try{const e=((t,e)=>{let a=0,r=0;return{tick:()=>{a+=1;const n=Math.floor(a/100);n>r&&(r=n,t.update(e,a))}}})(t.progress,Ns),n=(await Promise.all(Array.from(s).map(async([a,r])=>{const n=await Ws(t,a,r);return e.tick(),n}))).filter(t=>void 0!==t),i=await sa(t),o=[];for await(const{path:e}of q(t,{ignore:i}))s.has(e)||o.push({kind:"untracked",path:e});o.sort(Fs);const c=[...n,...o];return{branch:a,detached:r,indexChanges:[],workingTreeChanges:c,clean:0===c.length}}finally{t.progress.end(Ns)}},Fs=(t,e)=>t.path<e.path?-1:1,Ws=async(t,e,a)=>void 0===await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{})?{kind:"deleted",path:e}:await Ps(t,e,a)?{kind:"modified",path:e}:void 0,Cs=new TextEncoder,Ps=async(t,e,a)=>{try{const r=await va(t,ga(e)),n=Cs.encode(`blob ${r.byteLength}\0`),s=new Uint8Array(n.byteLength+r.byteLength);return s.set(n,0),s.set(r,n.byteLength),await t.hash.hashHex(s)!==a.id}catch{return!0}},Bs="refs/tags/",zs=async(t,e)=>(await ha(t),"list"===e.kind?js(t):"create"===e.kind?Vs(t,e):Gs(t,e)),js=async t=>{const e=`${t.layout.gitDir}/refs/tags`;if(!await t.fs.exists(e))return{kind:"list",tags:[]};const a=await t.fs.readdir(e),r=[];for(const e of a){if(!e.isFile)continue;const a=`${Bs}${e.name}`,n=await Z(t,a);r.push({name:a,id:n})}return r.sort((t,e)=>t.name<e.name?-1:1),{kind:"list",tags:r}},Vs=async(e,a)=>{const r=J(`${Bs}${a.name}`),n=void 0!==a.target?a.target:await qs(e),s=/^[0-9a-f]{40}$/.test(n)?n:await Z(e,n);try{await Q(e,r,s,!0===a.force?{}:{expected:"absent"})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw M(r);throw e}return{kind:"create",name:r,id:s}},Gs=async(t,e)=>{const a=J(`${Bs}${e.name}`);if(!await t.fs.exists(`${t.layout.gitDir}/${a}`))throw A(a);return await Q(t,a,"0".repeat(40),{delete:!0}),{kind:"delete",name:a}},qs=async t=>{const e=await ma(t);return"direct"===e.kind?e.id:Z(t,e.target)};export{Ua as a,Va as b,tr as c,Er as d,Rr as e,Gr as f,Xr as g,Ms as h,fn as i,Ts as j,un as l,mn as m,Yn as p,ms as r,Hs as s,zs as t,hr as v};
2
- //# sourceMappingURL=index-BkRJ9-Im.js.map