@scolladon/tsgit 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -252
- package/dist/cjs/adapters/browser/index.cjs +1 -1
- package/dist/cjs/adapters/memory/index.cjs +1 -1
- package/dist/cjs/adapters/memory/index.cjs.map +1 -1
- package/dist/cjs/adapters/node/index.cjs +1 -1
- package/dist/cjs/adapters/node/index.cjs.map +1 -1
- package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs +2 -0
- package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs.map +1 -0
- package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
- package/dist/cjs/chunks/{error-CqLvhejR.cjs → error-CDLOBdNU.cjs} +2 -2
- package/dist/cjs/chunks/error-CDLOBdNU.cjs.map +1 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs +2 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs.map +1 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs +2 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs.map +1 -0
- package/dist/cjs/chunks/{logger-C8Z5BfFF.cjs → logger-CVG0zcPH.cjs} +2 -2
- package/dist/cjs/chunks/{logger-C8Z5BfFF.cjs.map → logger-CVG0zcPH.cjs.map} +1 -1
- package/dist/cjs/chunks/{memory-http-transport-Pjyme5KN.cjs → memory-http-transport-DXwDGKtR.cjs} +2 -2
- package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs.map +1 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs +2 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs.map +1 -0
- package/dist/cjs/chunks/{progress-CntEbiuo.cjs → progress-Bj2w-90A.cjs} +2 -2
- package/dist/cjs/chunks/{progress-CntEbiuo.cjs.map → progress-Bj2w-90A.cjs.map} +1 -1
- package/dist/cjs/chunks/repository-BJwTSiGf.cjs +2 -0
- package/dist/cjs/chunks/repository-BJwTSiGf.cjs.map +1 -0
- package/dist/cjs/commands/index.cjs +1 -1
- package/dist/cjs/index.browser.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.default.cjs +1 -1
- package/dist/cjs/index.node.cjs +1 -1
- package/dist/cjs/index.node.cjs.map +1 -1
- package/dist/cjs/primitives/index.cjs +1 -1
- package/dist/esm/adapters/browser/index.js +1 -1
- package/dist/esm/adapters/memory/index.js +1 -1
- package/dist/esm/adapters/memory/index.js.map +1 -1
- package/dist/esm/adapters/node/index.js +1 -1
- package/dist/esm/adapters/node/index.js.map +1 -1
- package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js +2 -0
- package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js.map +1 -0
- package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
- package/dist/esm/chunks/{error-BN9rdQ33.js → error-MOmSzp9Z.js} +2 -2
- package/dist/esm/chunks/error-MOmSzp9Z.js.map +1 -0
- package/dist/esm/chunks/index-BjmofbKE.js +2 -0
- package/dist/esm/chunks/index-BjmofbKE.js.map +1 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js +2 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js.map +1 -0
- package/dist/esm/chunks/{logger-BLZbLzva.js → logger-DP2cCpvL.js} +2 -2
- package/dist/esm/chunks/{logger-BLZbLzva.js.map → logger-DP2cCpvL.js.map} +1 -1
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js +2 -0
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js.map +1 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js +2 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js.map +1 -0
- package/dist/esm/chunks/{progress-DJU_f66N.js → progress-NePjO3Kd.js} +2 -2
- package/dist/esm/chunks/{progress-DJU_f66N.js.map → progress-NePjO3Kd.js.map} +1 -1
- package/dist/esm/chunks/repository-Cs-dbHqO.js +2 -0
- package/dist/esm/chunks/repository-Cs-dbHqO.js.map +1 -0
- package/dist/esm/commands/index.js +1 -1
- package/dist/esm/index.browser.js +1 -1
- package/dist/esm/index.default.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.node.js +1 -1
- package/dist/esm/index.node.js.map +1 -1
- package/dist/esm/primitives/index.js +1 -1
- package/dist/types/adapters/browser/index.d.cts +2 -1
- package/dist/types/adapters/browser/index.d.ts +2 -1
- package/dist/types/adapters/memory/index.d.cts +21 -2
- package/dist/types/adapters/memory/index.d.ts +21 -2
- package/dist/types/adapters/node/index.d.cts +64 -3
- package/dist/types/adapters/node/index.d.ts +64 -3
- package/dist/types/chunks/{context-o5TPfMB2.d.ts → context-BORy7yXb.d.ts} +97 -2
- package/dist/types/chunks/{context-D84z1i5F.d.cts → context-CMrHCVwK.d.cts} +97 -2
- package/dist/types/chunks/reflog-entry-BIf-zt__.d.cts +331 -0
- package/dist/types/chunks/reflog-entry-D9P2hCgv.d.ts +331 -0
- package/dist/types/chunks/{repository-23evW2h-.d.cts → repository-BqibvTOu.d.cts} +21 -3
- package/dist/types/chunks/{repository-BT7Xq1kJ.d.ts → repository-C4rN09Am.d.ts} +21 -3
- package/dist/types/chunks/write-tree-B8G6kgTy.d.cts +154 -0
- package/dist/types/chunks/write-tree-BXCDChvv.d.ts +154 -0
- package/dist/types/commands/index.d.cts +152 -6
- package/dist/types/commands/index.d.ts +152 -6
- package/dist/types/index.browser.d.cts +4 -4
- package/dist/types/index.browser.d.ts +4 -4
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.default.d.cts +4 -4
- package/dist/types/index.default.d.ts +4 -4
- package/dist/types/index.node.d.cts +4 -4
- package/dist/types/index.node.d.ts +4 -4
- package/dist/types/primitives/index.d.cts +192 -7
- package/dist/types/primitives/index.d.ts +192 -7
- package/package.json +40 -2
- package/dist/cjs/chunks/browser-http-transport-DcG05jw3.cjs +0 -2
- package/dist/cjs/chunks/browser-http-transport-DcG05jw3.cjs.map +0 -1
- package/dist/cjs/chunks/error-CqLvhejR.cjs.map +0 -1
- package/dist/cjs/chunks/index-BcxdLkNe.cjs +0 -2
- package/dist/cjs/chunks/index-BcxdLkNe.cjs.map +0 -1
- package/dist/cjs/chunks/index-D5Nd-Mks.cjs +0 -2
- package/dist/cjs/chunks/index-D5Nd-Mks.cjs.map +0 -1
- package/dist/cjs/chunks/memory-http-transport-Pjyme5KN.cjs.map +0 -1
- package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs +0 -2
- package/dist/cjs/chunks/node-http-transport-UkW5eEm3.cjs.map +0 -1
- package/dist/cjs/chunks/repository-B_jx2AKW.cjs +0 -2
- package/dist/cjs/chunks/repository-B_jx2AKW.cjs.map +0 -1
- package/dist/esm/chunks/browser-http-transport-COFgnEyq.js +0 -2
- package/dist/esm/chunks/browser-http-transport-COFgnEyq.js.map +0 -1
- package/dist/esm/chunks/error-BN9rdQ33.js.map +0 -1
- package/dist/esm/chunks/index-BdV37p4e.js +0 -2
- package/dist/esm/chunks/index-BdV37p4e.js.map +0 -1
- package/dist/esm/chunks/index-BkRJ9-Im.js +0 -2
- package/dist/esm/chunks/index-BkRJ9-Im.js.map +0 -1
- package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js +0 -2
- package/dist/esm/chunks/memory-http-transport-DRYdYgiE.js.map +0 -1
- package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js +0 -2
- package/dist/esm/chunks/node-http-transport-Bp5cFZCt.js.map +0 -1
- package/dist/esm/chunks/repository-DiagDiT_.js +0 -2
- package/dist/esm/chunks/repository-DiagDiT_.js.map +0 -1
- package/dist/types/chunks/diff-change-Bm1zvVsC.d.cts +0 -59
- package/dist/types/chunks/diff-change-alGRzD_j.d.ts +0 -59
- package/dist/types/chunks/write-tree-DNjhjS3t.d.ts +0 -282
- package/dist/types/chunks/write-tree-DVp0RJ_r.d.cts +0 -282
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./error-CqLvhejR.cjs"),e=require("./readable-stream-MTA6D0Zh.cjs");const n=1e6;function r(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 o=e=>new t.TsgitError({code:"INVALID_OBJECT_ID",value:e}),s=e=>new t.TsgitError({code:"INVALID_OBJECT_HEADER",reason:e}),i=(e,n)=>new t.TsgitError({code:"INVALID_TREE_ENTRY",offset:e,reason:n}),a=e=>new t.TsgitError({code:"INVALID_COMMIT",reason:e}),c=e=>new t.TsgitError({code:"INVALID_TAG",reason:e}),d=(e,n)=>new t.TsgitError({code:"INVALID_IDENTITY",line:e,reason:n}),f=e=>new t.TsgitError({code:"OBJECT_NOT_FOUND",id:e}),u=(e,n)=>new t.TsgitError({code:"OBJECT_HASH_MISMATCH",expected:e,actual:n}),h=(e,n,r)=>new t.TsgitError({code:"UNEXPECTED_OBJECT_TYPE",expected:e,actual:n,id:r}),l=e=>new t.TsgitError({code:"TREE_DEPTH_EXCEEDED",depth:e}),w=(e,n)=>new t.TsgitError({code:"TREE_ENTRY_LIMIT_EXCEEDED",count:e,limit:n}),p=(e,n,r)=>new t.TsgitError({code:"OBJECT_TOO_LARGE",id:e,actualSize:n,limit:r});function g(t){const e=t.lastIndexOf(">");if(-1===e)throw d(t,"missing closing angle bracket");const n=t.lastIndexOf("<",e);if(-1===n)throw d(t,"missing opening angle bracket");const r=t.slice(0,n),o=r.endsWith(" ")?r.slice(0,-1):r,s=t.slice(n+1,e),i=t.slice(e+1).trim().split(/\s+/);if(i.length<2)throw d(t,"missing timestamp or timezone");const a=Number(i[0]);if(!Number.isSafeInteger(a))throw d(t,"invalid timestamp");const c=i[1];if(!/^[+-]\d{4}$/.test(c))throw d(t,"invalid timezone offset");return{name:o,email:s,timestamp:a,timezoneOffset:c}}const m=/[\n\r\0]/;function y(t){const e=`${t.name} <${t.email}>`;if(m.test(t.name))throw d(e,"name contains forbidden control character");if(m.test(t.email))throw d(e,"email contains forbidden control character");if(m.test(t.timezoneOffset))throw d(e,"timezoneOffset contains forbidden control character");if(t.name.includes("<")||t.name.includes(">"))throw d(e,"invalid identity fields");if(t.email.includes("<")||t.email.includes(">"))throw d(e,"invalid identity fields");if(!/^[+-]\d{4}$/.test(t.timezoneOffset))throw d(e,"invalid identity fields");return`${t.name} <${t.email}> ${t.timestamp} ${t.timezoneOffset}`}const x=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function b(t){const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=x[t[n]];return e.join("")}function E(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 r=v(t.charCodeAt(n)),o=v(t.charCodeAt(n+1));if(-1===r||-1===o)throw new Error(`Invalid hex character at position ${n}`);e[n/2]=r<<4|o}return e}function v(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-87:-1}function T(t,e){const n=Math.min(t.length,e.length);for(let r=0;r<n;r++)if(t[r]!==e[r])return t[r]-e[r];return t.length-e.length}function k(t,e,n){for(let r=n;r<t.length;r++)if(t[r]===e)return r;return-1}const I=new TextEncoder,$=new TextDecoder;function D(t){return I.encode(t)}function A(t){return $.decode(t)}function S(t){const e=t.indexOf("\n\n");return-1===e?{headerPart:t,message:""}:{headerPart:t.slice(0,e),message:t.slice(e+2)}}function _(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 O(t){const e=t.indexOf(" ");return-1===e?{key:t,value:""}:{key:t.slice(0,e),value:t.slice(e+1)}}function L(t,e,n,r){let o;const s=[];let i=e;for(;i<t.length;){const{key:e,value:a}=O(t[i]);""===e&&n("unexpected continuation line without preceding header");const c=[a];let d=i;for(let e=i+1;e<t.length;e++){const n=t[e];if(!n.startsWith(" "))break;c.push(n.slice(1)),d=e}i=d+1;const f=c.join("\n");"gpgsig"===e?(void 0!==o&&r("duplicate gpgsig header"),o=f):s.push({key:e,value:f})}return{gpgSignature:o,extraHeaders:s}}const N=/^[0-9a-f]{40}$/,C=/^[0-9a-f]{64}$/,U={from(t){if(!N.test(t)&&!C.test(t))throw o(t);return t},fromRaw(t){if(20!==t.length&&32!==t.length)throw o(`raw bytes length ${t.length} is not 20 or 32`);return U.from(b(t))}};U.from("0000000000000000000000000000000000000000"),U.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904");const R={from(t){if(""===t)throw new Error("RefName must not be empty");return t}},P={from(t){if(""===t)throw new Error("FilePath must not be empty");return t}};const M={REGULAR:"100644",EXECUTABLE:"100755",SYMLINK:"120000",DIRECTORY:"40000",GITLINK:"160000"},j=new Set(Object.values(M)),W=new Map([["040000",M.DIRECTORY]]);function B(e){return function(e){if(!j.has(e))throw new t.TsgitError({code:"INVALID_FILE_MODE",value:e});return e}(W.get(e)??e)}function H(t){return t===M.DIRECTORY}const z=new Set(["blob","tree","commit","tag"]);function F(t){const e=k(t,0,0);if(-1===e)throw s("missing null terminator");const n=A(t.subarray(0,e)),r=n.indexOf(" ");if(-1===r)throw s("missing space between type and size");const o=n.slice(0,r);if(!z.has(o))throw s(`unknown object type: ${o}`);const i=n.slice(r+1),a=Number(i);if(!Number.isFinite(a)||a<0||i!==String(a))throw s(`invalid size: ${i}`);return{type:o,size:a,contentOffset:e+1}}const V=new Set(["blob","tree","commit","tag"]);function K(t){const e=t.map(t=>({entry:t,sortKey:G(t.name,H(t.mode))}));return e.sort((t,e)=>T(t.sortKey,e.sortKey)),e.map(t=>t.entry)}function Y(t,e){return T(G(t.name,H(t.mode)),G(e.name,H(e.mode)))}function G(t,e){const n=D(t);if(!e)return n;const r=new Uint8Array(n.length+1);return r.set(n),r[n.length]=47,r}function X(t,e,n){const{type:r,size:o,contentOffset:d}=F(e),f=e.subarray(d);if(f.length!==o)throw s(`size mismatch: header says ${o}, actual content is ${f.length}`);switch(r){case"blob":return function(t,e){return{type:"blob",id:t,content:e}}(t,f);case"tree":return function(t,e,n){const r=[],o=new Set;let s=0;for(;s<e.length;){const t=k(e,32,s);if(-1===t)throw i(s,"missing space after mode");const a=A(e.subarray(s,t)),c=k(e,0,t+1);if(-1===c)throw i(s,"missing null after name");const d=A(e.subarray(t+1,c));if(""===d||"."===d||".."===d||d.includes("/"))throw i(s,`invalid entry name: ${d}`);const f=c+1,u=f+n.digestLength;if(u>e.length)throw i(s,"truncated hash");const h=e.subarray(f,u),l=U.fromRaw(h),w=B(a);if(o.has(d))throw i(s,`duplicate entry name: ${d}`);o.add(d),r.push({mode:w,name:d,id:l}),s=u}return{type:"tree",id:t,entries:r}}(t,f,n);case"commit":return function(t,e){const{headerPart:n,message:r}=S(A(e)),o=n.split("\n"),{tree:s,parents:i,author:c,committer:d,nextIndex:f}=function(t){if(!t[0].startsWith("tree "))throw a("first line must be tree");const e=U.from(t[0].slice(5)),n=[];let r=1;for(;r<t.length&&t[r].startsWith("parent ");)n.push(U.from(t[r].slice(7))),r++;if(r>=t.length||!t[r].startsWith("author "))throw a("missing author");const o=g(t[r].slice(7));if(r++,r>=t.length||!t[r].startsWith("committer "))throw a("missing committer");const s=g(t[r].slice(10));return r++,{tree:e,parents:n,author:o,committer:s,nextIndex:r}}(o),{gpgSignature:u,extraHeaders:h}=function(t,e){return L(t,e,t=>{throw a(t)},t=>{throw a(t)})}(o,f);return{type:"commit",id:t,data:{tree:s,parents:i,author:c,committer:d,message:r,...void 0!==u?{gpgSignature:u}:{},extraHeaders:h}}}(t,f);case"tag":return function(t,e){const{headerPart:n,message:r}=S(A(e)),o=n.split("\n"),{object:s,objectType:i,tagName:a,nextIndex:d}=function(t){if(!t[0].startsWith("object "))throw c("first line must be object");const e=U.from(t[0].slice(7));if(t.length<2||!t[1].startsWith("type "))throw c("second line must be type");const n=t[1].slice(5);if(!V.has(n))throw c(`invalid object type: ${n}`);if(t.length<3||!t[2].startsWith("tag "))throw c("third line must be tag name");const r=t[2].slice(4);if(""===r||r.includes("\0")||r.includes("\n"))throw c(`invalid tag name: ${r}`);return{object:e,objectType:n,tagName:r,nextIndex:3}}(o),{tagger:f,nextIndex:u}=function(t,e){return e<t.length&&t[e].startsWith("tagger ")?{tagger:g(t[e].slice(7)),nextIndex:e+1}:{tagger:void 0,nextIndex:e}}(o,d),{gpgSignature:h,extraHeaders:l}=function(t,e){return L(t,e,t=>{throw c(t)},t=>{throw c(t)})}(o,u);return{type:"tag",id:t,data:{object:s,objectType:i,tagName:a,...void 0!==f?{tagger:f}:{},message:r,...void 0!==h?{gpgSignature:h}:{},extraHeaders:l}}}(t,f)}}function q(t,e){let n;switch(t.type){case"blob":n=t.content;break;case"tree":n=function(t,e){const n=K(t.entries).map(t=>({mode:D(t.mode),name:D(t.name),hash:E(t.id)})),r=n.reduce((t,n)=>t+n.mode.length+1+n.name.length+1+e.digestLength,0),o=new Uint8Array(r);let s=0;for(const t of n)o.set(t.mode,s),s+=t.mode.length,o[s++]=32,o.set(t.name,s),s+=t.name.length,o[s++]=0,o.set(t.hash,s),s+=t.hash.length;return o}(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 ${y(n.author)}`),e.push(`committer ${y(n.committer)}`),void 0!==n.gpgSignature&&e.push(_("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(_(t.key,t.value));return D(`${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 c(`invalid tag name: ${n.tagName}`);e.push(`tag ${n.tagName}`),void 0!==n.tagger&&e.push(`tagger ${y(n.tagger)}`),void 0!==n.gpgSignature&&e.push(_("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(_(t.key,t.value));return D(`${e.join("\n")}\n\n${n.message}`)}(t)}const r=D(`${t.type} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),o}function J(t){return t===M.REGULAR||t===M.EXECUTABLE?"file":t===M.SYMLINK?"symlink":t===M.DIRECTORY?"directory":"gitlink"}function Q(t,e){return J(t)===J(e)}const Z=new TextEncoder;function tt(t,e){const n=t.map(t=>({item:t,key:Z.encode(e(t))}));return n.sort((t,e)=>T(t.key,e.key)),n.map(t=>t.item)}function et(t,e){const n=e.get(t.newId);if(void 0===n||1!==n.length)return;const r=n[0];return{rename:{type:"rename",oldPath:r.oldPath,newPath:t.newPath,id:t.newId,mode:t.newMode},consumedDelete:r}}function nt(t){return{type:"add",newPath:t.name,newId:t.id,newMode:t.mode}}function rt(t){return{type:"delete",oldPath:t.name,oldId:t.id,oldMode:t.mode}}function ot(t,e){if(t.id!==e.id||t.mode!==e.mode)return Q(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 st(t){return void 0===t?[]:K(t.entries)}const it=e=>new t.TsgitError({code:"INVALID_INDEX_HEADER",reason:e}),at=(e,n)=>new t.TsgitError({code:"INVALID_INDEX_ENTRY",offset:e,reason:n}),ct=new Set(["",".",".."]),dt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),ft=t=>""===t?"empty segment rejected":"."===t?"'.' segment rejected":"'..' segment rejected",ut=t=>t<32||t>=127&&t<=159,ht=(t,e)=>{if(t.startsWith("/"))throw at(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(ut(n))return"control character rejected";if(dt.has(n))return"bidi control character rejected"}})(t);if(void 0!==n)throw at(e,n);for(const n of t.split("/"))if(ct.has(n))throw at(e,ft(n))};function lt(t,e){const n=!!(32768&t);if(16384&t)throw at(e,"extended flag not supported in v2");return{assumeValid:n,extended:!1,stage:t>>>12&3}}function wt(t,e){for(let n=e;n<t.length;n++)if(0===t[n])return n;return-1}const pt="agent=tsgit/0.0",gt=["multi_ack_detailed","side-band-64k","ofs-delta","thin-pack","no-progress","include-tag",pt],mt=["report-status","side-band-64k","ofs-delta","atomic","delete-refs",pt],yt=t=>{const e=t.indexOf("=");return e<0?t:t.slice(0,e)},xt=e=>new t.TsgitError({code:"PKT_LENGTH_RESERVED",value:e}),bt=e=>new t.TsgitError({code:"PKT_TOO_LARGE",value:e}),Et=e=>new t.TsgitError({code:"INVALID_BASE_URL",reason:e}),vt=(e,n)=>new t.TsgitError({code:"MISSING_SERVICE_HEADER",expected:e,actual:n}),Tt=e=>new t.TsgitError({code:"INVALID_REF_LINE",line:e}),kt=e=>new t.TsgitError({code:"INVALID_SIDEBAND_CHANNEL",channel:e}),It=e=>new t.TsgitError({code:"SIDEBAND_FATAL",message:e}),$t=(e,n)=>new t.TsgitError({code:"TOO_MANY_ADVERTISED_REFS",count:e,limit:n}),Dt=new TextEncoder,At=new TextDecoder("utf-8",{fatal:!1}),St=/^[0-9a-f]{4}$/i,_t=65520,Ot=Dt.encode("0000");Dt.encode("0001"),Dt.encode("0002");const Lt=t=>{const e=(t+65536).toString(16).slice(-4);return Dt.encode(e)},Nt=t=>{let e=Ot.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 r=0;for(const e of t)n.set(Lt(e.byteLength+4),r),r+=4,n.set(e,r),r+=e.byteLength;return n.set(Ot,r),n},Ct=e=>{const n=At.decode(e.subarray(0,4));if(!St.test(n))throw new t.TsgitError({code:"INVALID_PKT_LENGTH",value:n});const r=Number.parseInt(n,16);if(r>_t)throw bt(r);return r},Ut=(e,n)=>({[Symbol.asyncIterator]:()=>async function*(e){const n=new Pt;for await(const t of e)n.accept(t),yield*Mt(n);if(n.used>0)throw new t.TsgitError({code:"PKT_TRUNCATED",remaining:n.used})}(e)}),Rt=(t,e,n)=>{if(0===t)return{kind:"flush",consume:4};if(1===t)throw xt(1);if(2===t)throw xt(2);if(t<4)throw xt(t);return e<t?{kind:"wait"}:{kind:"data",consume:t}};class Pt{acc=new Uint8Array(_t);used=0;accept(t){if(this.used+t.byteLength<=_t)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,Ct(this.acc),bt(this.used)}drop(t){this.acc.copyWithin(0,t,this.used),this.used-=t}slice(t,e){return this.acc.slice(t,e)}}function*Mt(t,e){for(;t.used>=4;){const e=Ct(t.acc),n=Rt(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}),Wt=(t,e)=>{if(t)try{t(e)}catch{}},Bt=(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 kt(-1);const t=n.payload[0],r=n.payload.subarray(1);if(1!==t){if(2!==t){if(3===t){const t=jt.decode(r);throw Wt(e.onError,t),It(t)}throw kt(t)}Wt(e.onProgress,jt.decode(r))}else yield r}}(t,e)}),Ht=new TextDecoder("utf-8",{fatal:!1}),zt=new TextEncoder,Ft=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Vt=/^# service=(?<service>[^\n]+)\n?$/,Kt=5e5,Yt=t=>t.endsWith("\n")?t.slice(0,-1):t,Gt=t=>{if(!Ft.test(t))throw Tt(t);return U.from(t)},Xt=t=>{const e=t.indexOf(" ");if(e<0)throw Tt(t);const n=t.slice(0,e),r=t.slice(e+1);if(0===r.length)throw Tt(t);return{id:n,name:r}},qt=(e,n,r)=>{if(e.byName.has(n))throw(e=>new t.TsgitError({code:"DUPLICATE_REF",name:e}))(n);e.refs.push({id:r,name:n}),e.byName.set(n,e.refs.length-1)},Jt=(e,n,r)=>{if(void 0===n){const n=(e=>{const n=e.indexOf("\0");if(n<0)throw new t.TsgitError({code:"MISSING_CAPABILITIES"});const r=e.slice(0,n),o=e.slice(n+1),s=r.indexOf(" ");if(s<0)throw Tt(e);const i=r.slice(0,s),a=r.slice(s+1);if(0===a.length)throw Tt(e);return{id:i,name:a,tail:o}})(r);return qt(e,n.name,Gt(n.id)),(t=>{const e=new Map;for(const n of t)e.set(yt(n),n);return Array.from(e.values())})(n.tail.split(" ").filter(t=>t.length>0))}if(r.endsWith("^{}"))return((t,e)=>{const n=e.slice(0,-3),r=Xt(n),o=Gt(r.id),s=t.byName.get(r.name);if(void 0===s)throw Tt(e);t.refs[s]={...t.refs[s],peeled:o}})(e,r),n;const o=Xt(r);return qt(e,o.name,Gt(o.id)),n},Qt=t=>zt.encode(`have ${t}\n`),Zt=(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(Lt(e),0),n.set(t,4),n})(zt.encode("done\n")),te=e=>{const n=Yt(e).split(" "),r=U.from(n[1]),o=n[2];if(void 0===o)return{id:r,status:"ack"};if("continue"===o||"common"===o||"ready"===o)return{id:r,status:o};throw new t.TsgitError({code:"UNKNOWN_ACK_STATUS",value:o})},ee="shallow ",ne="unshallow ",re=(t,e)=>{const n=Yt(t),r=n.slice(e.length);if(!Ft.test(r))throw Tt(n);return U.from(r)},oe=(t,e)=>t.startsWith(ee)?(e.shallow.push(re(t,ee)),!0):!!t.startsWith(ne)&&(e.unshallow.push(re(t,ne)),!0),se=new WeakMap,ie=e=>new t.TsgitError({code:"INVALID_REF",reason:e}),ae=e=>new t.TsgitError({code:"INVALID_PACKED_REFS",reason:e}),ce=e=>new t.TsgitError({code:"REF_NOT_FOUND",name:e}),de=(e,n)=>new t.TsgitError({code:"REF_CHAIN_TOO_DEEP",depth:e,chain:n}),fe=e=>new t.TsgitError({code:"REF_CYCLE_DETECTED",chain:e}),ue=e=>new t.TsgitError({code:"REF_LOCKED",name:e}),he=new Set(["~","^",":","?","*","[","\\"," "]);function le(t){if(""===t)throw ie("ref name must not be empty");if(t.startsWith("/")||t.endsWith("/"))throw ie("ref name must not start or end with /");if(t.startsWith("-"))throw ie("ref name must not start with -");if("@"===t)throw ie("ref name must not be single @");if(t.includes(".."))throw ie("ref name must not contain ..");if(t.includes("//"))throw ie("ref name must not contain consecutive slashes");if(t.includes("@{"))throw ie("ref name must not contain @{");if(t.endsWith("."))throw ie("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 ie("ref name contains forbidden character");const r=t[e];if(void 0!==r&&he.has(r))throw ie("ref name contains forbidden character");if(n>=8234&&n<=8238||n>=8294&&n<=8297)throw ie("ref name contains forbidden Unicode override")}}(t);const e=t.split("/");for(const t of e){if(t.startsWith("."))throw ie("ref name component must not start with .");if(t.endsWith(".lock"))throw ie("ref name component must not end with .lock")}return t}function we(t){const e=t.replace(/[\r\n]+$/,"");if(""===e)throw ie("empty ref content");if(e.startsWith("ref: ")){const t=e.slice(5);if(""===t)throw ie("empty symbolic ref target");return{type:"symbolic",target:le(t)}}return{type:"direct",target:U.from(e)}}const pe=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 ge(t){let e=4294967295;for(let n=0;n<t.length;n++)e=pe[255&(e^t[n])]^e>>>8;return(4294967295^e)>>>0}const me=e=>new t.TsgitError({code:"INVALID_PACK_HEADER",reason:e}),ye=e=>new t.TsgitError({code:"INVALID_PACK_INDEX",reason:e}),xe=(e,n)=>new t.TsgitError({code:"INVALID_PACK_ENTRY",offset:e,reason:n}),be=e=>new t.TsgitError({code:"INVALID_DELTA",reason:e}),Ee=e=>new t.TsgitError({code:"DELTA_CHAIN_TOO_DEEP",depth:e});function ve(t,e){if(e>=t.length)throw be("truncated variable-length integer");let n=0,r=0,o=e,s=0,i=t[o];for(n=(127&i)<<r>>>0,r+=7,s+=1;128&i;){if(s>=5)throw be("variable-length integer too long");if(o+=1,o>=t.length)throw be("truncated variable-length integer");i=t[o],n=(n|(127&i)<<r)>>>0,r+=7,s+=1}return{value:n,nextOffset:o+1}}function Te(t,e,n){const r=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+r>t.length)throw be(`COPY instruction truncated: needs ${r} bytes at position ${e}`);let o=e,s=0,i=0;return 1&n&&(s|=t[o],o+=1),2&n&&(s|=t[o]<<8,o+=1),4&n&&(s|=t[o]<<16,o+=1),8&n&&(s=(s|16777216*t[o])>>>0,o+=1),16&n&&(i|=t[o],o+=1),32&n&&(i|=t[o]<<8,o+=1),64&n&&(i|=t[o]<<16,o+=1),0===i&&(i=65536),{offset:s,size:i,nextPos:o}}function ke(t,e,n,r,o){if(t+e>n)throw be(`COPY out of bounds: offset=${t} size=${e} exceeds base length ${n}`);if(r+e>o)throw be(`COPY overflows target: position=${r} size=${e} exceeds target length ${o}`)}function Ie(t,e,n,r,o,s){if(0===n)throw be("INSERT with N=0 is reserved");if(e+n>t.length)throw be(`INSERT data truncated: needs ${n} bytes at position ${e}`);if(o+n>s)throw be(`INSERT overflows target: position=${o} size=${n} exceeds target length ${s}`);return r.set(t.subarray(e,e+n),o),{nextPos:e+n,nextResultPos:o+n}}function $e(t,e){const{value:n,nextOffset:r}=ve(e,0),{value:o,nextOffset:s}=ve(e,r);!function(t,e,n){if(t.length!==e)throw be(`source length mismatch: expected ${e}, got ${t.length}`);if(n>2147483648)throw be(`target length ${n} exceeds maximum allowed size`)}(t,n,o);const i=new Uint8Array(o);let a=0,c=s;for(;c<e.length;){const n=e[c];if(c+=1,128&n){const{offset:r,size:s,nextPos:d}=Te(e,c,n);c=d,ke(r,s,t.length,a,o),i.set(t.subarray(r,r+s),a),a+=s}else{const t=Ie(e,c,n,i,a,o);c=t.nextPos,a=t.nextResultPos}}if(a!==o)throw be(`underfill: produced ${a} bytes but target length is ${o}`);return i}const De=1346454347;function Ae(t,e,n){const{type:r,size:o,nextPos:s}=function(t,e){if(e>=t.length)throw xe(e,"unexpected end of header");let n=e;const r=t[n],o=r>>4&7;let s=15&r,i=4,a=0;for(;128&t[n];){if(a+=1,a>5)throw xe(e,"size encoding too long");if(n+=1,n>=t.length)throw xe(e,"unexpected end of header");s|=(127&t[n])<<i,i+=7}return{type:o,size:s,nextPos:n+1}}(t,e);if(function(t,e){if(5===t)throw xe(e,"reserved type 5");if(t<1||t>7)throw xe(e,`unknown type ${t}`)}(r,e),6===r){const{distance:n,nextPos:r}=function(t,e,n){if(e>=t.length)throw xe(n,"unexpected end of OFS_DELTA distance");let r=e,o=127&t[r],s=0;for(;128&t[r];){if(s+=1,s>4)throw xe(n,"OFS_DELTA distance encoding too long");if(r+=1,r>=t.length)throw xe(n,"unexpected end of OFS_DELTA distance");o=o+1<<7|127&t[r]}return{distance:o,nextPos:r+1}}(t,s,e);return{type:6,size:o,dataOffset:r,baseDistance:n}}if(7===r){const r=s+n.digestLength;if(r>t.length)throw xe(e,"unexpected end of REF_DELTA base id");return{type:7,size:o,dataOffset:r,baseId:b(t.subarray(s,r))}}return{type:r,size:o,dataOffset:s}}function Se(t,e){const n=[];let r=(7&t)<<4|15&e,o=e>>>4;for(o>0&&(r|=128),n.push(r);o>0;){let t=127&o;o>>>=7,o>0&&(t|=128),n.push(t)}return new Uint8Array(n)}const _e=1032;function Oe(t,e){return t._view.getUint32(8+4*e)}function Le(t,e,n){const r=_e+20*e;return T(t._bytes.subarray(r,r+20),n)}function Ne(t,e){const n=t._view.getUint32(t.smallOffsetsTableOffset+4*e);if(2147483648&n){const e=2147483647&n,r=t.largeOffsetsTableOffset+8*e;if(r+8>t.trailerOffset)throw ye(`large offset index ${e} out of range`);const o=t._view.getUint32(r),s=t._view.getUint32(r+4);if(o>2097151)throw ye(`pack offset exceeds safe JavaScript number range: high word=${o}`);return 4294967296*o+s}return n}function Ce(t,e){const n=E(e),r=n[0];let o=0===r?0:Oe(t,r-1),s=Oe(t,r);for(;o<s;){const e=o+s>>>1,r=Le(t,e,n);if(r<0)o=e+1;else{if(!(r>0))return Ne(t,e);s=e}}}function Ue(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Re(t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}const Pe=(t,e)=>`${t}/objects/${function(t){return`${t.slice(0,2)}/${t.slice(2)}`}(e)}`,Me=(t,e)=>`${t}/${e}`,je=t=>`${t}/index`,We=".lock";function Be(t){return!!(t.includes("\0")||t.includes("\r")||t.includes("\n\n")||t.startsWith("\n")||t.endsWith("\n"))}function He(t){return 0===t.length||!!(t.includes("\0")||t.includes("\r")||t.includes("\n"))||!(!t.includes(" ")&&!t.includes("\t"))}const ze="index file exceeds 256 MiB",Fe="pack .idx file exceeds 64 MiB";function Ve(t){return t>268435456}function Ke(t){return t>67108864}function Ye(t,e=5){return t>e}function Ge(t,e=5){return t>e}function Xe(t){return"160000"===t}function qe(t,e){return t>e}const Je=/^[0-9a-f]{40}$/,Qe=/^[0-9a-f]{64}$/,Ze=new TextEncoder,tn=new Set([".git"]),en=t=>{""===t&&rn(t),sn(t)>4096&&rn(t),t.startsWith("/")&&rn(t),t.includes("\\")&&rn(t),t.includes("\0")&&rn(t);const e=t.split("/");for(const n of e)on(n,t);return t},nn=t=>{const e=t.toLowerCase();return!!tn.has(e)||".git"===e.replace(/[. ]+$/,"")},rn=e=>{throw t.pathspecOutsideRepo(e)},on=(t,e)=>{""===t&&rn(e),"."!==t&&".."!==t||rn(e),sn(t)>255&&rn(e),nn(t)&&rn(e),t.includes(":")&&rn(e);for(let n=0;n<t.length;n+=1){const r=t.charCodeAt(n);(r<=31||127===r)&&rn(e)}},sn=t=>Ze.encode(t).length;async function*an(e,n,r,o,s){if(o>e.maxDepth)throw l(o);const i=await e.ctx.fs.readdir(dn(e,r));if(s||!i.some(un))for(const s of i){if(e.ctx.signal?.aborted)throw t.operationAborted();nn(s.name)||(yield*cn(e,n,r,o,s))}}async function*cn(t,e,n,r,o){const s=fn(n,o.name);if(en(s),o.isDirectory&&!o.isSymbolicLink){if(void 0!==t.ignore&&await t.ignore(s,!0))return;return void(yield*an(t,e,s,r+1,!1))}if(!o.isFile&&!o.isSymbolicLink)return;if(void 0!==t.ignore&&await t.ignore(s,!1))return;if(e.value+=1,e.value>t.maxEntries)throw w(e.value,t.maxEntries);const i=await t.ctx.fs.lstat(`${t.ctx.layout.workDir}/${s}`);yield{path:s,stat:i}}const dn=(t,e)=>""===e?t.ctx.layout.workDir:`${t.ctx.layout.workDir}/${e}`,fn=(t,e)=>""===t?e:`${t}/${e}`,un=t=>!!nn(t.name)&&(t.isDirectory||t.isFile&&!t.isSymbolicLink);async function hn(e,n){if(e.signal?.aborted)throw t.operationAborted();const r=q(n,e.hashConfig),o=await e.hash.hashHex(r),s=n.id;if(""!==s&&s!==o)throw u(n.id,o);if(e.signal?.aborted)throw t.operationAborted();const i=o.slice(0,2);await e.fs.mkdir(((t,e)=>`${t}/objects/${e}`)(e.layout.gitDir,i));const a=Pe(e.layout.gitDir,o),c=await e.compressor.deflate(r);try{await e.fs.writeExclusive(a,c)}catch(t){if(ln(t))return o;throw t}return o}function ln(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}async function wn(t,e,n,r,o){mn(t);const s=await async function(t,e){const n=Pe(t.layout.gitDir,e);if(!await t.fs.exists(n))return;const r=await t.fs.read(n);return t.compressor.inflate(r)}(t,n);if(void 0!==s)return mn(t),function(t,e,n){if(void 0===n)return;const{contentOffset:r}=F(e),o=e.length-r;if(o>n)throw p(t,o,n)}(n,s,o),yn(t,n,s,r);mn(t);const i=await e.lookup(n);if(void 0===i)throw f(n);mn(t);const a=await async function(t,e,n,r,o){const s=await async function(t,e,n,r,o){const s=[];let i=n,a=0;for(;;){mn(t);const{header:n,chunk:c,headerEndInChunk:d}=await bn(t,i);if(xn(n))return pn(r,n.size,o),{deltas:s,baseContent:(await t.compressor.streamInflate(c,d)).output,baseType:n.type};if(a+=1,a>50)throw Ee(a);const{output:u}=await t.compressor.streamInflate(c,d);if(gn(r,u,o,a),6===n.type){const t=i.offset-n.baseDistance;if(t<0)throw f(r);s.push({instructions:u,resolvedBaseId:void 0}),i={pack:i.pack,offset:t};continue}if(7===n.type){const r=n.baseId;s.push({instructions:u,resolvedBaseId:r});const i=await En(t,e,r,o);return{deltas:s,baseContent:i.content,baseType:i.type}}throw f(r)}}(t,e,n,r,o);let i=s.baseContent;for(let t=s.deltas.length-1;t>=0;t-=1){const e=s.deltas[t];if(void 0===e)break;i=$e(i,e.instructions)}if(void 0!==o&&i.length>o)throw p(r,i.length,o);const a=function(t,e,n){const r=function(t,e){switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag";default:throw f(e)}}(e,n),o=`${r} ${t.length}\0`,s=(new TextEncoder).encode(o),i=new Uint8Array(s.length+t.length);return i.set(s,0),i.set(t,s.length),i}(i,s.baseType,r);return kn(t.deltaCache,r,a),a}(t,e,i,n,o);return mn(t),yn(t,n,a,r)}function pn(t,e,n){if(void 0!==n&&e>n)throw p(t,e,n)}function gn(t,e,n,r){if(void 0===n)return;if(1!==r)return;const o=function(t){const{nextOffset:e}=ve(t,0),{value:n}=ve(t,e);return n}(e);if(o>n)throw p(t,o,n)}function mn(e){if(!0===e.signal?.aborted)throw t.operationAborted()}async function yn(t,e,n,r){if(r){const r=await t.hash.hashHex(n);if(mn(t),r!==e)throw u(e,r)}return X(e,n,t.hashConfig)}function xn(t){return 1===t.type||2===t.type||3===t.type||4===t.type}async function bn(t,e){const n=await t.fs.readSlice(e.pack.packPath,e.offset,65536),r=Ae(n,0,t.hashConfig);return{header:r,chunk:n,headerEndInChunk:r.dataOffset}}async function En(t,e,n,r){const o=t.deltaCache.get(n);if(void 0!==o)return function(t,e,n){if(void 0===n)return;const r=e.indexOf(0);if(r<0)return;const o=e.length-(r+1);if(o>n)throw p(t,o,n)}(n,o,r),vn(o,n);const s=q(await wn(t,e,n,!1,r),t.hashConfig);return kn(t.deltaCache,n,s),vn(s,n)}function vn(t,e){const n=t.indexOf(0);if(n<0)throw f(e);const r=t.subarray(0,n).indexOf(32);if(r<0)throw f(e);const o=(new TextDecoder).decode(t.subarray(0,r));return{content:t.subarray(n+1),type:Tn(o,e)}}function Tn(t,e){switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4;default:throw f(e)}}function kn(t,e,n){t.set(e,n,n.length)}function In(t){return t.isFile&&t.name.endsWith(".idx")&&!(e=t.name).includes("/")&&!e.includes("\\")&&!e.includes("..");var e}async function $n(t,e,n){const r=`${e}/${n}`,o=await async function(t,e){if(Ke((await t.fs.stat(e)).size))throw ye(Fe);const n=await t.fs.read(e);if(Ke(n.length))throw ye(Fe);return n}(t,r),s=function(t){if(t.length<1032)throw ye("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 ye(`invalid magic: expected 0xff744f63, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw ye(`unsupported version: expected 2, got ${r}`);!function(t){let e=0;for(let n=0;n<256;n++){const r=t.getUint32(8+4*n);if(r<e)throw ye(`non-monotonic fanout at index ${n}: ${e} > ${r}`);e=r}}(e);const o=e.getUint32(1028),s=_e+20*o,i=s+4*o,a=i+4*o,c=t.length-40,d=_e+20*o+4*o+4*o+40;if(t.length<d)throw ye(`truncated: expected at least ${d} bytes for ${o} objects, got ${t.length}`);return{objectCount:o,crc32TableOffset:s,smallOffsetsTableOffset:i,largeOffsetsTableOffset:a,trailerOffset:c,_bytes:t,_view:e}}(o),i=n.slice(0,-4);return{name:i,index:s,packPath:`${e}/${i}.pack`,idxPath:r}}const Dn=new WeakMap;async function An(t,e,n){const r=n?.verifyHash??!0;return wn(t,function(t){let e=Dn.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 r=await t.fs.readdir(n),o=[];for(const e of r)In(e)&&o.push(await $n(t,n,e.name));return e=o,e}return{all:n,async lookup(t){const e=await n();for(const n of e){const e=Ce(n.index,t);if(void 0!==e)return{pack:n,offset:e}}}}}(t),Dn.set(t,e)),e}(t),e,r,n?.maxBytes)}const Sn=new WeakMap;function _n(t){let e=Sn.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 r=await t.fs.stat(n),o=`${r.mtimeMs}:${r.size}`;if(void 0!==e&&e.mtimeKey===o)return e.parsed;const s=function(t){if(""===t)return{entries:[],peeling:"none",sorted:!1};const e=t.split("\n"),{peeling:n,sorted:r,startIndex:o}=function(t){const e=t[0];if(e?.startsWith("# pack-refs with:")){const t=e.slice(17).trim(),n=""===t?[]:t.split(/\s+/),r=n.includes("peeled");return{peeling:n.includes("fully-peeled")?"fully":r?"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 r=e;r<t.length;r++){const e=t[r];if(void 0===e||""===e||e.startsWith("#"))continue;if(e.startsWith("^")){if(0===n.length)throw ae("peel line without preceding ref entry");const t=U.from(e.slice(1)),r=n.length-1;n[r]={...n[r],peeled:t};continue}const o=e.indexOf(" ");if(-1===o)throw ae(`invalid ref line format: ${e.slice(0,80)}`);const s=e.slice(0,o),i=e.slice(o+1),a=U.from(s);n.push({name:R.from(i),id:a})}return n}(e,o),peeling:n,sorted:r}}(await t.fs.readUtf8(n));return e={parsed:s,mtimeKey:o},s}async function r(e){const n=Me(t.layout.gitDir,e);if(await t.fs.exists(n))return t.fs.readUtf8(n)}return{async resolveDirect(t){const e=await r(t);if(void 0!==e){const t=we(e);return"symbolic"===t.type?{kind:"symbolic",target:t.target}:{kind:"direct",id:t.target}}const o=await n();for(const e of o.entries)if(e.name===t)return{kind:"direct",id:e.id};return{kind:"missing"}},async writeLoose(e,n){const r=Me(t.layout.gitDir,e);await t.fs.writeUtf8(r,function(t){return`${t}\n`}(n))},async removeLoose(e){const n=Me(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)},isLoose:async e=>t.fs.exists(Me(t.layout.gitDir,e)),readLooseRaw:async t=>r(t),getPackedRefs:n}}(t),Sn.set(t,e)),e}async function On(t,e,n){const r=n?.maxSymbolicDepth??5,o=n?.maxPeelDepth??5,s=n?.peel??!1,i=_n(t),a=await async function(t,e,n){const r=[];let o=e,s=0;for(;;){if("HEAD"!==o&&le(o),r.includes(o))throw fe([...r,o]);r.push(o);const e=await t.resolveDirect(o);if("missing"===e.kind)throw ce(o);if("direct"===e.kind)return e.id;if(s+=1,Ye(s,n))throw de(s,r);o=e.target}}(i,e,r);return s?async function(t,e,n){let r=e,o=0;for(;;){const e=await An(t,r);if("tag"!==e.type)return r;if(o+=1,Ge(o,n))throw de(o,[]);r=e.data.object}}(t,a,o):a}async function Ln(t,e,n,r){const o=`${n}${We}`;try{await t.fs.writeExclusive(o,r)}catch(t){if(Nn(t))throw ue(e);throw t}try{await t.fs.rename(o,n)}catch(e){try{await t.fs.rm(o)}catch(t){if(!Cn(t))throw t}throw e}}function Nn(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}function Cn(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}const Un=new TextEncoder;async function Rn(t,e,n){const r=await An(t,e,n);if("blob"!==r.type)throw h("blob",r.type,e);return r}const Pn=new TextDecoder,Mn=(t,e)=>t.endsWith("/")?`${t}${e}`:`${t}/${e}`,jn=async(e,n,r)=>{const o=Mn(n,r.path);if("update"===r.kind||"delete"===r.kind){if(void 0===r.previousId)return;return await(async(e,n,r)=>!!await e.fs.exists(n)&&!await(async(e,n,r)=>{let o;try{o=await e.fs.read(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return!0;throw e}const s=(new TextEncoder).encode(`blob ${o.length}\0`),i=new Uint8Array(s.length+o.length);return i.set(s,0),i.set(o,s.length),await e.hash.hashHex(i)===r})(e,n,r))(e,o,r.previousId)?r.path:void 0}if("add"===r.kind)return await(async(t,e)=>t.fs.exists(e))(e,o)?r.path:void 0},Wn=async(t,e,n,r)=>{if(r===M.SYMLINK){const r=Pn.decode(n);return await t.fs.exists(e)&&await t.fs.rm(e),void await t.fs.symlink(r,e)}r!==M.GITLINK?(await t.fs.write(e,n),await t.fs.chmod(e,r===M.EXECUTABLE?493:420)):await t.fs.mkdir(e)},Bn=async(t,e,n)=>{const r=Mn(e,n.path);if("noop"!==n.kind)if("delete"!==n.kind){if(void 0!==n.id){if(n.mode!==M.GITLINK){const e=await Rn(t,n.id);await Wn(t,r,e.content,n.mode)}else await Wn(t,r,new Uint8Array,n.mode);return(async(t,e,n,r,o)=>{const s=await t.fs.lstat(e);return{ctimeSeconds:Math.floor(s.ctimeMs/1e3),ctimeNanoseconds:Number(s.ctimeNs??0n)%1e9,mtimeSeconds:Math.floor(s.mtimeMs/1e3),mtimeNanoseconds:Number(s.mtimeNs??0n)%1e9,dev:s.dev,ino:s.ino,mode:o,uid:s.uid,gid:s.gid,fileSize:s.size,id:r,flags:{assumeValid:!1,extended:!1,stage:0},path:n}})(t,r,n.path,n.id,n.mode)}}else await t.fs.exists(r)&&await t.fs.rm(r)},Hn=async(e,n)=>{const{changeset:r,force:o,workdir:s}=n;if(!o){const n=await(async(t,e,n)=>{const r=[];for(const o of n.entries){const n=await jn(t,e,o);void 0!==n&&r.push(n)}return r})(e,s,r);if(n.length>0)throw t.checkoutOverwriteDirty(n)}const i=[];let a=0,c=0;for(const t of r.entries){const n=await Bn(e,s,t);"delete"===t.kind?c+=1:"add"!==t.kind&&"update"!==t.kind||(a+=1,void 0!==n&&i.push(n)),"noop"!==t.kind&&e.progress.update("checkout:materialize",a+c,r.stats.add+r.stats.update+r.stats.delete,t.path)}return{writtenEntries:i,written:a,deleted:c}},zn=(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},Fn=(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),r=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(e),o=new Set;for(const t of n.keys())o.add(t);for(const t of r.keys())o.add(t);const s=[],i={add:0,update:0,delete:0,noop:0};for(const t of[...o].sort()){const e=zn(t,n.get(t),r.get(t));s.push(e),i[e.kind]+=1}return{entries:s,stats:i}};async function*Vn(t,e,r){const o={ctx:t,recursive:r?.recursive??!0,maxDepth:r?.maxDepth??1024,maxEntries:r?.maxEntries??n},s="string"==typeof e?await async function(t,e){const n=await An(t,e);if("tree"!==n.type)throw h("tree",n.type,e);return n}(t,e):e;yield*Kn(o,{value:0},s,"",0,[])}async function*Kn(e,n,r,o,s,i){if(i.includes(r.id))throw new t.TsgitError({code:"TREE_CYCLE_DETECTED",id:r.id});if(function(t,e){return t>e}(s,e.maxDepth))throw l(s);const a=[...i,r.id];for(const i of r.entries){if(e.ctx.signal?.aborted)throw t.operationAborted();const r=""===o?i.name:`${o}/${i.name}`;if(n.value+=1,qe(n.value,e.maxEntries))throw w(n.value,e.maxEntries);if(yield{path:r,id:i.id,mode:i.mode},!Yn(e.recursive,i.mode))continue;const c=await An(e.ctx,i.id);"tree"===c.type&&(yield*Kn(e,n,c,r,s+1,a))}}function Yn(t,e){return!!t&&H(e)}const Gn=(t,e)=>t.filter(t=>e.has(t.path)),Xn=(t,e,n)=>e.get(t)??n.get(t),qn=(t,e,n,r)=>{const o=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(t),s=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e),i=((t,e)=>{if(void 0===e)return[];const n=[];for(const[r,o]of t)e.has(r)||n.push(o);return n})(s,r);for(const t of n){const e=Xn(t.path,o,s);void 0!==e&&i.push(e)}return i.sort((t,e)=>t.path<e.path?-1:1),i},Jn=t=>{const e={add:0,update:0,delete:0,noop:0};for(const n of t)e[n.kind]+=1;return e};async function Qn(t,e){var n;let r=Je.test(n=e)||Qe.test(n)?e:await On(t,e),o=await An(t,r),s=0;for(;"commit"===o.type||"tag"===o.type;){if(s+=1,s>5)throw de(s,[]);r="commit"===o.type?o.data.tree:o.data.object,o=await An(t,r)}if("tree"!==o.type)throw h("tree",o.type,r);return o}async function Zn(t,e){if(e.length>n)throw w(e.length,n);return hn(t,{type:"tree",id:"",entries:e})}const tr=t=>{let e=0;for(const n of t)"/"===n&&(e+=1);if(e>4096)throw l(e)},er=async(t,e)=>{const{files:n,subdirs:r}=(t=>{const e=[],n=new Map;for(const r of t){const t=r.path.indexOf("/");if(-1===t){e.push(r);continue}const o=r.path.slice(0,t),s=r.path.slice(t+1),i=n.get(o),a={path:s,id:r.id,mode:r.mode};void 0===i?n.set(o,[a]):i.push(a)}return{files:e,subdirs:n}})(e),o=[];for(const t of n)o.push({name:t.path,id:t.id,mode:t.mode});for(const[e,n]of r){const r=await er(t,n);o.push({name:e,id:r,mode:M.DIRECTORY})}return Zn(t,o)},nr=new TextEncoder,rr=new Set(["side-band-64k","side-band"]),or=async(n,r,o)=>{const s=(e=>{if(0===e.wants.length)throw new t.TsgitError({code:"EMPTY_WANTS"});const n=[];e.wants.forEach((t,r)=>{n.push(((t,e)=>{const n=0===e.length?"":` ${e.join(" ")}`;return zt.encode(`want ${t}${n}\n`)})(t,0===r?e.capabilities:[]))}),void 0!==e.depth&&n.push(zt.encode(`deepen ${e.depth}\n`));const r=Nt(n),o=0===e.haves.length?new Uint8Array(0):Nt(e.haves.map(Qt)),s=e.done?Zt:new Uint8Array(0),i=new Uint8Array(r.byteLength+o.byteLength+s.byteLength);let a=0;return i.set(r,a),a+=r.byteLength,i.set(o,a),a+=o.byteLength,i.set(s,a),i})({wants:o.wants,haves:o.haves,capabilities:o.capabilities,done:!0,...void 0!==o.depth?{depth:o.depth}:{}}),i=ar(o.url),a=await r.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!==n.signal?{signal:n.signal}:{}});if(200!==a.statusCode)throw t.httpError(a.statusCode,`git-upload-pack returned ${a.statusCode}`);const c=Ut(e.readableStreamToAsyncIterable(a.body)),d=await(async(t,e)=>{const n=t[Symbol.asyncIterator](),r=!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 r=Ht.decode(n.value.payload);if(!oe(r,e))return se.set(t,n.value),{shallow:e.shallow,unshallow:e.unshallow};n=await t.next()}return{shallow:e.shallow,unshallow:e.unshallow}})(n):{shallow:[],unshallow:[]},o=await(async t=>{const e=[];let n=!1;const r=se.get(t);void 0!==r&&se.delete(t);let o=void 0!==r?{done:!1,value:r}:await t.next();for(;!o.done;){if("data"!==o.value.kind)return{acks:e,nak:n,buffered:[o.value]};const r=Ht.decode(o.value.payload);if(r.startsWith("ACK "))e.push(te(r)),o=await t.next();else{if(!r.startsWith("NAK"))return{acks:e,nak:n,buffered:[o.value]};n=!0,o=await t.next()}}return{acks:e,nak:n,buffered:[]}})(n);return{acks:o.acks,nak:o.nak,shallow:r.shallow,unshallow:r.unshallow,packBody:{[Symbol.asyncIterator]:()=>async function*(t,e,n){const r=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*Bt(r,t))}yield*async function*(t){for await(const e of t){if("data"!==e.kind)return;yield e.payload}}(r)}(o.buffered,n,e)}}})(c,{sideBand:cr(o.capabilities),onProgress:e=>n.progress.update(o.progressOp,0,void 0,t.sanitize(e)),expectShallow:void 0!==o.depth});return{packBytes:await sr(n,o,d.packBody),shallow:d.shallow,unshallow:d.unshallow}},sr=async(t,e,n)=>{const r=t.config?.maxResponseBytes??536870912,o=[];let s=0,i=0;for await(const a of n){if(s+a.byteLength>r)throw ir(r);o.push(a),s+=a.byteLength,s-i>=65536&&(t.progress.update(e.progressOp,s),i=s)}0!==s&&s!==i&&t.progress.update(e.progressOp,s);const a=new Uint8Array(s);let c=0;for(const t of o)a.set(t,c),c+=t.byteLength;return a},ir=e=>new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:0,limit:e}),ar=t=>{let e;try{e=new URL(t)}catch{throw Et("invalid URL")}if(""!==e.hash)throw Et("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}`},cr=t=>t.some(t=>rr.has(t)),dr=async(e,n)=>{const r=function(t){if(t.length<12)throw me("truncated: pack header requires 12 bytes");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(n!==De)throw me(`invalid magic: expected 0x5041434b, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw me(`unsupported version: expected 2, got ${r}`);return{version:r,objectCount:e.getUint32(8)}}(n),o=e.config?.maxObjectsPerPack??5e7;if(r.objectCount>o)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:r.objectCount,limit:o});const s=n.length-e.hash.digestLength,i=[];let a=12;for(let t=0;t<r.objectCount;t+=1){const t=Ae(n,a,e.hashConfig),r=await e.compressor.streamInflate(n,t.dataOffset),o=t.dataOffset+r.bytesConsumed;if(o>s)throw me("entry extends past pack trailer");const c=ge(n.subarray(a,o));i.push({offset:a,header:t,inflated:r.output,crc32:c}),a=o}if(a!==s)throw me("extra bytes between last entry and trailer");return i},fr=async(t,e)=>{const n=new Map,r=new Map;let o=e;for(;o.length>0;){const e=[];let s=!1;for(const i of o){const o=await lr(t,i,n,r);void 0===o?e.push(i):(n.set(o.offset,o),r.set(o.id,o),s=!0)}if(!s)throw ur(e);o=e}return[...n.values()]},ur=t=>{const e=t[0];if(void 0===e)return me("unresolved deltas: empty queue (internal invariant violated)");const n=hr(e.header);return me(void 0!==n?`unresolved REF_DELTA: base ${n} not in pack`:`unresolved entry at offset ${e.offset}`)},hr=t=>{if(!pr(t)&&6!==t.type)return t.baseId},lr=async(t,e,n,r)=>{if(pr(e.header)){const n=gr(e.header.type);return{id:await mr(t,n,e.inflated),type:n,content:e.inflated,crc32:e.crc32,offset:e.offset}}if(6===e.header.type){const r=e.offset-e.header.baseDistance;if(r<12)throw me(`OFS_DELTA at offset ${e.offset} points before pack body: distance ${e.header.baseDistance}`);const o=n.get(r);if(void 0===o)return;return wr(t,e,o)}const o=r.get(e.header.baseId);if(void 0!==o)return wr(t,e,o)},wr=async(t,e,n)=>{const r=$e(n.content,e.inflated);return{id:await mr(t,n.type,r),type:n.type,content:r,crc32:e.crc32,offset:e.offset}},pr=t=>1===t.type||2===t.type||3===t.type||4===t.type,gr=t=>{switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag"}},mr=async(t,e,n)=>{const r=nr.encode(`${e} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),t.hash.hashHex(o)},yr=async(t,e,n,r,o)=>{const s=`${t.layout.gitDir}/objects/pack`;await t.fs.mkdir(s);const i=`${s}/pack-${r}.pack`,a=`${s}/pack-${r}.idx`;return await t.fs.writeExclusive(i,e),await t.fs.writeExclusive(a,n),{packPath:i,idxPath:a,objectCount:o,packSha:r}},xr=t=>`${t.layout.gitDir}/shallow`,br=e=>e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code,Er=async t=>{let e;try{e=await t.fs.readUtf8(xr(t))}catch(t){if(br(t))return new Set;throw t}const n=new Set;for(const t of e.split("\n")){const e=t.trim();0!==e.length&&Tr(e)&&n.add(U.from(e))}return n},vr=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Tr=t=>vr.test(t);async function kr(t,e){if(void 0!==e)return"string"==typeof e?Qn(t,e):e}async function*Ir(e,n){!function(e){if(0===e.from.length)throw t.invalidWalkInput("empty from");if(function(t){return t.length>1024}(e.from))throw t.invalidWalkInput("too many seeds")}(n);const r=n.order??"topo",o=n.ignoreMissing??!1,s=n.verifyHash??!0,i={queue:[...n.from],visited:new Set,missing:new Set,until:new Set(n.until??[]),shallow:n.shallow??new Set};for(;i.queue.length>0;){if(e.signal?.aborted)throw t.operationAborted();const n=Ar(i.queue);if(i.visited.has(n)||i.until.has(n))continue;const a=await $r(e,n,s,o,i.missing);void 0!==a&&(i.visited.add(n),yield a,Dr(i,a,r))}}async function $r(t,e,n,r,o){try{const r=await An(t,e,{verifyHash:n});if("commit"!==r.type)return;return r}catch(t){if(r&&Sr(t))return void o.add(e);throw t}}function Dr(e,n,r){if(e.shallow.has(n.id))return;const o="first-parent"===r&&n.data.parents.length>0?[n.data.parents[0]]:n.data.parents;for(const n of o)if(!(e.visited.has(n)||e.missing.has(n)||e.until.has(n))){if(e.queue.length>=65536)throw t.invalidWalkInput("walk queue exceeds bound");e.queue.push(n)}}function Ar(t,e){return t.shift()}function Sr(e){return e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code}const _r=async(t,e,n)=>{const r=[];for(const o of e){const e=await An(t,o);if("commit"===e.type)for(const t of e.data.parents)n.has(t)||(n.add(t),r.push(t))}e.length=0;for(const t of r)e.push(t);return e.length>0},Or=(t,e)=>{const n=[];for(const r of t)e.has(r)&&n.push(r);return n},Lr=async(t,e)=>{const n=q(e,t.hashConfig),r=n.indexOf(0),o=n.subarray(r+1),s=await t.compressor.deflate(o);return{type:Nr(e.type),uncompressedSize:o.length,compressedData:s}},Nr=t=>{switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4}},Cr=(e,n)=>{if(e.emitted.has(n))return!1;if(e.emitted.size>=e.cap)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:e.emitted.size+1,limit:e.cap});return e.emitted.add(n),!0},Ur=async(t,e,n)=>{let r=e;for(let e=0;e<16;e+=1){const e=await An(t,r);if("tag"!==e.type)return r;n(r),r=e.data.object}return r},Rr=(t,e)=>t.path<e.path?-1:t.path>e.path?1:0;exports.AGENT=pt,exports.CLIENT_CAPABILITIES_FETCH=gt,exports.CLIENT_CAPABILITIES_PUSH=mt,exports.FILE_MODE=M,exports.MAX_FLAT_TREE_ENTRIES=n,exports.MAX_GITIGNORE_BYTES=1048576,exports.MAX_HAVES=256,exports.MAX_WALK_SEEDS=1024,exports.MAX_WORKING_TREE_BLOB_BYTES=268435456,exports.ObjectId=U,exports.RefName=R,exports.applyChangeset=Hn,exports.buildDiscoveryUrl=(t,e)=>{let n;try{n=new URL(t)}catch{throw Et("invalid URL")}if(""!==n.hash)throw Et("fragment must not be set");const r=n.pathname.endsWith("/")?n.pathname.slice(0,-1):n.pathname;return`${n.protocol}//${n.host}${r}/info/refs${""===n.search?`?service=${e}`:`${n.search}&service=${e}`}`},exports.buildIndexFromTree=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),r=await(async(t,e)=>{const n=[];for await(const r of Vn(t,e))r.mode!==M.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),o=r.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 o.sort(Rr),o},exports.buildPack=async(t,e)=>{const n=[];for(const r of e.oids){const e=await An(t,r);n.push(await Lr(t,e))}const r=function(t){const e=function(t,e){const n=new Uint8Array(12),r=new DataView(n.buffer);return r.setUint32(0,De),r.setUint32(4,2),r.setUint32(8,e),n}(0,t.length),n=[e],r=[];let o=e.length;for(const e of t){const t=Ue(Se(e.type,e.uncompressedSize),e.compressedData),s=ge(t);r.push({crc32:s,offset:o}),n.push(t),o+=t.length}return{data:Re(n),entries:r}}(n),o=await t.hash.hash(r.data),s=b(o),i=new Uint8Array(r.data.length+o.length);return i.set(r.data,0),i.set(o,r.data.length),{bytes:i,sha:s,objectCount:n.length}},exports.comparePaths=function(t,e){return T(Z.encode(t),Z.encode(e))},exports.computeChangeset=Fn,exports.createCommit=async function(t,e){if(e.message.includes("\0"))throw a("message contains NUL");if(n=e.message,(new TextEncoder).encode(n).byteLength>16777216)throw a("message exceeds 16 MiB");var n;if(void 0!==e.gpgSignature&&Be(e.gpgSignature))throw a("gpgSignature contains header-boundary chars");if(void 0!==e.extraHeaders)for(const t of e.extraHeaders){if(He(t.key))throw a("extraHeader key contains forbidden characters");if(Be(t.value))throw a("extraHeader value contains header-boundary chars")}return y(e.author),y(e.committer),hn(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??[]}})},exports.decodePktStream=Ut,exports.diffTrees=async function(t,e,n,o){const[s,i]=await Promise.all([kr(t,e),kr(t,n)]),a=function(t,e){const n=st(t),r=st(e),o=[];let s=0,i=0;for(;s<n.length&&i<r.length;){const t=n[s],e=r[i],a=Y(t,e);if(a<0)o.push(rt(t)),s++;else if(a>0)o.push(nt(e)),i++;else{const n=ot(t,e);void 0!==n&&o.push(n),s++,i++}}for(;s<n.length;)o.push(rt(n[s])),s++;for(;i<r.length;)o.push(nt(r[i])),i++;return{changes:o}}(s,i);return!0===o?.detectRenames?function(t,e={}){const n=e.limit??1e3,o=e.maxSameIdDeletes??100,{adds:s,deletes:i,other:a}=function(t){const e=[],n=[],r=[];for(const o of t)"add"===o.type?e.push(o):"delete"===o.type?n.push(o):r.push(o);return{adds:e,deletes:n,other:r}}(t.changes);if(s.length*i.length>n)return t;const c=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 r=new Map;for(const[t,o]of n)o.length<=e&&r.set(t,o);return r}(i,o),d=new Set,f=[],u=[];for(const t of s){const e=et(t,c);void 0===e?u.push(t):(f.push(e.rename),d.add(e.consumedDelete))}const h=i.filter(t=>!d.has(t));return{changes:tt([...u,...h,...f,...a],r)}}(a,o.renameOptions):a},exports.emptyReceiveUpdates=()=>new t.TsgitError({code:"EMPTY_RECEIVE_UPDATES"}),exports.encode=D,exports.encodePktStream=Nt,exports.enumeratePushObjects=async function*(t,e){const n={emitted:new Set,cap:e.maxObjects??1e6},r=await(async(t,e,n)=>{const r=[];for(const o of n){const n=await Ur(t,o,t=>{Cr(e,t)});r.push(n)}return r})(t,n,e.wants);for(const t of n.emitted)yield t;yield*async function*(t,e,n,r){for await(const o of Ir(t,{from:n,until:r,ignoreMissing:!0})){Cr(e,o.id)&&(yield o.id),Cr(e,o.data.tree)&&(yield o.data.tree);for await(const n of Vn(t,o.data.tree,{recursive:!0}))Xe(n.mode)||Cr(e,n.id)&&(yield n.id)}}(t,n,r,e.haves)},exports.fetchPack=async(t,e,n)=>{t.progress.start(n.progressOp);try{const r=await or(t,e,n);if(0===r.packBytes.length)return{packPath:"",idxPath:"",objectCount:0,packSha:"",shallow:r.shallow,unshallow:r.unshallow};const o=await(async(t,e)=>{const n=e.hash.digestLength;if(t.length<12+n)throw me("trailer mismatch: pack too short for header + trailer");const r=t.length-n,o=t.subarray(0,r),s=t.subarray(r),i=await e.hash.hashHex(o),a=b(s);if(i!==a)throw me(`trailer mismatch: expected ${i}, got ${a}`);return i})(r.packBytes,t),s=await(async(t,e)=>{const n=await dr(t,e);return(await fr(t,n)).slice().sort((t,e)=>t.offset-e.offset).map(t=>({id:t.id,crc32:t.crc32,offset:t.offset}))})(t,r.packBytes),i=await(async(t,e,n)=>{const r=function(t,e){if(20!==e.length)throw ye(`packChecksum must be 20 bytes, got ${e.length}`);const n=t.map(t=>({shaBytes:E(t.id),entry:t}));n.sort((t,e)=>T(t.shaBytes,e.shaBytes));const r=n.length;let o=0;for(const t of n)t.entry.offset>2147483647&&(o+=1);const s=20*r,i=4*r,a=4*r,c=1032+s+i+a+8*o+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<r;t++)d.set(n[t].shaBytes,1032+20*t);const w=1032+s;for(let t=0;t<r;t++)f.setUint32(w+4*t,n[t].entry.crc32);const p=w+i;let g=0;const m=p+a;for(let t=0;t<r;t++){const e=n[t].entry.offset;if(e>2147483647){f.setUint32(p+4*t,2147483648|g);const n=Math.floor(e/4294967296),r=e>>>0;f.setUint32(m+8*g,n),f.setUint32(m+8*g+4,r),g+=1}else f.setUint32(p+4*t,e)}return d.set(e,c-20),d}(e.map(t=>({id:t.id,crc32:t.crc32,offset:t.offset})),E(n)),o=E(await t.hash.hashHex(r)),s=new Uint8Array(r.length+o.length);return s.set(r,0),s.set(o,r.length),s})(t,s,o);return{...await yr(t,r.packBytes,i,o,s.length),shallow:r.shallow,unshallow:r.unshallow}}finally{t.progress.end(n.progressOp)}},exports.getRefStore=_n,exports.getRepoRoot=t=>t.layout.workDir,exports.hexToBytes=E,exports.indexPath=je,exports.invalidBaseUrl=Et,exports.invalidReportStatus=e=>new t.TsgitError({code:"INVALID_REPORT_STATUS",line:e}),exports.isSameKind=Q,exports.lockSuffix=We,exports.materializeTree=async(t,e)=>{const n=await(async(t,e)=>{const n=[];for await(const r of Vn(t,e))r.mode!==M.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),r=void 0===e.paths?n:Gn(n,e.paths),o=void 0===e.paths?e.currentIndex:{entries:Gn(e.currentIndex.entries,e.paths)},s=Fn(o,r),i=!0===e.forceRewriteAll?(t=>{const e=t.entries.map(t=>"noop"===t.kind?{...t,kind:"update"}:t);return{entries:e,stats:Jn(e)}})(s):s,a=await Hn(t,{changeset:i,force:e.force??!1,workdir:t.layout.workDir});return{newIndexEntries:qn(a.writtenEntries,e.currentIndex,r,e.paths),written:a.written,deleted:a.deleted}},exports.mergeBase=async(t,e,n)=>{if(e===n)return e;const r=new Set([e]),o=new Set([n]),s=[e],i=[n];for(;;){const e=await _r(t,s,r),n=await _r(t,i,o),a=Or(r,o);if(a.length>0)return[...a].sort()[0];if(!e&&!n)break}},exports.negotiateCapabilities=(t,e)=>{const n=new Map;for(const e of t)n.set(yt(e),e);const r=[];for(const t of e){const e=yt(t),o=n.get(e);void 0!==o&&r.push(o)}return r},exports.objectNotFound=f,exports.parseAdvertisedRefs=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 vt(e,"");const r=Yt(Ht.decode(n.value.payload)),o=Vt.exec(`${r}\n`),s=o?.groups?.service;if(void 0===s)throw vt(e,r);if(s!==e)throw vt(e,s);const i=await t.next();if(i.done||"flush"!==i.value.kind)throw vt(e,s)})(n,e);const{capabilities:t,refs:r}=await(async t=>{const e={refs:[],byName:new Map};let n,r=await t.next();for(;!r.done&&"data"===r.value.kind;){if(e.refs.length>=Kt)throw $t(e.refs.length+1,Kt);const o=Yt(Ht.decode(r.value.payload));n=Jt(e,n,o),r=await t.next()}return{capabilities:n??[],refs:e.refs}})(n),o=((t,e)=>{const n=e.find(t=>"HEAD"===t.name);if(n)return n;const r=t.find(t=>t.startsWith("symref=HEAD:"));if(!r)return;const o=r.slice(12),s=e.find(t=>t.name===o);return s?{name:"HEAD",id:s.id}:void 0})(t,r);return o?{capabilities:t,refs:r,head:o}:{capabilities:t,refs:r}}finally{await(n.return?.())}},exports.parseLooseRef=we,exports.parseSideBand=Bt,exports.readBlob=Rn,exports.readIndex=async function(t){const e=je(t.layout.gitDir);if(!await t.fs.exists(e))return{version:2,entries:[],extensions:[]};if(Ve((await t.fs.stat(e)).size))throw it(ze);const n=await t.fs.read(e);if(Ve(n.length))throw it(ze);const r=t.hashConfig.digestLength;if(n.length<r)throw it("file is shorter than the hash trailer");const o=n.subarray(0,n.length-r),s=b(n.subarray(n.length-r));if(await t.hash.hashHex(o)!==s)throw it("index trailer checksum mismatch");return function(t){if(t.length<12)throw it("truncated header");const e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1145655875!==e.getUint32(0))throw it("invalid signature: expected DIRC");const n=e.getUint32(4);if(2!==n)throw it(`unsupported version: ${n}`);const r=e.getUint32(8);if(62*r>t.length-12-20)throw it(`entry count ${r} exceeds file capacity`);let o=12;const s=[];for(let n=0;n<r;n++){const n=o;if(o+62>t.length-20)throw at(o,"truncated entry");const r=e.getUint32(o),i=e.getUint32(o+4),a=e.getUint32(o+8),c=e.getUint32(o+12),d=e.getUint32(o+16),f=e.getUint32(o+20),u=e.getUint32(o+24),h=e.getUint32(o+28),l=e.getUint32(o+32),w=e.getUint32(o+36),p=b(t.subarray(o+40,o+60)),g=e.getUint16(o+60),m=lt(g,o),y=B(u.toString(8));o+=62;const x=wt(t,o);if(-1===x)throw at(n,"missing NUL terminator");const E=4095&g,v=A(t.subarray(o,4095===E?x:o+E));ht(v,n),o=x+1,o=n+(o-n+7&-8),s.push({ctimeSeconds:r,ctimeNanoseconds:i,mtimeSeconds:a,mtimeNanoseconds:c,dev:d,ino:f,mode:y,uid:h,gid:l,fileSize:w,id:p,flags:m,path:P.from(v)})}const i=function(t,e,n){const r=[],o=t.length-20;for(;e+8<=o;){const s=A(t.subarray(e,e+4)),i=n.getUint32(e+4);if(e+8+i>o)throw at(e,"extension size exceeds remaining bytes");const a=s.charCodeAt(0);if(a>=97&&a<=122){const t=s.replace(/[^\x20-\x7e]/g,"?");throw at(e,`mandatory extension '${t}' not supported`)}const c=t.slice(e+8,e+8+i);r.push({signature:s,data:c}),e+=8+i}return r}(t,o,e);return{version:2,entries:s,extensions:i}}(n)},exports.readObject=An,exports.readShallow=Er,exports.readTree=Qn,exports.refNotFound=ce,exports.refspecInvalid=(e,n)=>new t.TsgitError({code:"REFSPEC_INVALID",raw:e,reason:n}),exports.resolveRef=On,exports.sortByPath=tt,exports.synthesizeTreeFromIndex=async(t,e)=>er(t,(t=>{const e=[];for(const n of t)0===n.flags.stage&&(ht(n.path,-1),tr(n.path),e.push({path:n.path,id:n.id,mode:n.mode}));return e})(e)),exports.treeDepthExceeded=l,exports.unexpectedObjectType=h,exports.updateRef=async function(e,n,r,o){le(n);const s=Me(e.layout.gitDir,n),i=_n(e);if(void 0!==o?.expected){const e=await i.resolveDirect(n),r="direct"===e.kind?e.id:"absent";if(o.expected!==r)throw((e,n,r)=>new t.TsgitError({code:"REF_UPDATE_CONFLICT",name:e,expected:n,actual:r}))(n,o.expected,r)}if(!0===o?.delete){if(await i.isLoose(n))return void await i.removeLoose(n);if("direct"===(await i.resolveDirect(n)).kind)throw t.unsupportedOperation("delete-packed-ref","deleting packed-only refs requires packed-refs rewrite");throw ce(n)}const a=(new TextEncoder).encode(`${r}\n`);await Ln(e,n,s,a)},exports.updateShallow=async(t,e)=>{const n=new Set(await Er(t));for(const t of e.shallow)n.add(t);for(const t of e.unshallow)n.delete(t);const r=xr(t);if(0===n.size)return void await(async(t,e)=>{try{await t.fs.rm(e)}catch(t){if(br(t))return;throw t}})(t,r);const o=[...n].sort(),s=(new TextEncoder).encode(o.map(t=>`${t}\n`).join(""));await(async(t,e,n)=>{const r=(t=>`${t.layout.gitDir}/shallow.lock`)(t);await t.fs.writeExclusive(r,n);try{await t.fs.rename(r,e)}catch(e){try{await t.fs.rm(r)}catch(t){if(!br(t))throw t}throw e}})(t,r,s)},exports.validateRefName=le,exports.validateWorkingTreePath=en,exports.walkCommits=Ir,exports.walkTree=Vn,exports.walkWorkingTree=async function*(t,e){const r={ctx:t,maxDepth:e?.maxDepth??4096,maxEntries:e?.maxEntries??n,ignore:e?.ignore};yield*an(r,{value:0},"",0,!0)},exports.writeObject=hn,exports.writeSymbolicRef=async(t,e,n)=>{const r=le(e),o=le(n),s=Me(t.layout.gitDir,r),i=Un.encode(function(t){return`ref: ${t}\n`}(o));await Ln(t,r,s,i)},exports.writeTree=Zn;
|
|
2
|
-
//# sourceMappingURL=index-D5Nd-Mks.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-D5Nd-Mks.cjs","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/validators.ts","../../../src/application/primitives/types.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/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/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","../../../src/application/primitives/create-commit.ts","../../../src/application/primitives/read-index.ts","../../../src/application/primitives/update-ref.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","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","pktLengthReserved","pktTooLarge","invalidBaseUrl","missingServiceHeader","invalidRefLine","invalidSidebandChannel","channel","sidebandFatal","tooManyAdvertisedRefs","ENCODER","DECODER","fatal","HEX_LENGTH_RE","ACC_CAPACITY","MAX_PKT_LINE_PAYLOAD","FLUSH_PKT","lengthPrefix","encodePktStream","payloads","total","byteLength","p","RangeError","out","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","stripTrailingNewline","s","validateOidString","splitRef","space","appendNewRef","byName","duplicateRef","refs","handleRefLine","capabilities","nul","head","tail","splitFirstRef","tokens","t","dedupeByKey","filter","trimmed","PEELED_SUFFIX","peeled","baseIdx","applyPeeled","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","refLocked","FORBIDDEN_SIMPLE","validateRefName","ch","throwIfBadChars","components","component","parseLooseRef","replace","SYMBOLIC_PREFIX","CRC32_TABLE","table","Uint32Array","c","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","looseObjectPath","gitDir","computeLooseObjectPath","looseRefPath","indexPath","lockSuffix","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","PATH_ENCODER","GIT_FORBIDDEN","validateWorkingTreePath","input","reject","rejectComponent","isForbiddenGitComponent","lowered","toLowerCase","pathspecOutsideRepo","original","walkInternal","config","counter","isRoot","maxDepth","ctx","fs","readdir","directoryPath","some","isEmbeddedGitMarker","signal","aborted","operationAborted","visitEntry","joinPath","isSymbolicLink","ignore","isFile","maxEntries","stat","lstat","layout","workDir","writeObject","hashConfig","computed","hashHex","declaredId","mkdir","objectsDir","compressed","compressor","deflate","writeExclusive","error","isFileExists","resolveObject","registry","verifyHash","maxBytes","checkAborted","loose","exists","read","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","view","DataView","buffer","byteOffset","magic","version","prev","validateFanoutMonotonicity","objectCount","crc32TableOffset","minExpectedSize","parsePackIndex","registryCache","readObject","loadAll","packs","all","createPackRegistry","getPackRegistry","storeCache","getRefStore","store","packedCache","loadPackedRefs","peeling","sorted","mtimeMs","mtimeKey","parsed","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","readBlob","decoder","workdir","rel","evaluateDirtyPath","absPath","previousId","expectedId","err","combined","blobMatches","isTrackedDirty","isUntrackedClash","writeFileEntry","symlink","write","chmod","applyEntry","blob","relPath","ctimeSeconds","floor","ctimeMs","ctimeNanoseconds","ctimeNs","mtimeSeconds","mtimeNanoseconds","mtimeNs","dev","ino","uid","gid","fileSize","flags","buildIndexEntry","applyChangeset","opts","changeset","force","dirty","offending","checkDirty","checkoutOverwriteDirty","writtenEntries","written","deleted","indexEntry","progress","update","stats","delete","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","readTree","ref","currentId","writeTree","assertDepthBounded","slashCount","synthesizeLevel","files","subdirs","slashIndex","rest","bucket","sub","groupByPrefix","treeEntries","file","subEntries","subId","SIDE_BAND_CAPS","downloadPack","transport","requestBody","req","wants","wantPayloads","forEach","w","idx","caps","wantLine","wantStream","haveStream","haves","trailer","done","buildUploadPackRequest","uploadUrl","buildUploadPackUrl","url","response","request","method","headers","statusCode","httpError","pktSource","readableStreamToAsyncIterable","iter","shallowUpdates","expectShallow","next","parseShallowResponse","meta","acks","nak","first","buffered","splitMeta","packBody","replayed","replay","sideBand","sbOptions","rawPackBytes","packBodyStream","parseUploadPackResponse","hasSideBand","progressOp","sanitize","packBytes","drainPackBodyBounded","maxResponseBytes","chunks","lastTick","packTooLargeBytes","baseUrl","URL","pathname","protocol","host","search","inflateAllEntries","parsePackHeader","objectCountCap","maxObjectsPerPack","trailerStart","entryHeader","entryEnd","bytesConsumed","entryCrc","resolveAllEntries","pending","byOffset","byId","unresolved","resolved","tryResolveEntry","firstUnresolvedError","refBaseId","isBaseHeader","baseTypeName","computeLooseObjectId","baseOffset","resolveDelta","refBase","writePackArtifacts","packSha","packDir","shallowPath","readShallow","isShallowOid","OID","resolveInput","walkCommits","invalidWalkInput","exceedsMaxWalkSeeds","validateOptions","order","ignoreMissing","queue","visited","missing","until","pickNext","fetchCommit","enqueueParents","isObjectNotFound","MAX_WALK_SEEDS","_order","advanceFrontier","frontier","intersection","encodeEntry","compressedData","packEntryTypeFor","uncompressedSize","tryEmit","emitted","resolveTagChain","recordTag","byPath","service","donors","donorByPath","leaves","treeId","collectLeaves","leaf","donor","zeroStatEntry","projectLeaf","writerEntries","oids","packfile","setUint32","serializePackHeader","metas","currentOffset","entryBytes","serializePackfile","trailerBytes","treeA","treeB","Promise","oldTree","newTree","oldEntries","newEntries","changes","domainDiffTrees","detectRenames","diff","maxSameIdDeletes","adds","deletes","other","partition","byOldId","list","pruned","buildDeletesByOldId","consumedDeletes","renames","unfoldedAdds","fold","unfoldedDeletes","renameOptions","maxObjects","commitSeeds","seeds","want","seed","collectCommitSeeds","walkCommitClosure","start","download","trailerLen","bodyEnd","expectedHex","actualHex","verifyPackTrailer","r","walkPackEntries","packChecksum","withBytes","shaBytes","n","largeCount","shaTableSize","crcTableSize","offsetTableSize","totalSize","headerSize","bucketCounts","fanout","cumulative","fanoutOffset","crcStart","offsetStart","largeOffsetStart","serializePackIndex","idxTrailerBytes","buildIdx","end","allTarget","collected","collectTargetEntries","indexForDiff","rawChangeset","forceRewriteAll","upgradeNoopsToUpdates","newIndexEntries","visitedA","visitedB","frontierA","frontierB","stepA","stepB","serverCaps","clientCaps","serverByKey","k","serverValue","expectedService","match","exec","groups","sep","consumeServiceHeader","collectRefs","directHead","find","symref","targetRef","findHead","return","extensions","trailerSize","entryCount","entryStart","rawMode","flagsRaw","getUint16","nulEnd","nameLength","FilePathFactory","extensionEnd","signature","firstChar","safe","parseExtensions","parseIndex","stage0Entries","refUpdateConflict","isLoose","unsupportedOperation","updates","deleteIfPresent","shallowLockPath","rmErr","atomicWrite","validatedName","validatedTarget","serializeSymbolicRef"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-http-transport-Pjyme5KN.cjs","sources":["../../../src/adapters/memory/memory-compressor.ts","../../../src/adapters/memory/memory-file-system.ts","../../../src/adapters/memory/memory-hash-service.ts","../../../src/adapters/memory/memory-http-transport.ts"],"sourcesContent":[null,null,null,null],"names":["async","runTransform","data","transform","reader","ReadableStream","start","controller","enqueue","close","pipeThrough","getReader","chunks","total","done","value","read","push","length","out","Uint8Array","offset","chunk","set","describeError","err","Error","message","String","MemoryFileSystem","files","Map","directories","Set","symlinks","times","rootDir","constructor","options","this","add","key","Object","entries","normalized","resolve","slice","touch","ensureParentDirs","path","stored","get","undefined","fileNotFound","readSlice","permissionDenied","end","Math","min","readUtf8","bytes","TextDecoder","decode","write","writeExclusive","has","fileExists","writeUtf8","content","TextEncoder","encode","exists","static","stat","statFollowing","currentPath","originalPath","hops","SYMLINK_FOLLOW_LIMIT","unsupportedOperation","target","buildStat","lstat","makeStatRecord","size","isFile","isDirectory","isSymbolicLink","readdir","notADirectory","prefix","seen","filePath","keys","addDirectEntry","linkPath","dirPath","Array","from","values","mkdir","addDirectoryRecursive","rm","delete","hasChildren","directoryNotEmpty","rename","src","dst","normalizedSrc","normalizedDst","fileBytes","linkTarget","timestamp","readlink","symlink","chmod","_mode","rmRecursive","removeLeafEntry","removeSubtree","matchingFiles","collectStartsWith","matchingLinks","matchingDirs","dirs","exact","startsWith","collectMatchingDirs","deleteAll","deleteAllFromSet","openWithNoFollow","makeMemoryHandle","buffer","position","subarray","max","segments","split","resolved","segment","pop","join","normalizePath","normalizedPath","parentOf","current","now","Date","ctimeMs","mtimeMs","byteLength","parts","timestamps","dev","ino","mode","uid","gid","fullPath","kind","remainder","slashIndex","indexOf","name","lastIndexOf","map","SUBTLE_ALGO","sha1","sha256","DIGEST_LENGTH","bytesToHex","byte","toString","padStart","buildKey","method","url","CompressionStream","DecompressionStream","compressFailed","deflate","inflate","decompressFailed","streamInflate","attempt","output","bytesConsumed","createInflateStream","algorithm","digestLength","subtleAlgo","subtle","globalThis","crypto","hashFailed","hash","digest","hashHex","createHasher","algo","consumed","doDigest","reduce","sum","concatenated","result","update","digestHex","mocks","request","req","mock","networkError","bodyBytes","body","statusCode","headers","addMockResponse","lowercasedHeaders","response","toLowerCase","clearMocks","clear"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("node:zlib"),e=require("./error-CqLvhejR.cjs"),i=require("node:fs"),s=require("./lru-cache-1OU7JhD8.cjs"),a=require("node:fs/promises"),r=require("node:path"),n=require("node:crypto"),o=require("node:http"),c=require("node:https"),h=require("node:stream");function l(t){var e=Object.create(null);return t&&Object.keys(t).forEach(function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}}),e.default=t,Object.freeze(e)}var d=l(i),m=l(a),u=l(r),f=l(o),p=l(c);function y(t){return t instanceof Error?t.message:String(t)}const w=m,O=t=>{if("\\"!==t&&"/"!==t)throw new Error(`PathPolicy: unsupported separator ${JSON.stringify(t)}`);return t},g=(t,e)=>({sep:O(t.sep),caseInsensitive:e,isAbsolute:e=>t.isAbsolute(e),resolve:(...e)=>t.resolve(...e),join:(...e)=>t.join(...e),dirname:e=>t.dirname(e),basename:e=>t.basename(e),rootOf:e=>t.parse(e).root,normalizeForCompare:t=>{return e?(i=t,i.startsWith("\\\\?\\UNC\\")?"\\\\"+i.slice(8):i.startsWith("\\\\?\\")?i.slice(4):i).toLowerCase():t;var i}}),N=g(u.posix,!1),P=g(u.win32,!0),C="win32"===process.platform?P:N;function v(t,e,i=C){return i.isAbsolute(t)?t:i.join(e,t)}function E(t){return t instanceof Error&&"code"in t}function k(t,e,i=C){const s=i.normalizeForCompare(e);return s===t||s.startsWith(t+i.sep)}function b(t,i){switch(t.code){case"ENOENT":return e.fileNotFound(i);case"EEXIST":return e.fileExists(i);case"ENOTDIR":return e.notADirectory(i);case"ENOTEMPTY":return e.directoryNotEmpty(i);case"EACCES":case"EPERM":case"ELOOP":case"EISDIR":return e.permissionDenied(i);default:return e.unsupportedOperation("filesystem",t.code??"UNKNOWN")}}async function R(t,e){try{return await t()}catch(t){if(E(t))throw b(t,e);throw t}}async function D(t,e=C,i=w){const s=e.rootOf(t),a=t.slice(s.length).split(e.sep).filter(Boolean);for(let t=a.length;t>0;t--){const r=s+a.slice(0,t).join(e.sep);try{const s=await i.realpath(r),n=a.slice(t).join(e.sep);return n.length>0?e.join(s,n):s}catch(t){if(E(t)&&"ENOENT"===t.code)continue;throw t}}const r=await i.realpath(s);return a.length>0?e.join(r,a.join(e.sep)):r}function F(t){const e={ctimeMs:Number(t.ctimeMs),mtimeMs:Number(t.mtimeMs),dev:Number(t.dev),ino:Number(t.ino),mode:Number(t.mode),uid:Number(t.uid),gid:Number(t.gid),size:Number(t.size),isFile:t.isFile(),isDirectory:t.isDirectory(),isSymbolicLink:t.isSymbolicLink()};return void 0!==t.ctimeNs&&void 0!==t.mtimeNs?{...e,ctimeNs:t.ctimeNs,mtimeNs:t.mtimeNs}:e}const T={sha1:20,sha256:32};function S(t){const e={};for(const[i,s]of Object.entries(t))void 0!==s&&(e[i.toLowerCase()]=Array.isArray(s)?s.join(", "):s);return e}exports.NodeCompressor=class{maxInflatedBytes;constructor(t){this.maxInflatedBytes=t?.maxInflatedBytes??2147483648}deflate=async i=>{try{return new Uint8Array(t.deflateSync(i))}catch(t){throw e.compressFailed(y(t))}};inflate=async i=>{try{return new Uint8Array(t.inflateSync(i,{maxOutputLength:this.maxInflatedBytes}))}catch(t){throw e.decompressFailed(y(t))}};streamInflate=async(i,s)=>{const a=this.maxInflatedBytes;return new Promise((r,n)=>{const o=t.createInflate(),c=[];let h=0;const l=i.subarray(s);o.on("data",t=>{if(h+=t.length,h>a)return o.destroy(),void n(e.decompressFailed("inflated output exceeds safety cap"));c.push(new Uint8Array(t))}),o.on("end",()=>{const t=o.bytesWritten,e=function(t){const e=t.reduce((t,e)=>t+e.length,0),i=new Uint8Array(e);let s=0;for(const e of t)i.set(e,s),s+=e.length;return i}(c);r({output:e,bytesConsumed:t})}),o.on("error",t=>{n(e.decompressFailed(t.message))}),o.end(l)})};createInflateStream=()=>{const i=this.maxInflatedBytes,s=t.createInflate();let a,r,n=0;return new TransformStream({start(t){a=t,s.on("data",t=>{if(n+=t.length,n>i)return a?.error(e.decompressFailed("inflated output exceeds safety cap")),void s.destroy();a?.enqueue(new Uint8Array(t))}),r=new Promise((t,i)=>{s.on("end",()=>{a?.terminate(),t()}),s.on("error",t=>{const s=e.decompressFailed(t.message);a?.error(s),i(s)})})},transform(t){s.write(t)},flush:()=>(s.end(),r)})}},exports.NodeFileSystem=class{rootDir;pathPolicy;fsOps;creationParentCache=s.createLruCache(65536,64);canonicalRootPromise=void 0;normalizedRootDir=void 0;normalizedCanonicalRoot=void 0;constructor(t,e=C,i=w){this.rootDir=t,this.pathPolicy=e,this.fsOps=i}getNormalizedRootDir(){return void 0===this.normalizedRootDir&&(this.normalizedRootDir=this.pathPolicy.normalizeForCompare(this.rootDir)),this.normalizedRootDir}getResolvedNormalizedCanonicalRoot(){return this.normalizedCanonicalRoot}async getCanonicalRoot(){return void 0===this.canonicalRootPromise&&(this.canonicalRootPromise=this.fsOps.realpath(this.rootDir).then(t=>(this.normalizedCanonicalRoot=this.pathPolicy.normalizeForCompare(t),t)).catch(t=>{throw this.canonicalRootPromise=void 0,this.normalizedCanonicalRoot=void 0,t})),this.canonicalRootPromise}read=async t=>{const e=await this.checkContainment(t,"read");return R(async()=>new Uint8Array(await this.fsOps.readFile(e)),t)};readSlice=async(t,i,s)=>{if(i<0||s<0)throw e.permissionDenied(t);const a=await this.checkContainment(t,"read");let r;try{return await R(async()=>{r=await this.fsOps.open(a,"r");const t=Buffer.alloc(s),{bytesRead:e}=await r.read(t,0,s,i);return Uint8Array.from(t.subarray(0,e))},t)}finally{await(r?.close())}};readUtf8=async t=>{const e=await this.checkContainment(t,"read");return R(()=>this.fsOps.readFile(e,"utf-8"),t)};write=async(t,e)=>{const i=await this.checkContainment(t,"creation");await R(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e)},t)};writeExclusive=async(t,e)=>{const i=await this.checkContainment(t,"creation");await R(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e,{flag:"wx"})},t)};writeUtf8=async(t,e)=>{const i=await this.checkContainment(t,"creation");await R(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e,"utf-8")},t)};exists=async t=>{const i=this.pathPolicy.resolve(v(t,this.rootDir,this.pathPolicy));await this.getCanonicalRoot();const s=this.getNormalizedRootDir(),a=this.getResolvedNormalizedCanonicalRoot();try{if(!k(a,await this.fsOps.realpath(i),this.pathPolicy))throw e.permissionDenied(t);return!0}catch(r){if(r instanceof e.TsgitError)throw r;if(E(r)&&"ENOENT"===r.code){if(!k(s,i,this.pathPolicy)&&!k(a,i,this.pathPolicy))throw e.permissionDenied(t);return!1}if(E(r))throw b(r,t);throw r}};stat=async t=>{const e=await this.checkContainment(t,"read");return R(async()=>F(await this.fsOps.stat(e,{bigint:!0})),t)};lstat=async t=>{const e=await this.checkContainment(t,"lstat");return R(async()=>F(await this.fsOps.lstat(e,{bigint:!0})),t)};readdir=async t=>{const e=await this.checkContainment(t,"read");return R(async()=>(await this.fsOps.readdir(e,{withFileTypes:!0})).map(t=>({name:t.name,isFile:t.isFile(),isDirectory:t.isDirectory(),isSymbolicLink:t.isSymbolicLink()})),t)};mkdir=async t=>{const e=await this.checkContainment(t,"creation");await R(()=>this.fsOps.mkdir(e,{recursive:!0}),t)};rm=async t=>{const e=await this.checkContainment(t,"read");await R(()=>this.fsOps.rm(e),t)};rename=async(t,e)=>{const i=await this.checkContainment(t,"read"),s=await this.checkContainment(e,"creation");await R(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(s),{recursive:!0}),await this.fsOps.rename(i,s)},t),this.creationParentCache.clear()};readlink=async t=>{const e=await this.checkContainment(t,"lstat");return R(()=>this.fsOps.readlink(e),t)};symlink=async(t,i)=>{if(this.pathPolicy.isAbsolute(t)){const s=this.pathPolicy.resolve(t),a=await D(s,this.pathPolicy,this.fsOps);await this.getCanonicalRoot();const r=this.getNormalizedRootDir(),n=this.getResolvedNormalizedCanonicalRoot();if(!k(r,a,this.pathPolicy)&&!k(n,a,this.pathPolicy))throw e.permissionDenied(i)}const s=await this.checkContainment(i,"creation");await R(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(s),{recursive:!0}),await this.fsOps.symlink(t,s)},i)};chmod=async(t,e)=>{const i=await this.checkContainment(t,"read");await R(()=>this.fsOps.chmod(i,e),t)};rmRecursive=async t=>{let i;try{i=await this.checkContainment(t,"lstat"),await R(()=>this.fsOps.lstat(i),t)}catch(t){if(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code)return;throw t}await this.removeTree(i,t),this.creationParentCache.clear()};openWithNoFollow=async(t,i)=>{const s=await this.checkContainment(t,"lstat");if(this.pathPolicy.caseInsensitive&&await this.isSymlinkLeaf(s))throw e.permissionDenied(t);const a="write"===i?d.constants.O_WRONLY:d.constants.O_RDONLY;return function(t){let e=!1;return{read:async(e,i,s,a)=>{const{bytesRead:r}=await t.read(e,i,s,a??null);return r},write:async e=>{await t.write(e,0,e.length)},stat:async()=>F(await t.stat({bigint:!0})),close:async()=>{e||(e=!0,await t.close())}}}(await R(()=>this.fsOps.open(s,a|d.constants.O_NOFOLLOW),t).catch(i=>{if(function(t,i=C){return!!i.caseInsensitive&&t instanceof e.TsgitError&&("PERMISSION_DENIED"===t.data.code||"UNSUPPORTED_OPERATION"===t.data.code)}(i,this.pathPolicy))throw e.permissionDenied(t);throw i}))};async isSymlinkLeaf(t){try{return(await this.fsOps.lstat(t)).isSymbolicLink()}catch(t){if(E(t)&&"ENOENT"===t.code)return!1;throw t}}async removeTree(t,e){const i=await R(()=>this.fsOps.lstat(t),e);if(!i.isDirectory()||i.isSymbolicLink())return void await R(()=>this.fsOps.rm(t,{force:!0}),e);const s=await R(()=>this.fsOps.readdir(t,{withFileTypes:!0}),e);await async function(t,e,i){if(0===t.length)return;let s=0;const a=Math.min(8,t.length),r=Array.from({length:a},async()=>{for(;;){const e=s;if(s+=1,e>=t.length)return;const a=t[e];if(void 0===a)return;await i(a)}});await Promise.all(r)}(s,0,i=>this.removeTree(this.pathPolicy.join(t,i.name),e)),await R(()=>this.fsOps.rmdir(t),e)}async resolveForCreation(t,i){const s=await this.realpathForCreation(i);let a;try{a={ok:!0,isSymlink:(await this.fsOps.lstat(s)).isSymbolicLink()}}catch(t){a={ok:!1,err:t}}return function(t,i){if(t.ok){if(t.isSymlink)throw e.permissionDenied(i);return}const{err:s}=t;if(E(s)){if("ENOENT"===s.code)return;throw b(s,i)}throw s}(a,t),s}async realpathForCreation(t){const e=this.pathPolicy.dirname(t),i=this.pathPolicy.basename(t),s=this.creationParentCache.get(e);if(void 0!==s)return this.pathPolicy.join(s,i);try{const t=await this.fsOps.realpath(e);return this.creationParentCache.set(e,t,e.length+t.length),this.pathPolicy.join(t,i)}catch(e){if(E(e)&&"ENOENT"===e.code)return D(t,this.pathPolicy,this.fsOps);throw e}}async resolveForMode(t,e,i,s){if("read"===i)return s(e),this.fsOps.realpath(e);if("lstat"===i){s(e);const t=await this.fsOps.realpath(this.pathPolicy.dirname(e));return this.pathPolicy.join(t,this.pathPolicy.basename(e))}return this.resolveForCreation(t,e)}async checkContainment(t,i){const s=this.pathPolicy.resolve(v(t,this.rootDir,this.pathPolicy));await this.getCanonicalRoot();const a=this.getNormalizedRootDir(),r=this.getResolvedNormalizedCanonicalRoot(),n=i=>{if(!k(a,i,this.pathPolicy)&&!k(r,i,this.pathPolicy))throw e.permissionDenied(t)};try{const e=await this.resolveForMode(t,s,i,n);return n(e),e}catch(i){if(i instanceof e.TsgitError)throw i;if(E(i)&&"ENOENT"===i.code)throw e.fileNotFound(t);if(E(i))throw b(i,t);throw i}}},exports.NodeHashService=class{algorithm;digestLength;constructor(t="sha1"){this.algorithm=t,this.digestLength=T[t]}hash=async t=>new Uint8Array(n.createHash(this.algorithm).update(t).digest());hashHex=async t=>n.createHash(this.algorithm).update(t).digest("hex");createHasher=()=>{const t=n.createHash(this.algorithm);let i=!1;return{update:s=>{if(i)throw e.hashFailed("cannot update after digest");t.update(s)},digest:async()=>{if(i)throw e.hashFailed("cannot digest after digest");return i=!0,new Uint8Array(t.digest())},digestHex:async()=>{if(i)throw e.hashFailed("cannot digest after digest");return i=!0,t.digest("hex")}}}},exports.NodeHttpTransport=class{allowInsecureHttp;constructor(t={}){this.allowInsecureHttp=t.allowInsecureHttp??!1}request=async t=>{const i=new URL(t.url);if("http:"===i.protocol&&!this.allowInsecureHttp)throw e.networkError("HTTPS required — set allowInsecureHttp to allow plaintext HTTP");const s="https:"===i.protocol?p:f;return new Promise((a,r)=>{const n={method:t.method,headers:{...t.headers}};void 0!==t.signal&&(n.signal=t.signal);const o=s.request(i,n,t=>{a({statusCode:t.statusCode,headers:S(t.headers),body:h.Readable.toWeb(t)})});o.on("error",t=>{r(e.networkError(function(t){switch(t.code){case"ENOTFOUND":return"DNS resolution failed";case"ECONNREFUSED":return"Connection refused";case"ETIMEDOUT":return"Connection timed out";default:return"network error"}}(t)))}),void 0!==t.body&&o.write(Buffer.from(t.body)),o.end()})}};
|
|
2
|
-
//# sourceMappingURL=node-http-transport-UkW5eEm3.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-http-transport-UkW5eEm3.cjs","sources":["../../../src/adapters/node/node-compressor.ts","../../../src/adapters/node/fs-operations.ts","../../../src/adapters/node/path-policy.ts","../../../src/adapters/node/node-file-system.ts","../../../src/adapters/node/node-hash-service.ts","../../../src/adapters/node/node-http-transport.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["describeError","err","Error","message","String","realFsOps","fsPromises","narrowSep","sep","JSON","stringify","makePolicy","impl","caseInsensitive","isAbsolute","path","resolve","parts","join","dirname","basename","rootOf","parse","root","normalizeForCompare","p","startsWith","slice","WIN_EXTENDED_UNC_PREFIX","WIN_EXTENDED_PREFIX","toLowerCase","posixPolicy","nodePath","posix","windowsPolicy","win32","nativePolicy","process","platform","toAbsolute","rootDir","policy","isErrnoException","pathContainsNormalized","normalizedParent","child","c","mapErrno","code","fileNotFound","fileExists","notADirectory","directoryNotEmpty","permissionDenied","unsupportedOperation","async","runFs","op","realpathNearestExisting","absolute","fsOps","segments","length","split","filter","Boolean","i","candidate","real","realpath","remaining","realRoot","mapStat","s","base","ctimeMs","Number","mtimeMs","dev","ino","mode","uid","gid","size","isFile","isDirectory","isSymbolicLink","undefined","ctimeNs","mtimeNs","DIGEST_LENGTH","sha1","sha256","normalizeHeaders","rawHeaders","headers","key","value","Object","entries","Array","isArray","maxInflatedBytes","constructor","options","this","deflate","data","Uint8Array","deflateSync","compressFailed","inflate","inflateSync","maxOutputLength","decompressFailed","streamInflate","bytes","offset","cap","Promise","reject","createInflate","chunks","total","subarray","on","chunk","destroy","push","consumed","bytesWritten","output","reduce","out","set","concatUint8","bytesConsumed","end","createInflateStream","controller","endPromise","TransformStream","start","error","enqueue","terminate","mapped","transform","write","flush","pathPolicy","creationParentCache","createLruCache","canonicalRootPromise","normalizedRootDir","normalizedCanonicalRoot","getNormalizedRootDir","getResolvedNormalizedCanonicalRoot","getCanonicalRoot","then","canonical","catch","read","checkContainment","readFile","readSlice","handle","open","buf","Buffer","alloc","bytesRead","from","close","readUtf8","mkdir","recursive","writeFile","writeExclusive","flag","writeUtf8","content","exists","resolved","normalizedRoot","normalizedCanonical","TsgitError","stat","bigint","lstat","readdir","withFileTypes","map","entry","name","rm","rename","src","dst","realSrc","realDst","clear","readlink","symlink","target","lexical","resolvedTarget","chmod","rmRecursive","removeTree","openWithNoFollow","isSymlinkLeaf","fs","constants","O_WRONLY","O_RDONLY","closed","buffer","position","wrapNodeHandle","O_NOFOLLOW","isWindowsSymlinkRefusal","originalPath","leafStat","force","items","limit","fn","next","workerCount","Math","min","workers","item","all","mapConcurrent","rmdir","resolveForCreation","realpathForCreation","lstatResult","ok","isSymlink","result","interpretCreationLstat","parent","cached","get","realParent","resolveForMode","check","abs","algorithm","digestLength","hash","createHash","update","digest","hashHex","createHasher","inner","hashFailed","digestHex","allowInsecureHttp","request","req","url","URL","protocol","networkError","client","https","http","requestOptions","method","signal","clientRequest","res","statusCode","body","Readable","toWeb","sanitizeErrorReason"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./error-CqLvhejR.cjs"),r=require("./logger-C8Z5BfFF.cjs"),t=require("./progress-CntEbiuo.cjs"),s=require("./index-BcxdLkNe.cjs"),o=require("./index-D5Nd-Mks.cjs");const i=["fs","transport","compressor","hash"],a=e=>{if(null!==e&&"object"==typeof e&&!Object.isFrozen(e)){Object.freeze(e);for(const r of Object.keys(e))a(e[r])}},n=/^[A-Za-z]:[/\\]/,l=(r,t)=>{const s=r=>{if(!c(r,t))throw e.pathspecOutsideRepo(r)};return{read:e=>(s(e),r.read(e)),readSlice:(e,t,o)=>(s(e),r.readSlice(e,t,o)),readUtf8:e=>(s(e),r.readUtf8(e)),write:(e,t)=>(s(e),r.write(e,t)),writeExclusive:(e,t)=>(s(e),r.writeExclusive(e,t)),writeUtf8:(e,t)=>(s(e),r.writeUtf8(e,t)),exists:e=>(s(e),r.exists(e)),stat:e=>(s(e),r.stat(e)),lstat:e=>(s(e),r.lstat(e)),readdir:e=>(s(e),r.readdir(e)),mkdir:e=>(s(e),r.mkdir(e)),rm:e=>(s(e),r.rm(e)),rename:(e,t)=>(s(e),s(t),r.rename(e,t)),readlink:e=>(s(e),r.readlink(e)),symlink:(e,t)=>(s(e),s(t),r.symlink(e,t)),chmod:(e,t)=>(s(e),r.chmod(e,t)),rmRecursive:e=>(s(e),r.rmRecursive(e)),openWithNoFollow:(e,t)=>(s(e),r.openWithNoFollow(e,t))}},d=e=>e.replace(/\\/g,"/"),c=(e,r)=>{const t=d(e),s=d(r);if(t===s)return!0;const o=s.endsWith("/")?s:`${s}/`;return t.startsWith(o)},p=(e,r)=>{const t=r?.allowInsecure??!1,o=r?.allowPrivateNetworks??!1,i=r?.dnsResolver??m;return{request:async r=>(await s.validateUrl(r.url,{resolver:i,allowInsecure:t,allowPrivateNetworks:o}),e.request(r))}},m=async()=>[];exports.openRepository=async(d,c)=>{(r=>{if(void 0!==r.cwd&&!(e=>e.startsWith("/")||e.startsWith("\\\\")||n.test(e))(r.cwd))throw e.invalidOption("cwd","must be an absolute path");const t=r.config;void 0!==t&&((r=>{if(void 0!==r){if(!Number.isInteger(r))throw e.invalidOption("parallelism","must be an integer");if(r<1||r>32)throw e.invalidOption("parallelism",`must be in 1..32 (got ${r})`)}})(t.parallelism),(r=>{if(void 0!==r&&r<1024)throw e.invalidOption("maxResponseBytes",`must be >= 1024 (got ${r})`)})(t.maxResponseBytes),(r=>{if(void 0!==r&&r<0)throw e.invalidOption("breakStaleLockMs",`must be >= 0 (got ${r})`)})(t.breakStaleLockMs),(r=>{if(void 0!==r&&r<1)throw e.invalidOption("maxObjectsPerPack",`must be >= 1 (got ${r})`)})(t.maxObjectsPerPack),(r=>{if(void 0!==r&&r<1)throw e.invalidOption("maxDnsResults",`must be >= 1 (got ${r})`)})(t.maxDnsResults),(r=>{if(void 0!==r&&"function"!=typeof r)throw e.invalidOption("dnsResolver","must be a function")})(t.dnsResolver))})(d);const m=d.cwd??(r.isNode()?globalThis.process.cwd():"/"),f=((r,t)=>{const s={fs:r.fs??t.fs,hash:r.hash??t.hash,compressor:r.compressor??t.compressor,transport:r.transport??t.transport};if(void 0===s.fs)throw e.adapterUnavailable(t.runtime,"fs adapter missing");if(void 0===s.hash)throw e.adapterUnavailable(t.runtime,"hash adapter missing");if(void 0===s.compressor)throw e.adapterUnavailable(t.runtime,"compressor adapter missing");if(void 0===s.transport)throw e.adapterUnavailable(t.runtime,"transport adapter missing");return s})(d,c),w=!0===d.unsafeRawAdapters?f:{...f,fs:l(f.fs,c.layout.workDir),transport:p(f.transport,d.config)},h=void 0!==d.config?(u={...d.config},a(u),u):void 0;var u;const g=new AbortController,v=void 0!==d.signal?AbortSignal.any([g.signal,d.signal]):g.signal,b={fs:w.fs,hash:w.hash,compressor:w.compressor,transport:w.transport,progress:d.progress??t.noopProgress,layout:c.layout,cwd:m,hashConfig:c.hashConfig,deltaCache:c.deltaCache,signal:v},k=void 0!==d.logger?r.wrapLoggerSanitizer(d.logger):void 0,y=Object.freeze({...b,...void 0!==h?{config:h}:{},...void 0!==k?{logger:k}:{}});let O,R="OPEN";const j=()=>{if(y.signal.aborted)throw e.repositoryDisposed()},x=Object.freeze({add:(e,r)=>(j(),s.add(y,e,r)),branch:e=>(j(),s.branch(y,e)),checkout:e=>(j(),s.checkout(y,e)),clone:e=>(j(),s.clone(y,e)),commit:e=>(j(),s.commit(y,e)),diff:e=>(j(),s.diff(y,e)),fetch:e=>(j(),s.fetch(y,e)),init:e=>(j(),s.init(y,e)),log:e=>(j(),s.log(y,e)),merge:e=>(j(),s.merge(y,e)),push:e=>(j(),s.push(y,e)),reset:e=>(j(),s.reset(y,e)),revParse:e=>(j(),s.revParse(y,e)),rm:(e,r)=>(j(),s.rm(y,e,r)),status:()=>(j(),s.status(y)),tag:e=>(j(),s.tag(y,e)),primitives:Object.freeze({createCommit:e=>(j(),o.createCommit(y,e)),diffTrees:(e,r,t)=>(j(),o.diffTrees(y,e,r,t)),getRepoRoot:()=>(j(),o.getRepoRoot(y)),mergeBase:(e,r)=>(j(),o.mergeBase(y,e,r)),readBlob:(e,r)=>(j(),o.readBlob(y,e,r)),readIndex:()=>(j(),o.readIndex(y)),readObject:(e,r)=>(j(),o.readObject(y,e,r)),readTree:e=>(j(),o.readTree(y,e)),resolveRef:(e,r)=>(j(),o.resolveRef(y,e,r)),updateRef:(e,r,t)=>(j(),o.updateRef(y,e,r,t)),walkCommits:e=>(j(),o.walkCommits(y,e)),walkTree:(e,r)=>(j(),o.walkTree(y,e,r)),walkWorkingTree:e=>(j(),o.walkWorkingTree(y,e)),writeObject:e=>(j(),o.writeObject(y,e)),writeSymbolicRef:(e,r)=>(j(),o.writeSymbolicRef(y,e,r)),writeTree:e=>(j(),o.writeTree(y,e))}),ctx:y,dispose:async()=>{if("DISPOSED"!==R)return void 0!==O||(R="DISPOSING",g.abort(),O=(async()=>{await new Promise(e=>{"function"==typeof setImmediate?setImmediate(e):setTimeout(e,0)}),await(async e=>{await Promise.all(i.map(r=>(async(e,r)=>{const t=e[r];if("function"==typeof t.dispose)try{await t.dispose()}catch(t){e.logger?.warn?.("disposeAdapters: port dispose threw",{port:r,err:String(t)})}})(e,r)))})(y),R="DISPOSED"})()),O}});return x};
|
|
2
|
-
//# sourceMappingURL=repository-B_jx2AKW.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository-B_jx2AKW.cjs","sources":["../../../src/dispose-adapters.ts","../../../src/repository/deep-freeze.ts","../../../src/repository/validate-options.ts","../../../src/repository/wrap-fs-validator.ts","../../../src/repository/wrap-transport-validator.ts","../../../src/repository.ts","../../../src/repository/default-cwd.ts","../../../src/repository/compose-adapters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DISPOSABLE_PORT_KEYS","walk","value","Object","isFrozen","freeze","key","keys","ABS_WINDOWS","wrapFsValidator","fs","cwd","guard","path","isContainedIn","pathspecOutsideRepo","read","p","readSlice","o","l","readUtf8","write","d","writeExclusive","writeUtf8","c","exists","stat","lstat","readdir","mkdir","rm","rename","s","readlink","symlink","target","linkPath","chmod","mode","rmRecursive","openWithNoFollow","normalizeSeparators","replace","a","b","normalizedCwd","endsWith","startsWith","wrapTransportValidator","transport","config","allowInsecure","allowPrivateNetworks","resolver","dnsResolver","defaultResolver","request","async","req","validateUrl","url","opts","fallback","undefined","test","isAbsolutePath","invalidOption","Number","isInteger","validateParallelism","parallelism","validateMaxResponseBytes","maxResponseBytes","validateBreakStaleLockMs","breakStaleLockMs","validateMaxObjectsPerPack","maxObjectsPerPack","validateMaxDnsResults","maxDnsResults","validateDnsResolver","validateOptions","isNode","globalThis","process","detected","overrides","resolved","hash","compressor","adapterUnavailable","runtime","composeAdapters","adapters","unsafeRawAdapters","layout","workDir","controller","AbortController","signal","AbortSignal","any","baseCtx","progress","noopProgress","hashConfig","deltaCache","sanitizedLogger","logger","wrapLoggerSanitizer","ctx","disposePromise","state","aborted","repositoryDisposed","repo","add","paths","addOpts","commands.add","branch","action","commands.branch","checkout","checkoutOpts","commands.checkout","clone","cloneOpts","commands.clone","commit","commitOpts","commands.commit","diff","diffOpts","commands.diff","fetch","fetchOpts","commands.fetch","init","initOpts","commands.init","log","logOpts","commands.log","merge","mergeOpts","commands.merge","push","pushOpts","commands.push","reset","resetOpts","commands.reset","revParse","expression","commands.revParse","rmOpts","commands.rm","status","commands.status","tag","commands.tag","primitives","createCommit","input","primitives.createCommit","diffTrees","options","primitives.diffTrees","getRepoRoot","primitives.getRepoRoot","mergeBase","primitives.mergeBase","readBlob","id","primitives.readBlob","readIndex","primitives.readIndex","readObject","primitives.readObject","readTree","ref","primitives.readTree","resolveRef","name","primitives.resolveRef","updateRef","newId","primitives.updateRef","walkCommits","primitives.walkCommits","walkTree","treeIdOrObject","primitives.walkTree","walkWorkingTree","primitives.walkWorkingTree","writeObject","object","primitives.writeObject","writeSymbolicRef","primitives.writeSymbolicRef","writeTree","entries","primitives.writeTree","dispose","abort","Promise","resolve","setImmediate","setTimeout","all","map","port","err","warn","String","disposePort","disposeAdapters"],"mappings":"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"}
|