@scolladon/tsgit 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -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-C2Hsdobk.d.ts +354 -0
- package/dist/types/chunks/reflog-entry-DNvSz7S5.d.cts +354 -0
- package/dist/types/chunks/{repository-23evW2h-.d.cts → repository-DCR_3RVt.d.cts} +21 -3
- package/dist/types/chunks/{repository-BT7Xq1kJ.d.ts → repository-DFxFeYi3.d.ts} +21 -3
- package/dist/types/chunks/write-tree-CuhpWKFo.d.cts +164 -0
- package/dist/types/chunks/write-tree-Dn1LtIh7.d.ts +164 -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 +197 -7
- package/dist/types/primitives/index.d.ts +197 -7
- package/package.json +207 -17
- 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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("./error-CDLOBdNU.cjs"),t=require("./index-BVArBKuk.cjs"),r=require("../transport/index.cjs"),a=require("./readable-stream-MTA6D0Zh.cjs");const i=t=>new e.TsgitError({code:"INVALID_DIFF_INPUT",reason:t});function o(e){const t=[];return void 0!==e.baseId&&void 0!==e.baseMode&&t.push({id:e.baseId,mode:e.baseMode,stage:1}),void 0!==e.ourId&&void 0!==e.ourMode&&t.push({id:e.ourId,mode:e.ourMode,stage:2}),void 0!==e.theirId&&void 0!==e.theirMode&&t.push({id:e.theirId,mode:e.theirMode,stage:3}),t}function n(e,r,a){const i=a(r.mode);return{ctimeSeconds:i.ctimeSeconds,ctimeNanoseconds:i.ctimeNanoseconds,mtimeSeconds:i.mtimeSeconds,mtimeNanoseconds:i.mtimeNanoseconds,dev:i.dev,ino:i.ino,mode:r.mode,uid:i.uid,gid:i.gid,fileSize:i.fileSize,id:r.id,flags:{...t.STAGE0_FLAGS,stage:r.stage},path:e}}const s=1e5;function c(e){const t=[];let r=0;for(let a=0;a<e.length;a++)10===e[a]&&(t.push(e.subarray(r,a+1)),r=a+1);return r<e.length&&t.push(e.subarray(r)),t}function d(e){return function(e){const t=Math.min(e.length,8e3);for(let r=0;r<t;r++)if(0===e[r])return!0;return!1}(e)||function(e){let t=0,r=0;for(let a=0;a<e.length;a++){if(t++,t>=65536)return!0;if(10===e[a]){if(r++,r>=s)return!0;t=0}}return t>0&&(r++,r>=s)}(e)}function f(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function l(e,t,r,a){return a===-r||e[a-1+t]<e[a+1+t]}function u(e,t,r,a,i,o){let n=l(r,a,i,o)?r[o+1+a]:r[o-1+a]+1,s=n-o;for(;n<e.length&&s<t.length&&f(e[n],t[s]);)n++,s++;return{x:n,y:s}}function h(e){const t=[];let r=0,a=0,i=0;for(;i<e.length;){const o=e[i],n=r,s=a;for(;e[i]===o;)"equal"===o?(r++,a++):"delete"===o?r++:a++,i++;t.push({kind:"equal"===o?"common":"delete"===o?"ours-only":"theirs-only",oursStart:n,oursEnd:r,theirsStart:s,theirsEnd:a})}return t}function w(e,t){const r=c(e),a=c(t),i=r.length,o=a.length;if(0===i&&0===o)return{hunks:[{kind:"common",oursStart:0,oursEnd:0,theirsStart:0,theirsEnd:0}],oursLines:r,theirsLines:a,degraded:!1};const n=function(e,t){const r=e.length,a=t.length;if(r+a>5e4)return;const i=r+a,o=i,n=new Array(2*i+1).fill(0),s=[],c=1e3*i;let d=0;for(let i=0;;i++){const f=2*i+1,l=new Array(f);for(let e=0;e<f;e++)l[e]=n[o-i+e];s.push(l);for(let f=-i;f<=i;f+=2){if(d++,d>c)return;const l=u(e,t,n,o,i,f);if(n[f+o]=l.x,l.x>=r&&l.y>=a)return{trace:s,totalD:i}}}}(r,a);return void 0===n?function(e,t){const r=[];return e.length>0&&r.push({kind:"ours-only",oursStart:0,oursEnd:e.length,theirsStart:0,theirsEnd:0}),t.length>0&&r.push({kind:"theirs-only",oursStart:e.length,oursEnd:e.length,theirsStart:0,theirsEnd:t.length}),{hunks:r,oursLines:e,theirsLines:t,degraded:!0}}(r,a):{hunks:h(function(e,t,r){const a=[];let i=e,o=t;for(let e=r.length-1;e>0;e--){const t=r[e],n=e,s=i-o,c=l(t,n,e,s)?s+1:s-1,d=t[c+n],f=d-c;for(;i>d&&o>f;)a.push("equal"),i--,o--;a.push(i===d?"insert":"delete"),i===d?o--:i--}for(;i>0;)a.push("equal"),i--;return a.reverse(),a}(i,o,n.trace)),oursLines:r,theirsLines:a,degraded:!1}}const p=(e,t,r)=>{let a="unset";for(const i of e)i.directoryOnly&&!r||i.compiled.test(t)&&(a=i.negated?"unignored":"ignored");return a},m=(e,t)=>{if(""===t)return e;const r=`${t}/`;return e.startsWith(r)?e.slice(r.length):void 0},g=e=>{const r=e.startsWith("!"),a=r?e.slice(1):e;return t.containsGlob(a)?{pattern:e,body:a,negated:r,isLiteral:!1,compiled:t.compileGlob(a,{anchored:a.includes("/")})}:{pattern:e,body:a,negated:r,isLiteral:!0,compiled:t.compileGlob(a,{anchored:!0,withDirSuffix:!0})}},y=(e,t)=>{let r=!1;for(const a of e)a.compiled.test(t)&&(r=!a.negated);return r},v=t=>new e.TsgitError({code:"INVALID_MERGE_TREE",reason:t}),b=t=>new e.TsgitError({code:"INVALID_MERGE_INPUT",reason:t}),k=268435456,E=["<<<<<<<","=======",">>>>>>>","|||||||"],x=new TextEncoder;function $(e){return e<=31||e>=127&&e<=159}function I(e){return e>=8234&&e<=8238||e>=8294&&e<=8297||8203===e||8204===e||8205===e||8288===e||65279===e}function R(e,t){if(e.length>255)throw b(`conflict marker ${t} label exceeds maximum length`);if(""===e.trim())throw b(`conflict marker ${t} label is empty or whitespace-only`);if(function(e){for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if($(r)||I(r))return!0}return!1}(e))throw b(`conflict marker ${t} label contains forbidden control character`);if(function(e){for(const t of E)if(e.includes(t))return!0;return!1}(e))throw b(`conflict marker ${t} label contains forbidden marker substring`)}function D(e){let t=0;for(const r of e)t+=r.length;return t}function S(e){if(0===e.length)return new Uint8Array(0);const t=D(e),r=e[e.length-1],a=0===r.length||10!==r[r.length-1],i=new Uint8Array(t+(a?1:0));let o=0;for(const t of e)i.set(t,o),o+=t.length;return a&&(i[o]=10),i}function T(e,t,r={}){if("diff3"===r.conflictStyle)throw b("diff3 conflict style requires base lines — not supported in v1");const a=r.labels?.ours??"ours",i=r.labels?.theirs??"theirs";if(R(a,"ours"),R(i,"theirs"),void 0!==r.labels?.base&&R(r.labels.base,"base"),D(e)+D(t)>k)throw b("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES");const o=x.encode(`<<<<<<< ${a}\n`),n=x.encode("=======\n"),s=x.encode(`>>>>>>> ${i}\n`),c=S(e),d=S(t),f=new Uint8Array(o.length+c.length+n.length+d.length+s.length);let l=0;return f.set(o,l),l+=o.length,f.set(c,l),l+=c.length,f.set(n,l),l+=n.length,f.set(d,l),l+=d.length,f.set(s,l),f}function M(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function O(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!M(e[r],t[r]))return!1;return!0}function A(e){let t=0;for(const r of e)t+=r.length;const r=new Uint8Array(t);let a=0;for(const t of e)r.set(t,a),a+=t.length;return r}function N(e,t){const r=[];let a;const i=()=>{void 0!==a&&(r.push({baseStart:a.baseStart,baseEnd:a.baseEnd,replacement:a.replacement}),a=void 0)};for(const r of e)if("common"!==r.kind)if(void 0===a&&(a={baseStart:r.oursStart,baseEnd:r.oursStart,replacement:[]}),"ours-only"===r.kind)a.baseEnd=Math.max(a.baseEnd,r.oursEnd);else for(let e=r.theirsStart;e<r.theirsEnd;e++)a.replacement.push(t[e]);else i();return i(),r}function _(e,t){return e.baseStart===e.baseEnd?t.baseStart===t.baseEnd?e.baseStart===t.baseStart:e.baseStart>=t.baseStart&&e.baseStart<t.baseEnd:t.baseStart===t.baseEnd?t.baseStart>=e.baseStart&&t.baseStart<e.baseEnd:e.baseStart<t.baseEnd&&t.baseStart<e.baseEnd}function L(e,t){for(const r of t)if(r.baseStart===e.baseStart&&r.baseEnd===e.baseEnd&&O(r.replacement,e.replacement))return r}function C(e,t){for(const r of t)if(_(e,r))return!0;return!1}function U(e,t,r){return{status:"conflict",conflictType:"content",markedBytes:T(e,t,r)}}function F(e,t){return e.id===t.id&&e.mode===t.mode}function H(e,r){if(void 0!==e&&e.entries.size>t.MAX_FLAT_TREE_ENTRIES)throw v(`${r} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`)}function B(e){return{status:"conflict",conflict:e}}function P(e,t,r,a){return B({type:"modify-delete",path:e,baseId:t.id,baseMode:t.mode,...void 0===r?{}:{ourId:r.id,ourMode:r.mode},...void 0===a?{}:{theirId:a.id,theirMode:a.mode}})}function W(e,t,r,a){return void 0===t?{status:"resolved-known",path:e,id:r.id,mode:r.mode}:F(t,r)?{status:"resolved-deleted",path:e}:"our"===a?P(e,t,r,void 0):P(e,t,void 0,r)}function j(e,r,a,i,o){return void 0===a&&void 0===i?{status:"resolved-deleted",path:e}:void 0===a?W(e,r,i,"their"):void 0===i?W(e,r,a,"our"):void 0===r?function(e,t,r){return F(t,r)?{status:"resolved-known",path:e,id:t.id,mode:t.mode}:function(e,t,r){return B({type:"add-add",path:e,ourId:t.id,theirId:r.id,ourMode:t.mode,theirMode:r.mode})}(e,t,r)}(e,a,i):async function(e,r,a,i,o){const n=F(r,a),s=F(r,i);if(n&&s)return{status:"unchanged",path:e,id:r.id,mode:r.mode};if(n)return{status:"resolved-known",path:e,id:i.id,mode:i.mode};if(s)return{status:"resolved-known",path:e,id:a.id,mode:a.mode};if(F(a,i))return{status:"resolved-known",path:e,id:a.id,mode:a.mode};if(!t.isSameKind(a.mode,i.mode)||!t.isSameKind(r.mode,a.mode))return function(e,t,r,a){return B({type:"type-change",path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode})}(e,r,a,i);const c=function(e,t,r){return t.mode===r.mode?t.mode:t.mode===e.mode?r.mode:t.mode}(r,a,i);return function(e){return e===t.FILE_MODE.GITLINK}(c)?function(e,t,r,a){return B({type:"gitlink",path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode})}(e,r,a,i):async function(e,t,r,a,i,o){const n={path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode},s=await o(n,void 0,new Uint8Array(0),new Uint8Array(0));if("clean"===s.status){if(s.bytes.length>k)throw b("contentMerger returned oversize clean bytes");return void 0!==s.id?{status:"resolved-known",path:e,id:s.id,mode:i}:{status:"resolved-merged",path:e,bytes:s.bytes,mode:i}}if(s.markedBytes.length>k)throw b("contentMerger returned oversize marked bytes");return B({type:s.conflictType,path:e,baseId:t.id,ourId:r.id,theirId:a.id,baseMode:t.mode,ourMode:r.mode,theirMode:a.mode,conflictContent:s.markedBytes})}(e,r,a,i,c,o)}(e,r,a,i,o)}const G="blob:limit=",z="tree:",q=/^(\d+)([kmg])?$/i,X=/^\d+$/,Y=e=>{if(""===e)throw t.invalidFilterSpec(e,"empty");if("blob:none"===e)return{kind:"blob-none"};if(e.startsWith(G))return(e=>{const r=e.slice(11).match(q);if(null===r)throw t.invalidFilterSpec(e,"bad-blob-limit");const a=Number(r[1])*(e=>{switch(e?.toLowerCase()){case"k":return 1024;case"m":return 1048576;case"g":return 1073741824;default:return 1}})(r[2]);if(!Number.isSafeInteger(a))throw t.invalidFilterSpec(e,"bad-blob-limit");return{kind:"blob-limit",bytes:a}})(e);if(e.startsWith(z))return(e=>{const r=e.slice(5);if(!X.test(r))throw t.invalidFilterSpec(e,"bad-tree-depth");const a=Number(r);if(!Number.isSafeInteger(a))throw t.invalidFilterSpec(e,"bad-tree-depth");return{kind:"tree-depth",depth:a}})(e);throw t.invalidFilterSpec(e,"unknown-kind")},V=e=>{switch(e.kind){case"blob-none":return"blob:none";case"blob-limit":return`${G}${e.bytes}`;case"tree-depth":return`${z}${e.depth}`}},K=new TextDecoder("utf-8",{fatal:!1}),Z=new TextEncoder,J=e=>e.endsWith("\n")?e.slice(0,-1):e,Q=e=>{if(e.startsWith("ok "))return{name:e.slice(3),accepted:!0};if(e.startsWith("ng ")){const r=e.slice(3),a=r.indexOf(" ");if(a<0)throw t.invalidReportStatus(e);return{name:r.slice(0,a),accepted:!1,reason:r.slice(a+1)}}throw t.invalidReportStatus(e)},ee=async e=>{const r=await(async e=>{const t=[];for await(const r of e){if("data"!==r.kind)return t;t.push(J(K.decode(r.payload)))}return t})(e);if(0===r.length)throw t.invalidReportStatus("");const[a,...i]=r,o=(e=>{if("unpack ok"===e)return{ok:!0};if(e.startsWith("unpack "))return{ok:!1,error:e.slice(7)};throw t.invalidReportStatus(e)})(a);return o.ok?{unpackOk:!0,refUpdates:i.map(Q)}:{unpackOk:!1,unpackError:o.error,refUpdates:[]}},te={second:1,minute:60,hour:3600,day:86400,week:604800,month:2592e3,year:31536e3},re=/^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/,ae=/^(\d+)[ .]([a-z]+?)s?(?:[ .]ago)?$/;function ie(e,t){const r=e.trim().toLowerCase();return"now"===r?t:"yesterday"===r?t-86400:function(e){const t=re.exec(e);if(null===t)return;const[,r,a,i,o,n,s]=t,c=Number(r),d=Number(a),f=Number(i),l=void 0===o?0:Number(o),u=void 0===n?0:Number(n),h=void 0===s?0:Number(s);if(d<1||d>12)return;if(f<1||f>function(e,t){return 2===t&&function(e){return e%4==0&&e%100!=0||e%400==0}(e)?29:oe[t-1]}(c,d))return;if(l>23)return;if(u>59)return;if(h>59)return;const w=new Date(c,d-1,f,l,u,h);return w.setFullYear(c),Math.floor(w.getTime()/1e3)}(r)??function(e,t){const r=ae.exec(e);if(null===r)return;const[,a,i]=r,o=te[i];return void 0===o?void 0:t-Number(a)*o}(r,t)}const oe=[31,28,31,30,31,30,31,31,30,31,30,31],ne=async(e,t)=>se(e,""===t?`${e.layout.workDir}/.gitignore`:`${e.layout.workDir}/${t}/.gitignore`),se=async(r,a)=>{let i;try{i=await r.fs.lstat(a)}catch(t){if(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code)return;throw t}if(!i.isFile||i.isSymbolicLink)return;if(i.size>t.MAX_GITIGNORE_BYTES)throw e.gitignoreFileTooLarge(ce(a),i.size,t.MAX_GITIGNORE_BYTES);const o=await r.fs.readUtf8(a);return t.parseGitignore(o)},ce=e=>{const t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)},de=async e=>{const r=await(async e=>{const r=[],a=await(async e=>{const r=await t.readConfig(e),a=r.core?.excludesFile;if(void 0===a)return;const i=((e,t)=>{if("~"===t)return e.layout.homeDir;if(t.startsWith("~/")){if(void 0===e.layout.homeDir)return;return`${e.layout.homeDir}/${t.slice(2)}`}return t})(e,a);return void 0!==i?se(e,i):void 0})(e);void 0!==a&&r.push({basedir:"",rules:a});const i=await(async e=>se(e,`${e.layout.gitDir}/info/exclude`))(e);void 0!==i&&r.push({basedir:"",rules:i});const o=await ne(e,"");void 0!==o&&r.push({basedir:"",rules:o});const n=new Map;return{base:r,loadDirRules:async t=>{const r=n.get(t);if(void 0!==r)return r;const a=await ne(e,t)??[];return n.set(t,a),a}}})(e),a=[...r.base],i=new Set([]);return async(e,t)=>{for(const t of fe(e)){if(i.has(t))continue;i.add(t);const e=await r.loadDirRules(t);e.length>0&&a.push({basedir:t,rules:e})}return"ignored"===((e,t,r)=>{let a="unset";for(const i of e){const e=m(t,i.basedir);if(void 0===e)continue;const o=p(i.rules,e,r);"unset"!==o&&(a=o)}return a})(a,e,t)}},fe=e=>{const t=e.split("/");if(t.length<=1)return[];const r=[];for(let e=1;e<t.length;e+=1)r.push(t.slice(0,e).join("/"));return r},le=(t,r)=>new e.TsgitError(void 0===r?{code:"RESOURCE_LOCKED",resource:"index",path:t}:{code:"RESOURCE_LOCKED",resource:"index",path:t,mtimeMs:r}),ue=async(r,a={})=>{const i=`${t.indexPath(r.layout.gitDir)}${t.lockSuffix}`,o=t.indexPath(r.layout.gitDir),n=a.now??(()=>Date.now()),s=a.breakStaleLockMs;try{await r.fs.writeExclusive(i,new Uint8Array)}catch(t){if(!(t instanceof e.TsgitError)||"FILE_EXISTS"!==t.data.code)throw t;if(void 0===s)throw le(i,await he(r,i));await we(r,i,s,n)}return pe(r,i,o)},he=async(e,t)=>{try{return(await e.fs.lstat(t)).mtimeMs}catch{return}},we=async(t,r,a,i)=>{const o=await he(t,r);if(void 0===o)return void await t.fs.writeExclusive(r,new Uint8Array);const n=i()-o;if(n<0)throw le(r,o);if(n<a)throw le(r,o);await t.fs.rm(r);try{await t.fs.writeExclusive(r,new Uint8Array)}catch(a){if(a instanceof e.TsgitError&&"FILE_EXISTS"===a.data.code)throw le(r,await he(t,r));throw a}},pe=(r,a,i)=>{let o=!1,n=!1;return{release:async()=>{if(!o&&!n){n=!0;try{await r.fs.rm(a)}catch(t){if(!(t instanceof e.TsgitError)||"FILE_NOT_FOUND"!==t.data.code)throw t}}},commit:async e=>{if(o||n)return;const s={entries:[...e],extensions:[]},c=t.serializeIndex(s),d=await r.hash.hash(c),f=new Uint8Array(c.length+d.length);f.set(c,0),f.set(d,c.length),await r.fs.write(a,f),await r.fs.rename(a,i),o=!0}}},me=t.RefName.from("HEAD"),ge=async t=>{const r=`${t.layout.gitDir}/HEAD`;if(!await t.fs.exists(r))throw new e.TsgitError({code:"NOT_A_REPOSITORY",path:t.layout.workDir});return t.layout.bare?t.layout.gitDir:t.layout.workDir},ye=async(r,a)=>{if(await(async e=>{const r=await t.readConfig(e);return r.core?.bare??!1})(r))throw(t=>new e.TsgitError({code:"BARE_REPOSITORY",operation:t}))(a)},ve=async r=>{const a=`${r.layout.gitDir}/HEAD`;let i;try{i=await r.fs.readUtf8(a)}catch(r){if(r instanceof e.TsgitError&&"FILE_NOT_FOUND"===r.data.code)throw t.refNotFound(me);throw r}const o=t.parseLooseRef(i);return"symbolic"===o.type?{kind:"symbolic",target:o.target}:{kind:"direct",id:o.target}},be=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],ke=async(t,r={})=>{const a=await Promise.all(be.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<be.length;t+=1){const i=be[t];if(void 0!==i&&r.except!==i.operation&&!0===a[t])throw e.operationInProgress(i.operation)}},Ee=t.validateWorkingTreePath,xe=(e,t)=>`${e.layout.workDir}/${t}`,$e=async(e,t)=>{const r=Ee(t);return e.fs.read(xe(e,r))},Ie=async(t,r)=>{const a=Ee(r),i=xe(t,a);let o;try{o=await t.fs.lstat(i)}catch{throw e.checkoutOverwriteDirty([a])}if(!o.isFile&&!o.isSymbolicLink)throw e.checkoutOverwriteDirty([a]);await t.fs.rm(i)},Re=new TextEncoder,De=e=>{for(const t of e){const e=t.startsWith("!")?t.slice(1):t;Ee(e),Se(t)}const t=(e=>e.map(g))(e),r=t.filter(Oe).map(e=>Ne(e)),a=t.some(Ae);return{matcher:t,literalMustMatch:r,hasGlob:a}},Se=t=>{if(Re.encode(t).byteLength>256)throw e.invalidOption("paths","pattern exceeds max length 256 bytes");if(Te(t)>4)throw e.invalidOption("paths","pattern exceeds max **-token count 4")},Te=e=>{let t=0,r=0;for(;r<e.length;)"*"!==e[r]||"*"!==e[r+1]?r+=1:(t+=1,r+=2);return t},Me=(t,r)=>{if(0===t.length)return;const a=new Set(r);for(const i of t)if(!a.has(i)&&!r.some(e=>e.startsWith(`${i}/`)))throw e.pathspecNoMatch(i)},Oe=e=>!e.negated&&e.isLiteral,Ae=e=>!e.negated&&!e.isLiteral,Ne=e=>e.body,_e=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Le=async(t,r,a)=>{const i=await ue(t,void 0!==a.breakStaleLockMs?{breakStaleLockMs:a.breakStaleLockMs}:{});try{const a=await Pe(t),o=new Map(a),n=[],s=[];for(const i of r){const r=await We(t,i);if("missing"===r)throw e.pathspecNoMatch(i);const c=a.get(i);o.set(i,r),void 0===c?n.push(i):c.id===r.id&&c.mode===r.mode||s.push(i)}return await i.commit(Array.from(o.values())),{added:n,modified:s,removed:[]}}finally{await i.release()}},Ce=async(e,t)=>{if(0===t.length)return!1;for(const r of t){const t=await e.fs.lstat(`${e.layout.workDir}/${r}`).catch(()=>{});if(void 0===t)return!1;if(t.isDirectory&&!t.isSymbolicLink)return!1}return!0},Ue=async(e,r,a,i)=>{const o=await de(e),n=async(e,t)=>!!await o(e,t)||!t&&!y(r,e),s=await ue(e,void 0!==i.breakStaleLockMs?{breakStaleLockMs:i.breakStaleLockMs}:{});try{const r=await Pe(e),i=new Map(r),o=[],c=[],d=[],f=new Set;for await(const a of t.walkWorkingTree(e,{ignore:n})){const t=await Be(e,a,r,f);void 0!==t&&(o.push(t.path),i.set(t.path,t.entry),"added"===t.kind?c.push(t.path):"modified"===t.kind&&d.push(t.path))}return Me(a,o),c.sort(),d.sort(),await s.commit(Array.from(i.values())),{added:c,modified:d,removed:[]}}finally{await s.release()}},Fe=async(e,t,r)=>{const a=[];for(const[i,o]of e)t.has(i)||o.flags.skipWorktree||await He(i,r)||a.push(i);return a},He=async(e,t)=>{if(await t(e,!1))return!0;const r=e.split("/");for(let e=1;e<r.length;e+=1){const a=r.slice(0,e).join("/");if(await t(a,!0))return!0}return!1},Be=async(r,a,i,o)=>{const{path:n,stat:s}=a;if(o.add(n),s.size>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(n,s.size,t.MAX_WORKING_TREE_BLOB_BYTES);const c=await je(r,n,s),d=i.get(n);return void 0===d?{kind:"added",path:n,entry:c}:d.id!==c.id||d.mode!==c.mode?{kind:"modified",path:n,entry:c}:{kind:"unchanged",path:n,entry:c}},Pe=async r=>{try{const e=await t.readIndex(r),a=new Map;for(const t of e.entries)a.set(t.path,t);return a}catch(t){if(t instanceof e.TsgitError&&_e.has(t.data.code))return new Map;throw t}},We=async(e,t)=>{const r=await e.fs.lstat(`${e.layout.workDir}/${t}`).catch(()=>{});return void 0===r?"missing":je(e,t,r)},je=async(r,a,i)=>{const o=await r.fs.lstat(`${r.layout.workDir}/${a}`);if(o.isSymbolicLink!==i.isSymbolicLink||o.isDirectory!==i.isDirectory||o.isFile!==i.isFile)throw e.operationAborted();if(o.size>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(a,o.size,t.MAX_WORKING_TREE_BLOB_BYTES);const n=o.isSymbolicLink?"120000":73&o.mode?"100755":"100644",s=await Ge(r,a,o),c=await t.writeObject(r,{type:"blob",id:"",content:s});return ze(o,n,c,a)},Ge=async(r,a,i)=>{if(i.isSymbolicLink){const i=(new TextEncoder).encode(await r.fs.readlink(`${r.layout.workDir}/${a}`));if(i.byteLength>t.MAX_WORKING_TREE_BLOB_BYTES)throw e.workingTreeFileTooLarge(a,i.byteLength,t.MAX_WORKING_TREE_BLOB_BYTES);return i}return $e(r,a)},ze=(e,r,a,i)=>({ctimeSeconds:Math.floor(e.ctimeMs/1e3),ctimeNanoseconds:0,mtimeSeconds:Math.floor(e.mtimeMs/1e3),mtimeNanoseconds:0,dev:e.dev,ino:e.ino,mode:r,uid:e.uid,gid:e.gid,fileSize:e.size,id:a,flags:t.STAGE0_FLAGS,path:i}),qe="refs/heads/",Xe=(e,t)=>e<t?-1:e>t?1:0,Ye=async(r,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[`${qe}${a}`,a];for(const e of i)try{return await t.resolveRef(r,e)}catch{}throw e.branchNotFound(a)},Ve=e=>"string"==typeof e?t.ObjectId.from(e):e,Ke="refs/heads/",Ze="checkout:materialize",Je=async(e,r)=>{if("HEAD"===r){const r=await t.resolveRef(e,"HEAD");return(await t.readTree(e,r)).id}return(await t.readTree(e,r)).id},Qe=async(e,r)=>{const a=t.validateRefName(r.initialBranch),i=e.layout.gitDir;try{await e.fs.mkdir(i),await e.fs.writeUtf8(`${i}/HEAD`,`ref: refs/heads/${a}\n`),await e.fs.writeUtf8(`${i}/config`,(o=r.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${o?"true":"false"}\n`)),await e.fs.mkdir(`${i}/refs/heads`),await e.fs.mkdir(`${i}/refs/tags`),await e.fs.mkdir(`${i}/objects/info`),await e.fs.mkdir(`${i}/objects/pack`),await e.fs.writeUtf8(`${i}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await e.fs.writeUtf8(`${i}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(t){throw await e.fs.rmRecursive(i).catch(()=>{}),t}var o;return{gitDir:i,initialBranch:a,bare:r.bare}},et={attempts:3,backoff:"exponential",baseMs:250,maxDelayMs:5e3},tt=(e,t={})=>{const a=void 0!==t.logger?rt(t.logger):void 0;let i=e.transport;return i=r.withRetry(t.retry??et)(i),void 0!==t.auth&&(i=r.withAuth(t.auth)(i)),void 0!==a&&(i=r.withLogging({logger:a})(i)),i},rt=e=>({log:t=>e.log(at(t))}),at=e=>"request"===e.kind||"response"===e.kind?{...e,url:ot(e.url),headers:it(e.headers)}:{...e,url:ot(e.url),errorMessage:ot(e.errorMessage)},it=e=>{const t={};for(const[r,a]of Object.entries(e))t[r]=ot(a);return t},ot=e=>{let t="";for(let r=0;r<e.length;r+=1){const a=e.charCodeAt(r);t+=9===a||10===a?e[r]:a<32||a>126?`\\x${a.toString(16).padStart(2,"0").toUpperCase()}`:e[r]}return t},nt={"git-upload-pack":"application/x-git-upload-pack-advertisement","git-receive-pack":"application/x-git-receive-pack-advertisement"},st=async(r,i,o,n)=>{const s=t.buildDiscoveryUrl(o,n),c=await i.request({url:s,method:"GET",headers:{accept:nt[n]},...void 0!==r.signal?{signal:r.signal}:{}});if(200!==c.statusCode)throw e.httpError(c.statusCode,`${n} discovery returned ${c.statusCode}`);const d=t.decodePktStream(a.readableStreamToAsyncIterable(c.body));return t.parseAdvertisedRefs(d,n)},ct=async(e,t,r)=>st(e,t,r,"git-upload-pack"),dt=e=>{const r=t.CLIENT_CAPABILITIES_FETCH.filter(e=>"multi_ack_detailed"!==e&&"thin-pack"!==e&&"no-progress"!==e&&e!==t.AGENT);return[...t.negotiateCapabilities(e,r),t.AGENT]},ft=e=>{const t=new Set,r=[];for(const a of e)t.has(a.id)||(t.add(a.id),r.push(a.id));return r},lt=e=>e.includes("filter"),ut=async(e,t)=>{ht(e);const r=wt(e);pt(r,t.allowInsecure??!1),mt(r);const a=await t.resolver(r.hostname);return{url:e,pinnedAddress:gt(a,t.allowPrivateNetworks??!1)}},ht=t=>{for(let r=0;r<t.length;r+=1){const a=t.charCodeAt(r);if(10===a||13===a)throw e.invalidUrl("contains forbidden control character")}},wt=t=>{try{return new URL(t)}catch{throw e.invalidUrl("not a valid URL")}},pt=(t,r)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!r))throw e.unsupportedScheme(a.replace(":",""))},mt=t=>{if(""!==t.hash)throw e.invalidUrl("URL fragment is not allowed")},gt=(t,r)=>{for(const e of t)if(r||!yt(e))return e;if(0===t.length)throw e.blockedHost("<unresolved>","no DNS records returned");throw e.blockedHost(t[0],"all resolved addresses are in a blocked range")},yt=e=>e.includes(":")?bt(e):vt(e),vt=e=>{const t=(e=>{const t=e.split(".");if(4!==t.length)return;const r=[];for(const e of t){if(!/^\d{1,3}$/.test(e))return;const t=Number(e);if(t>255)return;r.push(t)}return r})(e);if(void 0===t)return!1;const[r,a]=t;return 0===r||10===r||100===r&&a>=64&&a<=127||127===r||169===r&&254===a||172===r&&a>=16&&a<=31||192===r&&168===a||r>=224},bt=e=>{const t=e.toLowerCase(),r=t.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==r?.[1])return vt(r[1]);const a=t.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==a?.[1]&&void 0!==a[2]){const e=parseInt(a[1],16),t=parseInt(a[2],16);return vt(`${e>>8}.${255&e}.${t>>8}.${255&t}`)}return!!("::1"===t||"::"===t||t.startsWith("fe80:")||t.startsWith("fe80::")||t.startsWith("ff")||t.startsWith("fc")||t.startsWith("fd"))},kt="clone:discover",Et=async(e,r,a)=>{await t.updateConfigEntries(e,[{section:"core",key:"repositoryformatversion",value:"1"},{section:"remote",subsection:"origin",key:"url",value:r},{section:"remote",subsection:"origin",key:"fetch",value:"+refs/heads/*:refs/remotes/origin/*"},{section:"remote",subsection:"origin",key:"promisor",value:"true"},{section:"remote",subsection:"origin",key:"partialclonefilter",value:a},{section:"extensions",key:"partialClone",value:"origin"}])},xt=async(e,t,r)=>{const a=It(t),i=[];for(const o of t.refs)if("HEAD"!==o.name){if(o.name.startsWith("refs/heads/")){const t=o.name.slice(11),n=`refs/remotes/origin/${t}`;if(await $t(e,n,o.id,r),i.push({name:n,id:o.id}),void 0!==a&&t===a){const t=o.name;await $t(e,t,o.id,r),i.push({name:t,id:o.id})}continue}if(o.name.startsWith("refs/tags/")){const t=o.name;await $t(e,t,o.id,r),i.push({name:t,id:o.id});continue}e.logger?.debug?.("clone: skipping unsupported ref namespace",{name:o.name})}return i},$t=async(e,r,a,i)=>{const o=`${e.layout.gitDir}/${r}`;await e.fs.writeUtf8(o,`${a}\n`),await t.recordRefUpdate(e,r,t.ZERO_OID,a,`clone: from ${i}`)},It=e=>{const t=e.capabilities.find(e=>e.startsWith("symref=HEAD:refs/heads/"));if(void 0!==t)return t.slice(23)},Rt=async(e,t,r)=>{const a=It(t),i=t.head?.id;if(void 0!==a){const t=`refs/heads/${a}`;return await e.fs.writeUtf8(`${e.layout.gitDir}/HEAD`,`ref: ${t}\n`),await Dt(e,i,r),t}if(void 0!==t.head)return await e.fs.writeUtf8(`${e.layout.gitDir}/HEAD`,`${t.head.id}\n`),void await Dt(e,i,r)},Dt=async(e,r,a)=>{void 0!==r&&await t.recordRefUpdate(e,"HEAD",t.ZERO_OID,r,`clone: from ${a}`)},St=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw e.authorUnconfigured()},Tt=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.author)return t.author;if(void 0!==t.configUser)return t.configUser;throw e.authorUnconfigured()},Mt=(t,r)=>{const a=t.trim();if(""===a&&!r.allowEmpty)throw e.emptyCommitMessage();return a},Ot=e=>`${e.layout.gitDir}/MERGE_HEAD`,At=e=>`${e.layout.gitDir}/MERGE_MSG`,Nt=(e,t,r)=>{if(1===t.length)return void e.files.set(t[0],{id:r.id,mode:r.mode});const[a,...i]=t,o=a;let n=e.subdirs.get(o);void 0===n&&(n={files:new Map,subdirs:new Map},e.subdirs.set(o,n)),Nt(n,i,r)},_t=async(e,r)=>{const a=[];for(const[e,t]of r.files)a.push({mode:t.mode,name:e,id:t.id});const i=await Promise.all(Array.from(r.subdirs).map(async([t,r])=>({name:t,id:await _t(e,r)})));for(const{name:e,id:t}of i)a.push({mode:"40000",name:e,id:t});return t.writeTree(e,a)},Lt=async(e,r)=>{const a=/^[0-9a-f]{40}$/.test(r)?r:await t.resolveRef(e,t.validateRefName(r)),i=await t.readObject(e,a);return"commit"===i.type?i.data.tree:a},Ct="fetch:negotiate",Ut=async(e,r)=>{const a=[],i=[`refs/remotes/${r}`,"refs/tags"];for(const t of i){const r=`${e.layout.gitDir}/${t}`;await e.fs.exists(r)&&await Ft(e,r,a)}const o=`refs/remotes/${r}/`,n=await t.getRefStore(e).getPackedRefs();for(const e of n.entries)(e.name.startsWith(o)||e.name.startsWith("refs/tags/"))&&a.push(e.id);return a},Ft=async(e,t,r)=>{const a=await e.fs.readdir(t);for(const i of a){const a=`${t}/${i.name}`;if(i.isDirectory){await Ft(e,a,r);continue}const o=(await e.fs.readUtf8(a)).trim();Bt(o)&&r.push(o)}},Ht=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Bt=e=>Ht.test(e),Pt=(e,t)=>{if("HEAD"!==t.name&&Wt(t.name)){if(t.name.startsWith("refs/heads/")){const r=`refs/remotes/${e}/${t.name.slice(11)}`;if(!Wt(r))return;return r}return t.name.startsWith("refs/tags/")?t.name:void 0}},Wt=e=>{try{return t.validateRefName(e),!0}catch{return!1}},jt=async(e,r)=>{t.validateRefName(r);const a=`${e.layout.gitDir}/${r}`;if(!await e.fs.exists(a))return;const i=(await e.fs.readUtf8(a)).trim();return Bt(i)?i:void 0},Gt=async(e,t,r)=>{const a=new Set(r.refs.filter(e=>e.name.startsWith("refs/heads/")).map(e=>e.name.slice(11))),i=`${e.layout.gitDir}/refs/remotes/${t}`;if(!await e.fs.exists(i))return[];const o=[];return await zt(e,i,"",a,t,o),o},zt=async(e,r,a,i,o,n)=>{const s=await e.fs.readdir(r);for(const c of s){const s=`${r}/${c.name}`,d=""===a?c.name:`${a}/${c.name}`;if(c.isDirectory){await zt(e,s,d,i,o,n);continue}if(i.has(d))continue;const f=`refs/remotes/${o}/${d}`;if(!Wt(f)){e.logger?.warn?.("fetch.prune: skipping unsafe ref name",{name:f});continue}const l=f;try{await t.updateRef(e,l,t.ZERO_OID,{delete:!0})}catch(t){if(qt(t)){e.logger?.warn?.("fetch.prune: skipping packed-only ref",{name:l});continue}throw t}n.push(l)}},qt=t=>t instanceof e.TsgitError&&"UNSUPPORTED_OPERATION"===t.data.code&&"delete-packed-ref"===t.data.operation,Xt=async(e,r,a)=>!!await e.fs.exists(t.looseObjectPath(e.layout.gitDir,a))||void 0!==await r.lookup(a),Yt=async(r,a)=>{await ge(r);const i=await t.readConfig(r),o=i.extensions?.partialClone;if(void 0===o)return{kind:"no-promisor"};const n=i.remote?.get(o)?.url;if(void 0===n||""===n)throw e.remoteNotConfigured(o);const s=await(async(e,r)=>{const a=t.createPackRegistry(e),i=new Set,o=[];for(const t of r)i.has(t)||(i.add(t),await Xt(e,a,t)||o.push(t));return o})(r,a);if(0===s.length)return{kind:"fetched",remote:o,requested:a.length,fetched:0};const c=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),d=await ct(r,c,n),f=dt(d.capabilities);try{await t.fetchPack(r,c,{wants:s,haves:[],capabilities:f,url:n,progressOp:"fetch-missing:write-objects",promisor:!0})}catch(t){if(!(t=>t instanceof e.TsgitError&&"FILE_EXISTS"===t.data.code)(t))throw t}return{kind:"fetched",remote:o,requested:a.length,fetched:s.length}},Vt=async(e,r)=>{const a=new Map;for await(const i of t.walkTree(e,r))i.mode!==t.FILE_MODE.DIRECTORY&&a.set(i.path,{id:i.id,mode:i.mode});return{entries:a}},Kt="merge:write-files",Zt=new Set(["rename-rename","gitlink"]),Jt=async(e,r,a,i,o,n)=>{const s=await mr(e,r),c={tree:n,parents:[i,o],author:s,committer:gr(r,s),message:Mt(r.message??`Merge ${r.target}`,{allowEmpty:!1}),extraHeaders:[]},d=await t.createCommit(e,c);return await t.updateRef(e,a,d,{expected:i,reflogMessage:`merge ${r.target}: Merge made by the 'tsgit' strategy.`}),{kind:"merge",id:d,branch:a,parents:[i,o]}},Qt=async(e,r,a,i)=>{const o=await yr(e,r),n=await yr(e,a),s=void 0!==i?await yr(e,i):void 0,[c,d,f]=await Promise.all([Vt(e,o),Vt(e,n),void 0!==s?Vt(e,s):Promise.resolve(void 0)]),l=er(e),u=await async function(e,r,a,i){H(e,"base"),H(r,"ours"),H(a,"theirs");const o=function(e,r,a){const i=new Set;for(const t of[e,r,a])if(void 0!==t)for(const e of t.entries.keys())i.add(e);if(i.size>t.MAX_FLAT_TREE_ENTRIES)throw v("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES");return i}(e,r,a),n=t.sortByPath([...o],e=>e),s=[];for(const t of n){const o=j(t,e?.entries.get(t),r?.entries.get(t),a?.entries.get(t),i),n=o instanceof Promise?await o:o;s.push(n)}const c=function(e){const t=[];for(const r of e)"conflict"===r.status&&t.push(r.conflict);return t}(s);return{outcomes:s,conflicts:c,cleanMerge:0===c.length}}(f,c,d,l);return u.cleanMerge?{kind:"clean",tree:await tr(e,u.outcomes)}:{kind:"conflict",outcomes:u.outcomes,conflicts:u.conflicts}},er=e=>async(r,a,i,o)=>{const[n,s,f]=await Promise.all([t.readBlob(e,r.ourId,{maxBytes:k}),t.readBlob(e,r.theirId,{maxBytes:k}),void 0!==r.baseId?t.readBlob(e,r.baseId,{maxBytes:k}):Promise.resolve(void 0)]);return function(e,t,r,a={}){if(d(t)||d(r)||void 0!==e&&d(e))return{status:"conflict",conflictType:"binary",markedBytes:t};if(void 0===e)return M(t,r)?{status:"clean",bytes:t}:U(c(t),c(r),a);if(M(t,e))return{status:"clean",bytes:r};if(M(r,e))return{status:"clean",bytes:t};if(M(t,r))return{status:"clean",bytes:t};const i=w(e,t),o=w(e,r);if(i.degraded||o.degraded)return U(c(t),c(r),a);const n=function(e,t){const r=[],a=new Set;for(const i of e){const e=L(i,t);if(void 0===e){if(C(i,t))return;r.push(i)}else a.add(e),r.push(i)}for(const e of t)a.has(e)||r.push(e);return r.sort((e,t)=>e.baseStart-t.baseStart),{changes:r}}(N(i.hunks,i.theirsLines),N(o.hunks,o.theirsLines));if(void 0===n)return U(c(t),c(r),a);return{status:"clean",bytes:A(function(e,t){const r=[];let a=0;for(const i of t.changes){for(let t=a;t<i.baseStart;t++)r.push(e[t]);for(const e of i.replacement)r.push(e);a=i.baseEnd}for(let t=a;t<e.length;t++)r.push(e[t]);return r}(i.oursLines,n))}}(f?.content,n.content,s.content)},tr=async(e,r)=>{const a=await(async(e,r)=>{const a=[];for(const i of r)if("resolved-deleted"!==i.status&&"conflict"!==i.status){if("resolved-merged"===i.status){const r=await t.writeObject(e,{type:"blob",content:i.bytes,id:""});a.push({path:i.path,id:r,mode:i.mode});continue}a.push({path:i.path,id:i.id,mode:i.mode})}return a})(e,r);return rr(e,a)},rr=async(e,r,a=0)=>{if(a>4096)throw t.treeDepthExceeded(a);const{files:i,subdirs:o}=(e=>{const t=[],r=new Map;for(const a of e){const e=a.path.indexOf("/");if(-1===e){t.push(a);continue}const i=a.path.slice(0,e),o={path:a.path.slice(e+1),id:a.id,mode:a.mode},n=r.get(i);void 0===n?r.set(i,[o]):n.push(o)}return{files:t,subdirs:r}})(r),n=await Promise.all(Array.from(o,async([r,i])=>({name:r,id:await rr(e,i,a+1),mode:t.FILE_MODE.DIRECTORY}))),s=i.map(e=>({name:e.path,id:e.id,mode:e.mode}));return t.writeTree(e,[...s,...n])},ar=async(e,r,a,i,o)=>{ir(a.conflicts);const n=await t.loadSparseMatcher(e),s=await ue(e);try{await nr(e,a.outcomes,a.conflicts,n),await(async(e,t)=>{await e.fs.writeUtf8((e=>`${e.layout.gitDir}/ORIG_HEAD`)(e),`${t}\n`)})(e,i),await(async(e,t)=>{await e.fs.writeUtf8(Ot(e),`${t}\n`)})(e,o);const t=Mt(r.message??`Merge ${r.target}`,{allowEmpty:!1});await(async(e,t)=>{await e.fs.writeUtf8(At(e),t)})(e,t);const c=pr(a.outcomes,a.conflicts,n);await s.commit(c)}finally{await s.release()}return{kind:"conflict",conflicts:a.conflicts.map(e=>({path:e.path,type:e.type})),mergeHead:o,origHead:i}},ir=t=>{for(const r of t)if(Zt.has(r.type))throw e.unsupportedOperation("merge",`conflict type '${r.type}' not supported in v1 (path=${r.path})`)},or=(e,t)=>void 0!==e&&!e(t),nr=async(e,t,r,a)=>{await sr(t,32,t=>cr(e,t,a)),await sr(r,32,t=>dr(e,t))},sr=async(e,t,r)=>{let a=0;const i=[],o=async()=>{for(;a<e.length;){const t=e[a++];if(void 0===t)break;await r(t)}},n=Math.min(t,e.length);for(let e=0;e<n;e++)i.push(o());await Promise.all(i)},cr=async(e,r,a)=>{if("unchanged"===r.status||"resolved-known"===r.status){if(or(a,r.path))return;const i=await t.readBlob(e,r.id,{maxBytes:k});return void await lr(e,r.path,i.content)}"resolved-merged"!==r.status?"resolved-deleted"===r.status&&await ur(e,r.path):await lr(e,r.path,r.bytes)},dr=async(e,t)=>{const r=await fr(e,t);void 0!==r&&await lr(e,t.path,r)},fr=async(e,r)=>{if("content"===r.type&&void 0!==r.conflictContent)return r.conflictContent;if("binary"===r.type&&void 0!==r.ourId)return(await t.readBlob(e,r.ourId,{maxBytes:k})).content;if(("add-add"===r.type||"type-change"===r.type)&&void 0!==r.ourId)return(await t.readBlob(e,r.ourId,{maxBytes:k})).content;if("modify-delete"===r.type){const a=r.ourId??r.theirId;if(void 0!==a)return(await t.readBlob(e,a,{maxBytes:k})).content}if("content"===r.type&&void 0!==r.ourId&&void 0!==r.theirId){const[a,i]=await Promise.all([t.readBlob(e,r.ourId,{maxBytes:k}),t.readBlob(e,r.theirId,{maxBytes:k})]);return T([a.content],[i.content])}},lr=async(e,t,r)=>{const a=`${e.layout.workDir}/${t}`,i=hr(a);void 0!==i&&await e.fs.mkdir(i),await e.fs.write(a,r)},ur=async(e,t)=>{const r=`${e.layout.workDir}/${t}`;await e.fs.exists(r)&&await e.fs.rm(r)},hr=e=>{const t=e.lastIndexOf("/");if(!(t<=0))return e.slice(0,t)},wr=e=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:e,uid:0,gid:0,fileSize:0}),pr=(e,r,a)=>{const s=[];for(const r of e)"unchanged"!==r.status&&"resolved-known"!==r.status||s.push(or(a,r.path)?t.skipWorktreeEntry({path:r.path,id:r.id,mode:r.mode}):{...wr(r.mode),id:r.id,flags:t.STAGE0_FLAGS,path:r.path});const c=function(e,r){const a=new Set;for(const t of e){if(a.has(t.path))throw i("duplicate conflict path");a.add(t.path)}const s=[];for(const t of e)for(const e of o(t))s.push(n(t.path,e,r));return s.sort((e,r)=>{const a=t.comparePaths(e.path,r.path);return 0!==a?a:e.flags.stage-r.flags.stage}),s}(r,wr),d=[...s,...c];return d.sort((e,t)=>e.path<t.path?-1:e.path>t.path?1:e.flags.stage-t.flags.stage),d},mr=async(e,r)=>{const a=await t.readConfig(e),i=a.user?{name:a.user.name,email:a.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,o={};return void 0!==r.author&&(o.explicit=r.author),void 0!==i&&(o.configUser=i),St(o)},gr=(e,t)=>{const r={author:t};return void 0!==e.committer&&(r.explicit=e.committer),Tt(r)},yr=async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);return a.data.tree},vr=e=>"HEAD"===e||e.includes("/")?e:`refs/heads/${e}`,br=e=>{if(""===e)throw t.refspecInvalid(e,"refspec must not be empty");let r=e,a="normal";if(r.startsWith("+")&&(a="force",r=r.slice(1)),""===r)throw t.refspecInvalid(e,"refspec must not be empty after force prefix");const i=kr(r,":");if(i>1)throw t.refspecInvalid(e,"refspec must contain at most one colon");if(0===i){const e=vr(r);return{force:a,src:e,dst:e,isDelete:!1}}const o=r.indexOf(":"),n=r.slice(0,o),s=r.slice(o+1);if(""===s)throw t.refspecInvalid(e,"destination must not be empty");const c=vr(s);if("HEAD"===c)throw t.refspecInvalid(e,"destination must not be HEAD");return""===n?{force:a,src:"",dst:c,isDelete:!0}:{force:a,src:vr(n),dst:c,isDelete:!1}},kr=(e,t)=>{let r=0;for(let a=0;a<e.length;a+=1)e[a]===t&&(r+=1);return r},Er="push:enumerate-objects",xr="push:upload",$r=t.ObjectId.from("0".repeat(40)),Ir="refs/heads/",Rr=new Set(["side-band-64k","side-band"]),Dr=e=>`${e.parsed.isDelete?"(delete)":e.parsed.src} ${e.localOid} ${e.parsed.dst} ${e.remoteOid}\n`,Sr=/^[A-Za-z0-9._-]+$/,Tr=e=>{const t=new Map;for(const r of e)t.set(r.name,r.id);return t},Mr=async(r,a,i,o,n)=>{const s=i.get(a.dst)??$r;if(a.isDelete){if(s===$r)throw e.invalidOption("refspecs",`delete target ${a.dst} is not advertised`);return{parsed:a,localOid:$r,remoteOid:s}}const c=await t.resolveRef(r,a.src);return await Or(r,a,c,s,o,n),{parsed:a,localOid:c,remoteOid:s}},Or=async(t,r,a,i,o,n)=>{const s=await Ar(t,r,o,n);if(void 0===s){if("force"!==r.force&&!0!==n.force&&i!==$r&&!await Nr(t,i,a))throw e.nonFastForward(r.dst,a,i)}else if(s!==i)throw e.pushRejected(r.dst,"lease-mismatch",_r())},Ar=async(r,a,i,o)=>{if(void 0===o.forceWithLease)return;if("auto"!==o.forceWithLease)return o.forceWithLease;if(!a.dst.startsWith(Ir))throw e.invalidOption("forceWithLease","lease-on-non-branch");const n=a.dst.slice(11);return t.resolveRef(r,`refs/remotes/${i}/${n}`)},Nr=async(e,r,a)=>{for await(const i of t.walkCommits(e,{from:[a],ignoreMissing:!0}))if(i.id===r)return!0;return!1},_r=()=>({unpackOk:!0,refUpdates:[]}),Lr=async(r,a,i,o,n,s)=>{const c=n.filter(e=>!e.parsed.isDelete).map(e=>e.localOid),d=o.refs.map(e=>e.id),f=await Cr(r,c,d),l=await t.buildPack(r,{oids:f}),u=(e=>{const r=t.CLIENT_CAPABILITIES_PUSH.filter(e=>e!==t.AGENT);return[...t.negotiateCapabilities(e,r),t.AGENT]})(o.capabilities),h=(e=>{if(0===e.updates.length)throw t.emptyReceiveUpdates();const r=e.updates.map((t,r)=>((e,t)=>{const r=0===t.length?"":`\0${t.join(" ")}`;return Z.encode(`${e.oldId} ${e.newId} ${e.name}${r}\n`)})(t,0===r?e.capabilities:[])),a=t.encodePktStream(r),i=new Uint8Array(a.byteLength+e.packfile.byteLength);return i.set(a,0),i.set(e.packfile,a.byteLength),i})({updates:n.map(Ur),capabilities:u,packfile:l.bytes}),w=await Fr(r,a,i,h),p=await Br(r,w,u);if(!p.unpackOk)throw e.pushRejected(n[0]?.parsed.dst,p.unpackError??"unpack failed",p);return await Wr(r,n,p.refUpdates,s)},Cr=async(e,r,a)=>{if(0===r.length)return[];const i=[];for await(const o of t.enumeratePushObjects(e,{wants:r,haves:a}))i.push(o);return i},Ur=e=>({name:e.parsed.dst,oldId:e.remoteOid,newId:e.localOid}),Fr=async(t,r,a,i)=>{t.progress.start(xr);try{const o=Hr(a),n=await r.request({url:o,method:"POST",headers:{"content-type":"application/x-git-receive-pack-request",accept:"application/x-git-receive-pack-result"},body:i,...void 0!==t.signal?{signal:t.signal}:{}});if(200!==n.statusCode)throw e.httpError(n.statusCode,`git-receive-pack returned ${n.statusCode}`);return n}finally{t.progress.end(xr)}},Hr=e=>{let r;try{r=new URL(e)}catch{throw t.invalidBaseUrl("invalid URL")}if(""!==r.hash)throw t.invalidBaseUrl("fragment must not be set");const a=r.pathname.endsWith("/")?r.pathname.slice(0,-1):r.pathname;return`${r.protocol}//${r.host}${a}/git-receive-pack${r.search}`},Br=async(r,i,o)=>{const n=a.readableStreamToAsyncIterable(i.body),s=t.decodePktStream(n);if(Pr(o)){const a=t.parseSideBand(s,{onProgress:t=>r.progress.update(xr,0,void 0,e.sanitize(t))});return ee(t.decodePktStream(a))}return ee(s)},Pr=e=>e.some(e=>Rr.has(e)),Wr=async(e,t,r,a)=>{const i=new Map;for(const e of r)i.set(e.name,e);const o=[];for(const r of t){const t=i.get(r.parsed.dst),n=!0===t?.accepted;n&&await jr(e,r,a),o.push({name:r.parsed.dst,oldId:r.remoteOid,newId:r.localOid,status:n?"ok":"rejected",...void 0!==t?.reason?{reason:t.reason}:{}})}return o},jr=async(e,r,a)=>{if(!r.parsed.dst.startsWith(Ir))return;if(r.parsed.isDelete)return;const i=`refs/remotes/${a}/${r.parsed.dst.slice(11)}`;Gr(i)&&await t.updateRef(e,i,r.localOid,{reflogMessage:"update by push"})},Gr=e=>{try{return t.validateRefName(e),!0}catch{return!1}},zr=e=>t.validateRefName(e),qr=(e,t,r)=>{const a=e[t],i=e[t+1];return e.filter((e,r)=>r!==t).map(e=>r&&e===i?{...e,oldId:a.oldId}:e)},Xr=(t,r)=>{const a=ie(t,r);if(void 0===a)throw e.revparseUnresolved(t);return a},Yr=(e,t,r,a)=>{const i=t.has(e.newId)?r:a;return e.identity.timestamp>=i},Vr=async e=>{const r=await Kr(e),a=new Set;if(0===r.length)return a;for await(const i of t.walkCommits(e,{from:r,ignoreMissing:!0}))a.add(i.id);return a},Kr=async e=>{const r=new Set;for(const a of await t.enumerateRefs(e)){const t=await Zr(e,a);void 0!==t&&r.add(t)}return[...r]},Zr=async(r,a)=>{try{return await t.resolveRef(r,a)}catch(t){if(t instanceof e.TsgitError)return;throw t}},Jr=new Set(["commit","tree","blob","tag"]),Qr=/^:(\d):(.+)$/,ea=/^[0-9a-f]{1,6}$/,ta=t=>{throw e.revparseUnresolved(t)},ra=/^\d+$/,aa=e=>{for(let t=0;t<e.length;t+=1){const r=e[t];if("~"===r||"^"===r)return t}return-1},ia=(e,t)=>{const r=[];let a=t;for(;a<e.length;){const t=e[a];if("~"===t){const t=oa(e,a);r.push(t.op),a=t.next}else if("^"===t){const t=na(e,a);r.push(t.op),a=t.next}else ta(e)}return r},oa=(e,t)=>{let r=t+1;for(;r<e.length&&sa(e.charCodeAt(r));)r+=1;return r===t+1&&ta(e),{op:{kind:"ancestor",n:Number(e.slice(t+1,r))},next:r}},na=(e,t)=>{if("{"===e[t+1]){const r=e.indexOf("}",t+2);-1===r&&ta(e);const a=e.slice(t+2,r);return Jr.has(a)||ta(e),{op:{kind:"peel",target:a},next:r+1}}let r=t+1;for(;r<e.length&&sa(e.charCodeAt(r));)r+=1;const a=e.slice(t+1,r);return{op:{kind:"parent",n:""===a?1:Number(a)},next:r}},sa=e=>e>=48&&e<=57,ca=async(e,r)=>{if(/^[0-9a-f]{40}$/.test(r))return t.ObjectId.from(r);for(const a of da(r))try{return await t.resolveRef(e,a)}catch{}throw t.objectNotFound(r)},da=e=>[e,`refs/heads/${e}`,`refs/tags/${e}`,`refs/remotes/${e}`],fa=async(r,a,i,o,n)=>{const s=""===a?await la(r):await ua(r,a),c=await t.readReflog(r,s);if(0===c.length)throw e.revparseUnresolved(n);return"index"===i.kind?pa(c,i.n,s):ma(c,i.raw,o,n)},la=async e=>{const r=await t.getRefStore(e).resolveDirect("HEAD");return"symbolic"===r.kind?r.target:"HEAD"},ua=async(e,r)=>{const a=ha(r),i=da(a);for(const r of i)if(await t.reflogExists(e,r))return r;for(const t of i)if(await wa(e,t))return t;return a},ha=r=>{try{return t.validateRefName(r)}catch{throw e.revparseUnresolved(r)}},wa=async(e,r)=>{try{return await t.resolveRef(e,r),!0}catch{return!1}},pa=(e,r,a)=>{const i=e[e.length-1-r];if(void 0===i)throw t.reflogEntryOutOfRange(a,r,e.length);return i.newId},ma=(t,r,a,i)=>{const o=ie(r,a);if(void 0===o)throw e.revparseUnresolved(i);for(let e=t.length-1;e>=0;e-=1){const r=t[e];if(r.identity.timestamp<=o)return r.newId}return t[0].oldId},ga=async(e,t,r)=>{if("parent"===r.kind)return ya(e,t,r.n);if("ancestor"===r.kind){let a=t;for(let t=0;t<r.n;t+=1)a=await ya(e,a,1);return a}return va(e,t,r.target)},ya=async(e,r,a)=>{const i=await t.readObject(e,r);if("commit"!==i.type)throw t.objectNotFound(r);const o=i.data.parents[a-1];if(void 0===o)throw t.objectNotFound(r);return o},va=async(e,r,a)=>{let i=r;for(let r=0;r<5;r+=1){const r=await t.readObject(e,i);if(r.type===a)return i;if("tag"!==r.type){if("tree"===a&&"commit"===r.type)return r.data.tree;throw t.objectNotFound(i)}i=r.data.object}throw t.objectNotFound(i)},ba=async(e,r)=>{const a=await t.readIndex(e);for(const e of a.entries)if(e.path===r.path&&e.flags.stage===r.stage)return e.id;throw t.objectNotFound(`${r.stage}:${r.path}`)},ka=(e,t)=>`${e}/${t}`,Ea=(e,t)=>void 0===e||e(t),xa=e=>({kind:"delete",path:e.path,mode:e.mode,id:void 0,previousId:e.id,previousMode:e.mode}),$a=e=>({kind:"add",path:e.path,mode:e.mode,id:e.id,previousId:void 0,previousMode:void 0}),Ia=e=>({kind:"noop",path:e.path,mode:e.mode,id:e.id,previousId:e.id,previousMode:e.mode}),Ra={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,uid:0,gid:0,fileSize:0},Da=e=>({...Ra,mode:e.mode,id:e.id,flags:{...t.STAGE0_FLAGS,skipWorktree:!0},path:e.path}),Sa=e=>e.flags.skipWorktree?{...e,flags:{...e.flags,skipWorktree:!1}}:e,Ta=async(e,r)=>{const a=e.layout.workDir,i=await ue(e);try{const o=(await t.readIndex(e)).entries.filter(e=>0===e.flags.stage),n=await(async(e,r,a,i)=>{const o=[],n=[],s=[];for(const c of a){if(Ea(i.matcher,c.path)){o.push(c);continue}const a=ka(r,c.path),d=await e.fs.exists(a);d&&await t.isWorkingTreeDirty(e,a,c.id)&&!0!==i.force?s.push(c):n.push({entry:c,present:d})}return{included:o,removable:n,retained:s}})(e,a,o,r),s=await(async(e,t,r)=>{const a=[];for(const{entry:e,present:t}of r.removable)a.push(t?xa(e):Ia(e));for(const i of r.included){const r=await e.fs.exists(ka(t,i.path));a.push(r?Ia(i):$a(i))}const i={add:0,update:0,delete:0,noop:0};for(const e of a)i[e.kind]+=1;return{entries:a,stats:i}})(e,a,n),c=await t.applyChangeset(e,{changeset:s,force:!0,workdir:a}),d=((e,t)=>{const r=new Map;for(const e of t)r.set(e.path,e);const a=[];for(const t of e.included)a.push(r.get(t.path)??Sa(t));for(const{entry:t}of e.removable)a.push(Da(t));for(const t of e.retained)a.push(Sa(t));return a})(n,c.writtenEntries);return await i.commit(d),{materialized:c.written,removed:c.deleted,retained:n.retained.map(e=>e.path)}}finally{await i.release()}},Ma=(e,t)=>void 0===t?{matcher:e}:{matcher:e,force:t},Oa=async(e,r,a,i)=>{const o=await Ta(e,Ma(t.buildSparseMatcher(r),i));return await t.writeSparsePatternText(e,a),await t.updateCoreConfig(e,{sparseCheckout:"true",sparseCheckoutCone:"cone"===r.mode?"true":"false"}),_a("cone"===r.mode,o)},Aa=(e,r)=>{if(e){const e=t.buildConeSpec(r);return{spec:e,text:t.serializeCone(e)}}const a=r.join("\n");return{spec:t.parseSparseCheckout(a,!1).spec,text:a}},Na=(e,r,a)=>{if(e){const e=t.parseSparseCheckout(r,!0).spec,i="cone"===e.mode?[...e.recursive,...a]:a,o=t.buildConeSpec(i);return{spec:o,text:t.serializeCone(o)}}const i=(""===r?a:[r,...a]).join("\n");return{spec:t.parseSparseCheckout(i,!1).spec,text:i}},_a=(e,t)=>({kind:"applied",cone:e,materialized:t.materialized,removed:t.removed,retained:t.retained}),La="status:scan",Ca=(e,t)=>e.path<t.path?-1:1,Ua=new TextEncoder,Fa=async(e,t,r)=>{try{const a=await $e(e,Ee(t)),i=Ua.encode(`blob ${a.byteLength}\0`),o=new Uint8Array(i.byteLength+a.byteLength);return o.set(i,0),o.set(a,i.byteLength),await e.hash.hashHex(o)!==r.id}catch{return!0}},Ha="refs/tags/",Ba=async e=>{const r=await ve(e);return"direct"===r.kind?r.id:t.resolveRef(e,r.target)};exports.add=async(r,a,i={})=>{if(await ge(r),await ye(r,"add"),await ke(r,{except:"merge"}),!0===i.all){if(0!==a.length)throw e.invalidOption("all","pathspec must be empty when all=true");return(async(e,r)=>{const a=await de(e),i=await ue(e,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const r=await Pe(e),o=new Map(r),n=new Set,s=[],c=[];for await(const i of t.walkWorkingTree(e,{ignore:a})){const t=await Be(e,i,r,n);void 0!==t&&(o.set(t.path,t.entry),"added"===t.kind?s.push(t.path):"modified"===t.kind&&c.push(t.path))}const d=await Fe(r,n,a);for(const e of d)o.delete(e);return s.sort(),c.sort(),d.sort(),await i.commit(Array.from(o.values())),{added:s,modified:c,removed:d}}finally{await i.release()}})(r,i)}if(0===a.length)throw e.emptyPathspec();return(async(e,t,r)=>{const{matcher:a,literalMustMatch:i,hasGlob:o}=De(t);return!o&&await Ce(e,i)?Le(e,i,r):Ue(e,a,i,r)})(r,a,i)},exports.branch=async(r,a)=>(await ge(r),"list"===a.kind?(async e=>{const r=`${e.layout.gitDir}/refs/heads`;if(!await e.fs.exists(r))return{kind:"list",branches:[]};const a=await ve(e),i="symbolic"===a.kind&&a.target.startsWith(qe)?a.target:void 0,o=await e.fs.readdir(r),n=[];for(const r of o){if(!r.isFile)continue;const a=`${qe}${r.name}`,o=await t.resolveRef(e,a);n.push({name:a,id:o,current:a===i})}return n.sort((e,t)=>Xe(e.name,t.name)),{kind:"list",branches:n}})(r):"create"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${qe}${a.name}`),o=a.startPoint??"HEAD",n=await Ye(r,o),s=`branch: Created from ${o}`;try{await t.updateRef(r,i,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.branchExists(i);throw t}return{kind:"create",name:i,id:n}})(r,a):"delete"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${qe}${a.name}`),o=await ve(r);if("symbolic"===o.kind&&o.target===i)throw e.cannotDeleteCheckedOutBranch(i);if(!await r.fs.exists(`${r.layout.gitDir}/${i}`))throw e.branchNotFound(i);return await t.updateRef(r,i,t.ZERO_OID,{delete:!0}),{kind:"delete",name:i}})(r,a):(async(r,a)=>{const i=t.validateRefName(`${qe}${a.from}`),o=t.validateRefName(`${qe}${a.to}`),n=await t.resolveRef(r,i),s=`branch: renamed ${i} to ${o}`,c=await t.readReflog(r,i);try{await t.updateRef(r,o,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.branchExists(o);throw t}c.length>0&&await t.writeReflog(r,o,[...c,...await t.readReflog(r,o)]),await t.updateRef(r,i,t.ZERO_OID,{delete:!0});const d=await ve(r);return"symbolic"===d.kind&&d.target===i&&await t.writeSymbolicRef(r,"HEAD",o),{kind:"rename",from:i,to:o}})(r,a)),exports.catFile=async(e,r)=>{await ge(e);const a=r.ids.map(Ve),i=void 0===r.maxBytes?void 0:{maxBytes:r.maxBytes},o=[];for await(const r of t.catFileBatch(e,a,i))o.push(r);return{kind:"batch",entries:o}},exports.checkout=async(r,a)=>{await ge(r),await ye(r,"checkout"),await ke(r);const i=(e=>"target"in e&&void 0!==e.target)(a),o=(e=>"paths"in e&&void 0!==e.paths)(a);if(i&&o)throw e.invalidOption("paths","cannot be combined with target");if(!i&&!o)throw e.invalidOption("target","either target or paths must be provided");r.progress.start(Ze);try{return o?await(async(r,a)=>{if(0===a.paths.length)throw e.invalidOption("paths","must not be empty");const i=a.source??"index",{matcher:o,literalMustMatch:n}=De(a.paths),s=(await(async(e,r)=>{if("index"===r)return(await t.readIndex(e)).entries.map(e=>e.path);const a=await Je(e,r),i=[];for await(const r of t.walkTree(e,a))r.mode!==t.FILE_MODE.DIRECTORY&&i.push(r.path);return i})(r,i)).filter(e=>y(o,e));Me(n,s);const c=new Set(s);if(0===c.size)return{branch:void 0,id:await t.resolveRef(r,"HEAD"),detached:!1,changedPaths:0};const d="index"===i?await(async(e,r)=>{const a=await t.readIndex(e),i=await t.synthesizeTreeFromIndex(e,a.entries);return t.materializeTree(e,{targetTree:i,currentIndex:a,force:!0,forceRewriteAll:!0,paths:r})})(r,c):await(async(e,r,a)=>{const i=await ue(e);try{const o=await t.readIndex(e),n=await t.materializeTree(e,{targetTree:r,currentIndex:o,force:!0,forceRewriteAll:!0,paths:a});return await i.commit(n.newIndexEntries),n}finally{await i.release()}})(r,await Je(r,i),c);return{branch:void 0,id:await t.resolveRef(r,"HEAD"),detached:!1,changedPaths:d.written+d.deleted}})(r,a):await(async(r,a)=>{const i=!0===a.detach||/^[0-9a-f]{40}$/.test(a.target),o=await ve(r),n=await t.resolveRef(r,"HEAD");let s,c;if(i)c=await(async(e,r)=>/^[0-9a-f]{40}$/.test(r)?r:t.resolveRef(e,r))(r,a.target);else{if(s=t.validateRefName(`${Ke}${a.target}`),!await r.fs.exists(`${r.layout.gitDir}/${s}`))throw e.branchNotFound(s);c=await t.resolveRef(r,s)}const d=await t.readTree(r,c),f=await t.loadSparseMatcher(r),l=await ue(r);let u;try{const e=await t.readIndex(r);u=await t.materializeTree(r,{targetTree:d.id,currentIndex:e,force:a.force??!1,...void 0!==f?{sparse:f}:{}}),await l.commit(u.newIndexEntries)}finally{await l.release()}const h=(e=>{if("symbolic"!==e.kind)return e.id.slice(0,7);if(e.target.startsWith(Ke))return e.target.slice(11);const t=e.target.lastIndexOf("/");return-1===t?e.target:e.target.slice(t+1)})(o);return i?(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${c}\n`),await t.recordRefUpdate(r,"HEAD",n,c,`checkout: moving from ${h} to ${c.slice(0,7)}`),{branch:void 0,id:c,detached:!0,changedPaths:u.written+u.deleted}):(await t.writeSymbolicRef(r,"HEAD",s),await t.recordRefUpdate(r,"HEAD",n,c,`checkout: moving from ${h} to ${a.target}`),{branch:s,id:c,detached:!1,changedPaths:u.written+u.deleted})})(r,a)}finally{r.progress.end(Ze)}},exports.clone=async(r,a)=>{if(await r.fs.exists(`${r.layout.gitDir}/HEAD`))throw e.targetDirectoryNotEmpty(r.layout.workDir);if(""===a.url)throw e.remoteAdvertisesNoRefs();const i=void 0!==a.filter?V(Y(a.filter)):void 0;r.progress.start(kt);try{void 0!==a.resolver&&await ut(a.url,{resolver:a.resolver,...void 0!==a.allowInsecure?{allowInsecure:a.allowInsecure}:{},...void 0!==a.allowPrivateNetworks?{allowPrivateNetworks:a.allowPrivateNetworks}:{}});const o=await Qe(r,{initialBranch:a.initialBranch??"main",bare:a.bare??!1});try{return await(async(r,a,i,o)=>{const n=tt(r,{...void 0!==r.config?.auth?{auth:r.config.auth}:{}}),s=await ct(r,n,a.url);if(0===s.refs.length)throw e.remoteAdvertisesNoRefs();if(void 0!==o&&!lt(s.capabilities))throw t.remoteFilterUnsupported();const c=dt(s.capabilities),d=ft(s.refs),f=await t.fetchPack(r,n,{wants:d,haves:[],capabilities:c,url:a.url,progressOp:"clone:write-objects",...void 0!==a.depth?{depth:a.depth}:{},...void 0!==o?{filter:o,promisor:!0}:{}});f.shallow.length>0&&await t.updateShallow(r,{shallow:f.shallow,unshallow:f.unshallow});const l=await xt(r,s,a.url),u=await Rt(r,s,a.url);return void 0!==o&&await Et(r,a.url,o),{path:i,head:u,fetchedRefs:l}})(r,a,o.gitDir,i)}catch(e){throw await r.fs.rmRecursive(r.layout.gitDir).catch(()=>{}),e}}finally{r.progress.end(kt)}},exports.commit=async(r,a)=>{await ge(r),await ye(r,"commit");const i=await(async e=>{const r=Ot(e);if(!await e.fs.exists(r))return;const a=(await e.fs.readUtf8(r)).trim();return 0!==a.length?t.ObjectId.from(a):void 0})(r);await ke(r,void 0!==i?{except:"merge"}:{});const o=a.noVerify??!1;await(async(e,r)=>{r||await t.runHook(e,"pre-commit")})(r,o);const n=await(async(e,t,r)=>{if(t.message.length>0||void 0===r)return Mt(t.message,{allowEmpty:t.allowEmptyMessage??!1});const a=await(async e=>{const t=At(e);if(await e.fs.exists(t))return e.fs.readUtf8(t)})(e);return Mt(a??"",{allowEmpty:t.allowEmptyMessage??!1})})(r,a,i),s=(e=>{if(void 0!==e)return{name:e.name,email:e.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}})((await t.readConfig(r)).user),c=St(((e,t)=>{const r={};return void 0!==e&&(r.explicit=e),void 0!==t&&(r.configUser=t),r})(a.author,s)),d=Tt(((e,t,r)=>{const a={};return void 0!==e&&(a.explicit=e),void 0!==t&&(a.author=t),void 0!==r&&(a.configUser=r),a})(a.committer,c,s)),f=await t.readIndex(r);(t=>{const r=new Set;for(const e of t)0!==e.flags.stage&&r.add(e.path);if(r.size>0)throw e.mergeHasConflicts(r.size,[...r])})(f.entries);const l=await(async(e,t)=>{const r={files:new Map,subdirs:new Map};for(const e of t)Nt(r,e.path.split("/"),e);return _t(e,r)})(r,f.entries),u=await ve(r),h="symbolic"===u.kind?await(async(e,r)=>{try{return await t.resolveRef(e,r)}catch{return}})(r,u.target):u.id,w=((e,t)=>{const r=[];return void 0!==e&&r.push(e),void 0!==t&&r.push(t),r})(h,i);if(!a.allowEmpty&&void 0!==h&&void 0===i&&await(async(e,r)=>{const a=await t.readObject(e,r);return"commit"!==a.type?t.ZERO_OID:a.data.tree})(r,h)===l)throw e.nothingToCommit();const p=await(async(e,r,a)=>{if(a.noVerify||void 0===e.hooks)return r;const i=`${e.layout.gitDir}/COMMIT_EDITMSG`;await e.fs.writeUtf8(i,r),await t.runHook(e,"commit-msg",{args:[i]});const o=await e.fs.readUtf8(i);return Mt(o,{allowEmpty:a.allowEmptyMessage})})(r,n,{noVerify:o,allowEmptyMessage:a.allowEmptyMessage??!1}),m={tree:l,parents:w,author:c,committer:d,message:p,extraHeaders:[]},g=await t.createCommit(r,m),y="symbolic"===u.kind?u.target:void 0,v=((e,t,r)=>{const a=e.split("\n")[0];return void 0===t?`commit (initial): ${a}`:void 0!==r?`commit (merge): ${a}`:`commit: ${a}`})(p,h,i);return void 0!==y?await t.updateRef(r,y,g,void 0!==h?{expected:h,reflogMessage:v}:{reflogMessage:v}):(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${g}\n`),await t.recordRefUpdate(r,"HEAD",h??t.ZERO_OID,g,v)),void 0!==i&&await(async e=>{for(const t of[Ot(e),At(e)])await e.fs.exists(t)&&await e.fs.rm(t)})(r),{id:g,tree:l,branch:y,parents:w}},exports.createPromisorRemote=e=>({fetch:async t=>{const r=await Yt(e,t);return"no-promisor"===r.kind?{attempted:!1,requested:t.length,fetched:0}:{attempted:!0,requested:r.requested,fetched:r.fetched}}}),exports.diff=async(e,r={})=>{await ge(e);const a=await Lt(e,r.from??"HEAD"),i=void 0!==r.to?await Lt(e,r.to):void 0;return t.diffTrees(e,a,i,!0===r.detectRenames?{detectRenames:!0}:{})},exports.fetch=async(r,a={})=>{await ge(r);const i=a.remote??"origin",{url:o,filter:n}=await(async(r,a)=>{const i=await t.readConfig(r),o=i.remote?.get(a);if(void 0===o?.url||""===o.url)throw e.remoteNotConfigured(a);const n=void 0!==o.partialCloneFilter?V(Y(o.partialCloneFilter)):void 0;return{url:o.url,filter:n}})(r,i);r.progress.start(Ct);try{const s=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),c=await ct(r,s,o);if(0===c.refs.length)throw e.remoteAdvertisesNoRefs();if(void 0!==n&&!lt(c.capabilities))throw t.remoteFilterUnsupported();const d=dt(c.capabilities),f=ft(c.refs),l=await(async(e,r)=>{const a=await Ut(e,r);if(0===a.length)return[];const i=new Set,o=[];for(const e of a)if(!i.has(e)&&(i.add(e),o.push(e),o.length>=t.MAX_HAVES))return o;const n=a.slice(0,t.MAX_WALK_SEEDS);for await(const r of t.walkCommits(e,{from:n,ignoreMissing:!0,verifyHash:!1}))if(!i.has(r.id)&&(i.add(r.id),o.push(r.id),o.length>=t.MAX_HAVES))break;return o})(r,i),u=await t.fetchPack(r,s,{wants:f,haves:l,capabilities:d,url:o,progressOp:"fetch:write-objects",...void 0!==a.depth?{depth:a.depth}:{},...void 0!==n?{filter:n,promisor:!0}:{}});(u.shallow.length>0||u.unshallow.length>0)&&await t.updateShallow(r,{shallow:u.shallow,unshallow:u.unshallow});const h=await(async(e,r,a)=>{const i=[];for(const o of a.refs){const a=Pt(r,o);if(void 0===a)continue;const n=await jt(e,a);n!==o.id?(await t.updateRef(e,a,o.id,{reflogMessage:`fetch ${r}: storing head`}),i.push({name:a,oldId:n,newId:o.id})):i.push({name:a,oldId:n,newId:o.id})}return i})(r,i,c);return{remote:i,url:o,updatedRefs:h,prunedRefs:!0===a.prune?await Gt(r,i,c):[],shallow:u.shallow,unshallow:u.unshallow}}finally{r.progress.end(Ct)}},exports.fetchMissing=async(t,r)=>{const a=await Yt(t,r.oids);if("no-promisor"===a.kind)throw e.noPromisorRemote();return{remote:a.remote,requested:a.requested,fetched:a.fetched}},exports.init=async(t,r={})=>{const a=r.initialBranch??"main",i=r.bare??!1;if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw new e.TsgitError({code:"ALREADY_INITIALIZED",path:t.layout.gitDir});const o=await Qe(t,{initialBranch:a,bare:i});return{path:o.gitDir,initialBranch:o.initialBranch,bare:o.bare}},exports.log=async(e,r={})=>{await ge(e);const a=await(async(e,r)=>{if(/^[0-9a-f]{40}$/.test(r))return r;const a=[r,`refs/heads/${r}`,`refs/tags/${r}`];for(const r of a)try{return await t.resolveRef(e,t.validateRefName(r))}catch{}return t.resolveRef(e,t.validateRefName(r))})(e,r.from??"HEAD"),i=await(async(e,r)=>{const a=[];for(const i of r)if(/^[0-9a-f]{40}$/.test(i))a.push(i);else try{a.push(await t.resolveRef(e,t.validateRefName(i)))}catch{}return a})(e,r.excluding??[]),o=r.before,n=[];let s=0;for await(const c of t.walkCommits(e,{from:[a],until:i,order:"first-parent"}))if(!(void 0!==o&&c.data.committer.timestamp>=o.getTime()/1e3)&&(n.push({id:c.id,tree:c.data.tree,parents:c.data.parents,author:c.data.author,committer:c.data.committer,message:c.data.message}),s+=1,void 0!==r.limit&&s>=r.limit))break;return n},exports.merge=async(r,a)=>{await ge(r),await ye(r,"merge"),await ke(r);const i=await ve(r);if("symbolic"!==i.kind)throw e.unsupportedOperation("merge","cannot merge with detached HEAD");const o=await t.resolveRef(r,i.target),n=await(async(e,r)=>/^[0-9a-f]{40}$/.test(r)?r:t.resolveRef(e,`refs/heads/${r}`))(r,a.target);if(o===n)return{kind:"up-to-date",id:o};const s=await t.mergeBase(r,o,n);if(s===n)return{kind:"up-to-date",id:o};if(s===o&&!0!==a.noFastForward)return await t.updateRef(r,i.target,n,{expected:o,reflogMessage:`merge ${a.target}: Fast-forward`}),{kind:"fast-forward",id:n,branch:i.target};if(!0===a.fastForwardOnly)throw e.nonFastForward(i.target,o,n);return(async(e,t,r,a,i,o)=>{e.progress.start(Kt);try{const n=await Qt(e,a,i,o);return"conflict"===n.kind?ar(e,t,n,a,i):Jt(e,t,r,a,i,n.tree)}finally{e.progress.end(Kt)}})(r,a,i.target,o,n,s)},exports.push=async(r,a={})=>{await ge(r),r.progress.start(Er);try{const i=a.remote??"origin",o=await(async(r,a)=>{if(!Sr.test(a))throw e.invalidOption("remote",`invalid remote name: ${a}`);const i=await t.readConfig(r),o=i.remote?.get(a);if(void 0===o?.url)throw e.remoteNotConfigured(a);return o.url})(r,i),n=await(async(t,r)=>{if(void 0!==r&&r.length>0)return r.map(br);const a=await ve(t);if("symbolic"!==a.kind)throw e.invalidOption("refspecs","no-default-refspec (HEAD is detached)");const i=a.target;return[br(`${i}:${i}`)]})(r,a.refspecs),s=tt(r,void 0!==r.config?.auth?{auth:r.config.auth}:{}),c=await(async(e,t,r)=>st(e,t,r,"git-receive-pack"))(r,s,o),d=(await(async(e,t,r,a,i)=>{const o=Tr(r.refs),n=[];for(const r of t)n.push(await Mr(e,r,o,a,i));return n})(r,n,c,i,a)).filter(e=>e.localOid!==e.remoteOid);return 0===d.length?{remote:i,url:o,pushedRefs:[]}:(await(async(e,r,a,i,o)=>{if(r)return;const n=o.map(Dr).join("");await t.runHook(e,"pre-push",{args:[a,i],stdin:n})})(r,a.noVerify??!1,i,o,d),{remote:i,url:o,pushedRefs:await Lr(r,s,o,c,d,i)})}finally{r.progress.end(Er)}},exports.reflog=async(e,r={})=>(await ge(e),"exists"===r.action?(async(e,r)=>({kind:"exists",exists:await t.reflogExists(e,zr(r))}))(e,r.ref):"delete"===r.action?(async(e,r)=>{const a=zr(r.ref);if(!await t.reflogExists(e,a))throw t.reflogNotFound(a);const i=await t.readReflog(e,a);if(!Number.isInteger(r.index)||r.index<0)throw t.reflogEntryOutOfRange(a,r.index,i.length);const o=i.length-1-r.index;if(o<0)throw t.reflogEntryOutOfRange(a,r.index,i.length);const n=i[o],s=qr(i,o,!0===r.rewrite);return await t.writeReflog(e,a,s),{kind:"delete",removed:n}})(e,r):"expire"===r.action?(async(e,r)=>{const a=Math.floor(Date.now()/1e3),i=Xr(r.expire??"90.days.ago",a),o=Xr(r.expireUnreachable??"30.days.ago",a),n=await Vr(e),s=!0===r.all?await t.listReflogs(e):[zr(r.ref??"HEAD")];let c=0,d=0;for(const r of s){const a=await t.readReflog(e,r),s=a.filter(e=>Yr(e,n,i,o));c+=a.length-s.length,d+=s.length,s.length!==a.length&&await t.writeReflog(e,r,s)}return{kind:"expire",removed:c,kept:d}})(e,r):(async(e,r)=>{const a=zr(r),i=await t.readReflog(e,a),o=i.length-1,n=i.map((e,t)=>({index:t,selector:`${a}@{${t}}`,entry:i[o-t]}));return{kind:"show",ref:a,entries:n}})(e,r.ref??"HEAD")),exports.reset=async(r,a)=>{await ge(r),"hard"===a.mode&&await ye(r,"reset --hard"),await ke(r);const i=await(async(r,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[a,`refs/heads/${a}`,`refs/tags/${a}`];for(const e of i)try{return await t.resolveRef(r,e)}catch{}throw e.revparseUnresolved(a)})(r,a.target);"mixed"===a.mode?await(async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);const i=await t.loadSparseMatcher(e),o=await ue(e);try{const r=await t.readIndex(e),n=await t.buildIndexFromTree(e,{targetTree:a.data.tree,currentIndex:r,...void 0!==i?{sparse:i}:{}});await o.commit(n)}finally{await o.release()}})(r,i):"hard"===a.mode&&await(async(e,r)=>{const a=await t.readObject(e,r);if("commit"!==a.type)throw t.unexpectedObjectType("commit",a.type,r);const i=await t.loadSparseMatcher(e),o=await ue(e);try{const r=await t.readIndex(e),n=await t.materializeTree(e,{targetTree:a.data.tree,currentIndex:r,force:!0,forceRewriteAll:!0,...void 0!==i?{sparse:i}:{}});(n.written>0||n.deleted>0||void 0!==i)&&await o.commit(n.newIndexEntries)}finally{await o.release()}})(r,i);const o=await ve(r),n=`reset: moving to ${a.target}`;return"symbolic"===o.kind?(await t.updateRef(r,o.target,i,{reflogMessage:n}),{mode:a.mode,id:i,branch:o.target}):(await r.fs.writeUtf8(`${r.layout.gitDir}/HEAD`,`${i}\n`),await t.recordRefUpdate(r,"HEAD",o.id,i,n),{mode:a.mode,id:i,branch:void 0})},exports.revParse=async(e,t)=>{await ge(e);var r;return(async(e,t,r)=>{if("index-stage"===t.kind)return ba(e,t);const a=Math.floor(Date.now()/1e3);let i=void 0!==t.reflog?await fa(e,t.base,t.reflog,a,r):await ca(e,t.base);for(const r of t.operations)i=await ga(e,i,r);return i})(e,(""===(r=t)&&ta(r),r.startsWith(":")?(e=>{const t=Qr.exec(e);null===t&&ta(e);const r=t[2],a=Number(t[1]);return a>3&&ta(e),{kind:"index-stage",stage:a,path:r}})(r):r.includes("@{")?(e=>{const t=e.indexOf("@{"),r=e.indexOf("}",t+2),a=e.slice(0,t),i=e.slice(t+2,r);return""===i&&ta(e),{kind:"ref-or-hex",base:a,reflog:ra.test(i)?{kind:"index",n:Number(i)}:{kind:"date",raw:i},operations:ia(e.slice(r+1),0)}})(r):(e=>{const t=aa(e),r=-1===t?e:e.slice(0,t);return""===r&&ta(e),ea.test(r)&&-1===t&&ta(e),{kind:"ref-or-hex",base:r,operations:-1===t?[]:ia(e,t)}})(r)),t)},exports.rm=async(r,a,i={})=>{if(await ge(r),await ye(r,"rm"),await ke(r),0===a.length)throw e.emptyPathspec();const{matcher:o,literalMustMatch:n}=De(a),s=await ue(r,void 0!==i.breakStaleLockMs?{breakStaleLockMs:i.breakStaleLockMs}:{});try{const a=await t.readIndex(r).catch(t=>{if(t instanceof e.TsgitError&&("FILE_NOT_FOUND"===(r=t.data.code)||"INVALID_INDEX_HEADER"===r||"INVALID_INDEX_ENTRY"===r))return{entries:[]};var r;throw t}),c=new Map;for(const e of a.entries)c.set(e.path,e);const d=[];for(const[e]of c)y(o,e)&&d.push(e);Me(n,d);for(const e of d)c.delete(e);if(!i.cached)for(const t of d)await Ie(r,t).catch(t=>{if(!(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code))throw t});return await s.commit(Array.from(c.values())),{removed:d}}finally{await s.release()}},exports.sparseCheckout=async(r,a)=>(await(async e=>{await ge(e),await ye(e,"sparse-checkout"),await ke(e)})(r),"list"===a.action?(async e=>{const r=await t.readConfig(e);if(!0!==r.core?.sparseCheckout)return{kind:"list",cone:!1,patterns:[]};const a=!0===r.core.sparseCheckoutCone,i=await t.readSparsePatternText(e)??"";return"cone"===(o=t.parseSparseCheckout(i,a).spec).mode?{kind:"list",cone:!0,patterns:[...o.recursive].sort()}:{kind:"list",cone:!1,patterns:o.rules.map(e=>e.source)};var o})(r):"set"===a.action?(async(r,a)=>{if(0===a.patterns.length)throw e.invalidOption("patterns","set requires at least one pattern");const i=await t.readConfig(r),o=a.cone??i.core?.sparseCheckoutCone??!0,{spec:n,text:s}=Aa(o,a.patterns);return Oa(r,n,s,a.force)})(r,a):"add"===a.action?(async(r,a)=>{if(0===a.patterns.length)throw e.invalidOption("patterns","add requires at least one pattern");const i=await t.readConfig(r);if(!0!==i.core?.sparseCheckout)throw e.invalidOption("action","add requires sparse checkout to be enabled");const o=!0===i.core.sparseCheckoutCone,n=await t.readSparsePatternText(r)??"",{spec:s,text:c}=Na(o,n,a.patterns);return Oa(r,s,c,a.force)})(r,a):"reapply"===a.action?(async(r,a)=>{const i=await t.loadSparseMatcher(r);if(void 0===i)throw e.invalidOption("action","reapply requires sparse checkout to be enabled");const o=await t.readConfig(r),n=await Ta(r,Ma(i,a.force));return _a(!0===o.core?.sparseCheckoutCone,n)})(r,a):(async(e,r)=>{const a=await Ta(e,Ma(void 0,r.force));return await t.updateCoreConfig(e,{sparseCheckout:"false"}),_a(!1,a)})(r,a)),exports.status=async e=>{await ge(e);const r=await ve(e),a="symbolic"===r.kind?r.target:void 0,i="direct"===r.kind,o=await t.readIndex(e).catch(()=>({entries:[]})),n=new Map;for(const e of o.entries)n.set(e.path,e);e.progress.start(La);try{const r=((e,t)=>{let r=0,a=0;return{tick:()=>{r+=1;const i=Math.floor(r/100);i>a&&(a=i,e.update(t,r))}}})(e.progress,La),o=(await Promise.all(Array.from(n).map(async([t,a])=>{const i=await(async(e,t,r)=>{if(!r.flags.skipWorktree)return void 0===await e.fs.lstat(`${e.layout.workDir}/${t}`).catch(()=>{})?{kind:"deleted",path:t}:await Fa(e,t,r)?{kind:"modified",path:t}:void 0})(e,t,a);return r.tick(),i}))).filter(e=>void 0!==e),s=await de(e),c=[];for await(const{path:r}of t.walkWorkingTree(e,{ignore:s}))n.has(r)||c.push({kind:"untracked",path:r});c.sort(Ca);const d=[...o,...c];return{branch:a,detached:i,indexChanges:[],workingTreeChanges:d,clean:0===d.length}}finally{e.progress.end(La)}},exports.submodules=async(e,r={})=>{await ge(e);const a=(e=>t.looksLikeObjectId(e)?t.ObjectId.from(e):t.validateRefName(e))(r.ref??"HEAD"),i=!0===r.recursive,o=[];for await(const n of t.walkSubmodules(e,{ref:a,recursive:i,...void 0!==r.maxDepth?{maxDepth:r.maxDepth}:{}}))o.push(n);return{kind:"list",entries:o}},exports.tag=async(r,a)=>(await ge(r),"list"===a.kind?(async e=>{const r=`${e.layout.gitDir}/refs/tags`;if(!await e.fs.exists(r))return{kind:"list",tags:[]};const a=await e.fs.readdir(r),i=[];for(const r of a){if(!r.isFile)continue;const a=`${Ha}${r.name}`,o=await t.resolveRef(e,a);i.push({name:a,id:o})}return i.sort((e,t)=>e.name<t.name?-1:1),{kind:"list",tags:i}})(r):"create"===a.kind?(async(r,a)=>{const i=t.validateRefName(`${Ha}${a.name}`),o=void 0!==a.target?a.target:await Ba(r),n=/^[0-9a-f]{40}$/.test(o)?o:await t.resolveRef(r,o),s=`tag: ${a.name}`;try{await t.updateRef(r,i,n,!0===a.force?{reflogMessage:s}:{expected:"absent",reflogMessage:s})}catch(t){if(t instanceof e.TsgitError&&"REF_UPDATE_CONFLICT"===t.data.code)throw e.tagExists(i);throw t}return{kind:"create",name:i,id:n}})(r,a):(async(r,a)=>{const i=t.validateRefName(`${Ha}${a.name}`);if(!await r.fs.exists(`${r.layout.gitDir}/${i}`))throw e.tagNotFound(i);return await t.updateRef(r,i,t.ZERO_OID,{delete:!0}),{kind:"delete",name:i}})(r,a)),exports.validateUrl=ut;
|
|
2
|
+
//# sourceMappingURL=index-DE9HSiWf.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DE9HSiWf.cjs","sources":["../../../src/domain/diff/error.ts","../../../src/domain/diff/index-diff.ts","../../../src/domain/diff/line-diff.ts","../../../src/domain/ignore/match.ts","../../../src/domain/ignore/matcher-stack.ts","../../../src/domain/pathspec/compile-pathspec.ts","../../../src/domain/pathspec/match-pathspec.ts","../../../src/domain/merge/error.ts","../../../src/domain/merge/merge-types.ts","../../../src/domain/merge/conflict-markers.ts","../../../src/domain/merge/three-way-content.ts","../../../src/domain/merge/three-way-tree.ts","../../../src/domain/protocol/object-filter.ts","../../../src/domain/protocol/receive-pack.ts","../../../src/domain/reflog/approxidate.ts","../../../src/application/commands/internal/read-gitignore.ts","../../../src/application/commands/internal/build-ignore-evaluator.ts","../../../src/application/commands/internal/index-update.ts","../../../src/application/commands/internal/repo-state.ts","../../../src/domain/repository/error.ts","../../../src/application/commands/internal/working-tree.ts","../../../src/application/commands/internal/resolve-pathspec.ts","../../../src/application/commands/add.ts","../../../src/application/commands/branch.ts","../../../src/application/commands/cat-file.ts","../../../src/application/commands/checkout.ts","../../../src/application/commands/internal/bootstrap.ts","../../../src/application/commands/internal/network-pipeline.ts","../../../src/application/commands/internal/refs-discovery.ts","../../../src/application/commands/internal/upload-pack-client.ts","../../../src/application/commands/internal/url-validate.ts","../../../src/application/commands/clone.ts","../../../src/application/commands/internal/commit-message.ts","../../../src/application/commands/internal/merge-state.ts","../../../src/application/commands/commit.ts","../../../src/application/commands/diff.ts","../../../src/application/commands/fetch.ts","../../../src/application/commands/fetch-missing.ts","../../../src/application/primitives/flatten-tree.ts","../../../src/application/commands/merge.ts","../../../src/application/commands/internal/refspec.ts","../../../src/application/commands/push.ts","../../../src/application/commands/internal/receive-pack-client.ts","../../../src/application/commands/reflog.ts","../../../src/application/commands/internal/rev-parse-grammar.ts","../../../src/application/commands/rev-parse.ts","../../../src/application/commands/internal/apply-sparse-checkout.ts","../../../src/application/commands/sparse-checkout.ts","../../../src/application/commands/status.ts","../../../src/application/commands/tag.ts","../../../src/application/commands/internal/commit-hooks.ts","../../../src/application/commands/init.ts","../../../src/application/commands/log.ts","../../../src/application/commands/reset.ts","../../../src/application/commands/rm.ts","../../../src/application/commands/internal/progress-tracker.ts","../../../src/application/commands/submodules.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],"names":["invalidDiffInput","reason","TsgitError","code","conflictStageEmissions","conflict","out","undefined","baseId","baseMode","push","id","mode","stage","ourId","ourMode","theirId","theirMode","toIndexEntry","path","emission","statFactory","stat","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","uid","gid","fileSize","flags","STAGE0_FLAGS","MAX_LINES","splitLines","bytes","lines","start","i","length","subarray","isBinary","end","Math","min","hasNulInWindow","currentLineBytes","lineCount","exceedsLineCaps","linesEqual","a","b","chooseDown","v","offset","d","k","advanceSnake","oursLines","theirsLines","x","y","buildHunks","edits","hunks","oursCursor","theirsCursor","kind","startOurs","startTheirs","oursStart","oursEnd","theirsStart","theirsEnd","diffLines","ours","theirs","M","N","degraded","myers","maxD","Array","fill","trace","iterationBudget","iterations","snapLen","snapshot","ki","snake","totalD","computeMyersTrace","wholeFileFallback","_M","_N","snap","localOffset","prevK","prevX","prevY","reverse","reconstructEdits","matches","rules","isDir","result","rule","directoryOnly","compiled","test","negated","relativize","basedir","prefix","startsWith","slice","compileOne","raw","body","containsGlob","pattern","isLiteral","compileGlob","anchored","includes","withDirSuffix","matchesPathspec","spec","matched","entry","invalidMergeTree","invalidMergeInput","MAX_CONFLICT_OUTPUT_BYTES","FORBIDDEN_SUBSTRINGS","encoder","TextEncoder","isControlCode","isBidiOrInvisible","validateLabel","label","which","trim","charCodeAt","hasForbiddenChar","marker","hasMarkerSubstring","sumBytes","total","line","concatEnsuringTrailingLf","Uint8Array","inner","last","needsLf","block","set","writeConflictMarkers","options","conflictStyle","oursLabel","labels","theirsLabel","base","openMarker","encode","separator","closeMarker","oursBlock","theirsBlock","output","bytesEqual","lineArraysEqual","concatLines","l","changesFromHunks","sideLines","changes","pending","flush","baseStart","baseEnd","replacement","hunk","max","j","rangesOverlap","findIdenticalTwin","target","candidates","candidate","collidesWithAny","wholeFileConflict","status","conflictType","markedBytes","entriesEqual","enforcePerInputCap","tree","side","entries","size","MAX_FLAT_TREE_ENTRIES","conflictOutcome","modifyDeleteConflict","our","their","type","resolveOneSideAbsent","present","resolvePath","contentMerger","ourEntry","theirEntry","addAddConflict","resolveAddAdd","async","ourUnchanged","theirUnchanged","isSameKind","typeChangeConflict","resolveMode","FILE_MODE","GITLINK","isGitlink","gitlinkConflict","ctx","conflictContent","resolveContentMerge","resolveBothPresent","BLOB_LIMIT_PREFIX","TREE_PREFIX","BLOB_LIMIT_RE","DEPTH_RE","parseObjectFilter","invalidFilterSpec","match","Number","suffix","toLowerCase","sizeMultiplier","isSafeInteger","parseBlobLimit","rest","depth","parseTreeDepth","formatObjectFilter","filter","TEXT_DECODER","TextDecoder","fatal","TEXT_ENCODER","stripTrailingNewline","s","endsWith","parseRefStatusLine","name","accepted","space","indexOf","invalidReportStatus","parseReceivePackResponse","source","pkt","decode","payload","collectDataLines","first","unpack","ok","error","parseUnpackLine","unpackOk","refUpdates","map","unpackError","SECONDS_PER_UNIT","second","minute","hour","day","week","month","year","ISO_RE","RELATIVE_RE","parseApproxidate","text","now","normalized","exec","mo","h","mi","secondOfMinute","isLeapYear","MONTH_LENGTHS","daysInMonth","date","Date","setFullYear","floor","getTime","parseIso","count","unit","secondsPerUnit","parseRelative","readGitignore","dir","loadAndParse","layout","workDir","fs","lstat","err","data","isFile","isSymbolicLink","MAX_GITIGNORE_BYTES","gitignoreFileTooLarge","sanitizedErrorPath","readUtf8","parseGitignore","slash","lastIndexOf","buildRepoIgnorePredicate","evaluator","global","config","readConfig","core","excludesFile","resolved","homeDir","expandUserPath","readGlobalExcludes","info","gitDir","readInfoExclude","root","cache","Map","loadDirRules","cached","get","loaded","buildIgnoreEvaluator","stack","stackedDirs","Set","isDirectory","ancestor","ancestorsOf","has","add","level","relative","r","matchInStack","segments","split","join","resourceLocked","mtimeMs","resource","acquireIndexLock","opts","lockPath","indexPath","lockSuffix","indexFile","breakStaleLockMs","writeExclusive","readLockMtime","maybeBreakStaleLock","makeLock","age","rm","committed","released","release","commit","index","extensions","serializeIndex","checksum","hash","write","rename","HEAD_REF","RefName","from","assertRepository","headPath","exists","bare","assertNotBare","operation","isBare","bareRepository","readHeadRaw","content","refNotFound","parsed","parseLooseRef","PENDING_MARKERS","file","assertNoPendingOperation","Promise","all","m","except","operationInProgress","validatePath","validateWorkingTreePath","repoPath","readFile","rawPath","read","removeFile","full","checkoutOverwriteDirty","PATTERN_ENCODER","resolvePathspec","patterns","enforcePatternBudget","matcher","compilePathspec","literalMustMatch","isPositiveLiteral","e","bodyOf","hasGlob","some","isPositiveGlob","byteLength","invalidOption","countDoubleStars","enforceLiteralMustMatch","literals","matchedSet","lit","pathspecNoMatch","INDEX_MISSING_CODES","addLiteralOnly","validated","lock","existing","readExistingEntries","newEntries","added","modified","stageOne","previous","values","removed","allLiteralsAreFiles","catch","addByPathspec","ignore","combinedIgnore","seen","walkEntry","walkWorkingTree","processWalkEntry","sort","collectRemovedPaths","skipWorktree","isPathOrAncestorIgnored","MAX_WORKING_TREE_BLOB_BYTES","workingTreeFileTooLarge","stageFromStat","readIndex","fresh","operationAborted","readContent","writeObject","makeEntry","readlink","ctimeMs","HEADS_PREFIX","compareRefName","left","right","resolveBranchTarget","startPoint","resolveRef","branchNotFound","coerceId","ObjectId","CHECKOUT_MATERIALIZE_OP","resolvePathSource","head","readTree","bootstrapRepository","branch","validateRefName","initialBranch","mkdir","writeUtf8","rmRecursive","DEFAULT_RETRY","attempts","backoff","baseMs","maxDelayMs","withDefaults","safeLogger","logger","wrapLoggerSanitizer","transport","withRetry","retry","auth","withAuth","withLogging","log","event","sanitizeEvent","url","sanitizeStr","headers","sanitizeHeaders","errorMessage","key","value","Object","toString","padStart","toUpperCase","ACCEPT_HEADER","discoverRefsForService","service","discoveryUrl","buildDiscoveryUrl","response","request","method","accept","signal","statusCode","httpError","pktStream","decodePktStream","readableStreamToAsyncIterable","parseAdvertisedRefs","discoverRefs","selectFetchCapabilities","advertised","clientWants","CLIENT_CAPABILITIES_FETCH","c","AGENT","negotiateProtocolCapabilities","uniqueRefOids","refs","advertisesFilter","capabilities","validateUrl","rejectControlChars","parseUrl","enforceScheme","allowInsecure","rejectFragment","addresses","resolver","hostname","pinnedAddress","pickPinnedAddress","allowPrivateNetworks","invalidUrl","URL","proto","protocol","unsupportedScheme","replace","addr","isBlockedAddress","blockedHost","isBlockedIpv6","isBlockedIpv4","octets","parts","part","n","parseIpv4","lower","dotted","hex","high","parseInt","low","CLONE_DISCOVER_OP","writePromisorConfig","filterSpec","updateConfigEntries","section","subsection","writeFetchedRefs","advertisement","headBranch","headTrackedBranch","written","ref","remoteRef","writeRef","localRef","tagRef","debug","refPath","recordRefUpdate","ZERO_OID","ad","symref","find","applyRemoteHead","headOid","logClonedHead","resolveAuthor","input","explicit","configUser","authorUnconfigured","resolveCommitter","author","sanitizeMessage","trimmed","allowEmpty","emptyCommitMessage","mergeHeadPath","mergeMsgPath","insertEntry","node","files","child","subdirs","writeSubtree","treeEntries","leaf","writeTree","resolveTreeId","obj","readObject","FETCH_NEGOTIATE_OP","collectRefTips","remoteName","ids","looseDirs","fullDir","collectFromDir","refPrefix","packed","getRefStore","getPackedRefs","readdir","isOid","OID_RE","remoteTargetForRef","isSafeRefName","composed","readExistingRef","prune","advertisedBranches","remoteDir","deleted","deleteUnadvertised","warn","refName","updateRef","delete","isPackedRefDeleteError","objectExistsLocally","registry","looseObjectPath","lookup","fetchMissingInternal","oids","partialClone","remote","remoteNotConfigured","missing","createPackRegistry","collectMissing","requested","fetched","fetchPack","wants","haves","progressOp","promisor","isFileExists","flattenTree","treeId","walkTree","DIRECTORY","MERGE_WRITE_FILES_OP","UNSUPPORTED_CONFLICT_TYPES","commitCleanMerge","branchName","mergedTree","resolveMergeAuthor","commitData","parents","committer","resolveMergeCommitter","message","extraHeaders","createCommit","expected","reflogMessage","computeMergeTreeResult","ourTreeId","getTree","theirTreeId","baseTreeId","ourFlat","theirFlat","baseFlat","resolve","buildContentMerger","paths","keys","buildUnionPaths","sortedPaths","sortByPath","p","outcomes","outcome","conflicts","extractConflicts","cleanMerge","mergeTrees","synthesiseMergedTree","mergeCtx","_baseStub","_oursStub","_theirsStub","readBlob","maxBytes","oursDiff","theirsDiff","plan","oursChanges","theirsChanges","consumedTheirs","oc","twin","tc","mergePlans","baseLines","cursor","change","applyPlan","mergeContent","leaves","collectLeaves","writeNestedTree","treeDepthExceeded","slashIndex","sub","bucket","partitionByPrefix","subdirEntries","subLeaves","fileEntries","f","persistConflictState","rejectUnsupportedConflicts","loadSparseMatcher","writeConflictingWorkingTree","oldHeadId","origHeadPath","writeOrigHead","targetId","writeMergeHead","writeMergeMsg","indexEntries","buildConflictIndexEntries","mergeHead","origHead","unsupportedOperation","isExcluded","runBounded","writeOutcomeToTree","writeConflictToTree","items","limit","fn","workers","worker","next","concurrency","blob","writeWorkingTreeFile","removeWorkingTreeFile","materialiseConflictBytes","survivorId","fullPath","parent","parentDir","lastSlash","zeroStat","stage0","skipWorktreeEntry","stageConflicts","seenPaths","pathCmp","comparePaths","conflictsToIndexEntries","combined","cfgUser","user","email","timestamp","timezoneOffset","authorInput","committerInput","commitId","unexpectedObjectType","expandShort","parseRefspec","refspecInvalid","force","colonCount","countOccurrences","expanded","src","dst","isDelete","colonAt","srcRaw","dstRaw","ch","PUSH_ENUMERATE_OBJECTS_OP","PUSH_UPLOAD_OP","repeat","REFS_HEADS_PREFIX","SIDE_BAND_CAPS","prePushLine","localOid","remoteOid","REMOTE_NAME_RE","buildRemoteMap","resolveOneRefspec","remoteByName","enforceLeaseAndFastForward","lease","resolveLease","isAncestor","nonFastForward","pushRejected","emptyReport","forceWithLease","descendant","walkCommits","ignoreMissing","sendUpdates","adv","movers","collectObjects","pack","buildPack","CLIENT_CAPABILITIES_PUSH","selectPushCapabilities","requestBody","req","updates","emptyReceiveUpdates","payloads","u","idx","update","caps","tail","oldId","newId","updateLine","framed","encodePktStream","packfile","buildReceivePackRequest","toRefUpdate","postReceivePack","parseReceiveResponse","applyReportStatus","enumeratePushObjects","progress","receivePackUrl","buildReceivePackUrl","baseUrl","invalidBaseUrl","pathname","host","search","byteStream","pkts","hasSideBand","channel1","parseSideBand","onProgress","sanitize","statusByName","updateTrackingCache","resolveUserRef","repairChain","rewrite","following","_","position","resolveCutoff","cutoff","revparseUnresolved","keepEntry","reachable","expireCut","unreachableCut","identity","collectReachable","tips","resolveTips","enumerateRefs","tryResolve","VALID_PEEL_TARGETS","INDEX_STAGE_PATTERN","SHORT_HEX_PATTERN","fail","DIGITS_ONLY_PATTERN","findOperatorStart","parseOperations","parseTilde","op","parseCaret","isDigit","closeIdx","targetStr","digitsStr","resolveBase","ObjectIdFactory","refCandidates","objectNotFound","resolveReflogBase","selector","currentBranchRef","canonicalizeRef","readReflog","pickByIndex","pickByDate","resolveDirect","validateBaseRef","reflogExists","refResolves","reflogEntryOutOfRange","rawDate","applyOperation","getNthParent","cur","peel","current","object","resolveIndexStage","expr","joinPath","workdir","rel","isIncluded","deleteEntry","previousId","previousMode","addEntry","noopEntry","ZEROED_STAT","toSkipWorktree","clearSkipWorktree","applySparseCheckout","included","removable","retained","absPath","isWorkingTreeDirty","partition","changeset","stats","noop","buildChangeset","applied","applyChangeset","writtenEntries","writtenByPath","assembleEntries","materialized","applyOpts","applyAndPersist","buildSparseMatcher","writeSparsePatternText","updateCoreConfig","sparseCheckout","sparseCheckoutCone","toApplied","buildSpecAndText","useCone","buildConeSpec","serializeCone","parseSparseCheckout","combineSpecAndText","dirs","recursive","cone","STATUS_SCAN_OP","byPathAscending","HEADER_ENCODER","isModified","header","buf","hashHex","TAGS_PREFIX","currentHeadId","addAll","emptyPathspec","dispatchPathspec","action","headsDir","branches","currentTarget","listBranches","branchExists","createBranch","cannotDeleteCheckedOutBranch","deleteBranch","to","movedLog","writeReflog","writeSymbolicRef","renameBranch","batchOptions","catFileBatch","switchMode","isSwitch","pathsMode","isPaths","enumerateSourcePaths","pathSet","detached","changedPaths","materializeResult","currentIndex","targetTree","synthesizeTreeFromIndex","materializeTree","forceRewriteAll","materializePathRestoreLockless","newIndexEntries","materializePathRestoreLocked","pathRestore","detach","priorHead","oldOid","branchRef","oid","resolveSwitchOid","sparse","fromLabel","headCheckoutLabel","switchBranch","targetDirectoryNotEmpty","remoteAdvertisesNoRefs","bootstrap","remoteFilterUnsupported","packResult","shallow","updateShallow","unshallow","fetchedRefs","fetchAndPropagate","readMergeHead","noVerify","runHook","runPreCommitHook","allowEmptyMessage","draft","readMergeMsg","resolveCommitMessage","toAuthor","buildResolverInput","buildCommitterInput","unmergedPaths","mergeHasConflicts","rejectUnmergedIndex","buildTreeFromIndex","parentId","buildParents","getParentTree","nothingToCommit","hooks","editMsgPath","args","edited","applyCommitMsgHook","subject","commitReflogMessage","clearMergeState","fetch","attempted","diffTrees","detectRenames","partialCloneFilter","resolveRemoteUrl","seeds","tip","MAX_HAVES","cappedSeeds","MAX_WALK_SEEDS","verifyHash","deriveHaves","updatedRefs","applyRemoteRefs","prunedRefs","noPromisorRemote","startId","resolveStart","exclude","resolveExcluding","excluding","before","yielded","until","order","resolveTarget","mergeBase","noFastForward","fastForwardOnly","treeResult","mergeCommit","refspecs","resolveRefspecsInput","discoverReceivePackRefs","resolveAllRefspecs","pushedRefs","stdin","runPrePushHook","runExists","reflogNotFound","stored","isInteger","survivors","runDelete","expire","expireUnreachable","targets","listReflogs","kept","runExpire","lastIndex","runShow","buildIndexFromTree","rebuildIndexFromCommit","hardResetFromCommit","expression","reflog","operations","evaluate","parseIndexStage","at","close","parseReflog","opStart","parseRefOrHex","byPath","assertSparseReady","coneRequested","readSparsePatternText","runList","runSet","runAdd","runReapply","runDisable","indexByPath","tracker","reporter","lastEmittedBucket","tick","createGranularityTracker","indexChecks","classifyEntry","untracked","workingTreeChanges","indexChanges","clean","looksLikeObjectId","coerceRef","walkSubmodules","maxDepth","tags","listTags","tagExists","createTag","tagNotFound","deleteTag"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("./error-
|
|
2
|
-
//# sourceMappingURL=logger-
|
|
1
|
+
"use strict";var e=require("./error-CDLOBdNU.cjs");const o=(e,o)=>"object"==typeof e&&null!==e&&Object.hasOwn(e,o),r=()=>{const e=globalThis.process;return!!o(e,"versions")&&o(e.versions,"node")},t=()=>o(globalThis,"window")&&"undefined"!=typeof window&&o(globalThis,"navigator")&&"undefined"!=typeof navigator,n=Object.freeze({});exports.detectRuntime=()=>r()?"node":t()?"browser":"memory",exports.isBrowser=t,exports.isNode=r,exports.noopLogger=n,exports.wrapLoggerSanitizer=o=>{const r=o=>(r,t)=>{try{const n=e.sanitize(r),i=void 0!==t?(o=>{const r={};for(const[t,n]of Object.entries(o))r[t]="string"==typeof n?e.sanitize(n):n;return r})(t):void 0;o(n,i)}catch{}},t={};return void 0!==o.debug&&(t.debug=r(o.debug)),void 0!==o.info&&(t.info=r(o.info)),void 0!==o.warn&&(t.warn=r(o.warn)),void 0!==o.error&&(t.error=r(o.error)),Object.freeze(t)};
|
|
2
|
+
//# sourceMappingURL=logger-CVG0zcPH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-
|
|
1
|
+
{"version":3,"file":"logger-CVG0zcPH.cjs","sources":["../../../src/adapter-detect.ts","../../../src/ports/logger.ts"],"sourcesContent":[null,null],"names":["hasOwn","obj","key","Object","isNode","proc","globalThis","process","versions","isBrowser","window","navigator","noopLogger","freeze","logger","wrapLevel","method","message","context","safeMessage","sanitize","safeContext","undefined","out","value","entries","sanitizeContext","wrapped","debug","info","warn","error"],"mappings":"mDAsBA,MAAMA,EAAS,CAACC,EAAcC,IACb,iBAARD,GAA4B,OAARA,GAAgBE,OAAOH,OAAOC,EAAKC,GAYnDE,EAAS,KAIpB,MAAMC,EAAQC,WAA8CC,QAC5D,QAAKP,EAAOK,EAAM,aACXL,EAAQK,EAAyCG,SAAU,SAUvDC,EAAY,IACvBT,EAAOM,WAAY,WACD,oBAAXI,QACPV,EAAOM,WAAY,cACE,oBAAdK,UCpCIC,EAAqBT,OAAOU,OAAO,CAAA,yBD2CnB,IACvBT,IAAiB,OACjBK,IAAoB,UACjB,+FClC2BK,IAGlC,MAAMC,EACHC,GACD,CAACC,EAAiBC,KAChB,IACE,MAAMC,EAAcC,EAAAA,SAASH,GACvBI,OAA0BC,IAAZJ,EAkBJ,CACtBA,IAEA,MAAMK,EAA+B,CAAA,EACrC,IAAK,MAAOrB,EAAKsB,KAAUrB,OAAOsB,QAAQP,GACxCK,EAAIrB,GAAwB,iBAAVsB,EAAqBJ,EAAAA,SAASI,GAASA,EAE3D,OAAOD,GAzB2CG,CAAgBR,QAAWI,EACvEN,EAAOG,EAAaE,EACtB,CAAE,MAEF,GAEEM,EAAkB,CAAA,EASxB,YARqBL,IAAjBR,EAAOc,QACRD,EAAwCC,MAAQb,EAAUD,EAAOc,aAChDN,IAAhBR,EAAOe,OACRF,EAAsCE,KAAOd,EAAUD,EAAOe,YAC7CP,IAAhBR,EAAOgB,OACRH,EAAsCG,KAAOf,EAAUD,EAAOgB,YAC5CR,IAAjBR,EAAOiB,QACRJ,EAAwCI,MAAQhB,EAAUD,EAAOiB,QAC7D5B,OAAOU,OAAOc"}
|
package/dist/cjs/chunks/{memory-http-transport-Pjyme5KN.cjs → memory-http-transport-DXwDGKtR.cjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("./error-
|
|
2
|
-
//# sourceMappingURL=memory-http-transport-
|
|
1
|
+
"use strict";var t=require("./error-CDLOBdNU.cjs");async function s(t,s){const e=new ReadableStream({start(s){s.enqueue(t),s.close()}}).pipeThrough(s).getReader(),i=[];let r=0;for(;;){const{done:t,value:s}=await e.read();if(t)break;i.push(s),r+=s.length}const o=new Uint8Array(r);let n=0;for(const t of i)o.set(t,n),n+=t.length;return o}function e(t){return t instanceof Error?t.message:String(t)}class i{files=new Map;directories=new Set;symlinks=new Map;times=new Map;rootDir;constructor(t){this.rootDir=t.rootDir,this.directories.add(this.rootDir);for(const[s,e]of Object.entries(t.files??{})){const t=this.resolve(s);this.files.set(t,e.slice()),this.touch(t),this.ensureParentDirs(t)}}read=async s=>{const e=this.resolve(s),i=this.files.get(e);if(void 0===i)throw t.fileNotFound(s);return i.slice()};readSlice=async(s,e,i)=>{if(e<0||i<0)throw t.permissionDenied(s);const r=this.resolve(s),o=this.files.get(r);if(void 0===o)throw t.fileNotFound(s);const n=Math.min(e+i,o.length);return o.slice(e,n)};readUtf8=async t=>{const s=await this.read(t);return(new TextDecoder).decode(s)};write=async(t,s)=>{const e=this.resolve(t);this.ensureParentDirs(e),this.files.set(e,s.slice()),this.touch(e)};writeExclusive=async(s,e)=>{const i=this.resolve(s);if(this.files.has(i)||this.symlinks.has(i))throw t.fileExists(s);this.ensureParentDirs(i),this.files.set(i,e.slice()),this.touch(i)};writeUtf8=async(t,s)=>{await this.write(t,(new TextEncoder).encode(s))};appendUtf8=async(t,s)=>{const e=await this.readExistingUtf8(t);await this.writeUtf8(t,e+s)};async readExistingUtf8(t){const s=this.files.get(this.resolve(t));return(new TextDecoder).decode(s)}exists=async t=>{const s=this.resolve(t);return this.files.has(s)||this.directories.has(s)||this.symlinks.has(s)};static SYMLINK_FOLLOW_LIMIT=40;stat=async t=>this.statFollowing(t,t,0);async statFollowing(s,e,r){if(r>=i.SYMLINK_FOLLOW_LIMIT)throw t.unsupportedOperation("stat",`symlink loop: ${e}`);const o=this.resolve(s),n=this.symlinks.get(o);return void 0!==n?this.statFollowing(n,e,r+1):this.buildStat(o,e)}lstat=async t=>{const s=this.resolve(t),e=this.symlinks.get(s);return void 0!==e?this.makeStatRecord({size:e.length,isFile:!1,isDirectory:!1,isSymbolicLink:!0,times:this.times.get(s)}):this.buildStat(s,t)};readdir=async s=>{const e=this.resolve(s);if(this.files.has(e))throw t.notADirectory(s);if(!this.directories.has(e))throw t.notADirectory(s);const i=`${e}/`,r=new Map;for(const t of this.files.keys())this.addDirectEntry(t,i,r,"file");for(const t of this.symlinks.keys())this.addDirectEntry(t,i,r,"symlink");for(const t of this.directories)t!==e&&this.addDirectEntry(t,i,r,"directory");return Array.from(r.values())};mkdir=async s=>{const e=this.resolve(s);if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(s);this.addDirectoryRecursive(e)};rm=async s=>{const e=this.resolve(s);if(this.files.has(e))return this.files.delete(e),void this.times.delete(e);if(this.symlinks.has(e))return this.symlinks.delete(e),void this.times.delete(e);if(this.directories.has(e)){if(this.hasChildren(e))throw t.directoryNotEmpty(s);return this.directories.delete(e),void this.times.delete(e)}throw t.fileNotFound(s)};rename=async(s,e)=>{const i=this.resolve(s),r=this.resolve(e),o=this.files.get(i),n=this.symlinks.get(i);if(void 0===o&&void 0===n)throw t.fileNotFound(s);const h=this.times.get(i);this.ensureParentDirs(r),this.files.delete(r),this.symlinks.delete(r),this.times.delete(r),void 0!==o&&(this.files.delete(i),this.files.set(r,o)),void 0!==n&&(this.symlinks.delete(i),this.symlinks.set(r,n)),this.times.delete(i),this.times.set(r,h)};readlink=async s=>{const e=this.resolve(s),i=this.symlinks.get(e);if(void 0===i)throw t.fileNotFound(s);return i};symlink=async(s,e)=>{const i=this.resolve(e);if(this.files.has(i)||this.symlinks.has(i)||this.directories.has(i))throw t.fileExists(e);this.ensureParentDirs(i),this.symlinks.set(i,s),this.touch(i)};chmod=async(t,s)=>{this.resolve(t)};rmRecursive=async t=>{const s=this.resolve(t);this.removeLeafEntry(s)||this.directories.has(s)&&this.removeSubtree(s)};removeLeafEntry(t){return this.files.has(t)?(this.files.delete(t),this.times.delete(t),!0):!!this.symlinks.has(t)&&(this.symlinks.delete(t),this.times.delete(t),!0)}removeSubtree(t){const s=`${t}/`,e=o(this.files.keys(),s),i=o(this.symlinks.keys(),s),r=function(t,s,e){const i=[];for(const r of t)(r===s||r.startsWith(e))&&i.push(r);return i}(this.directories,t,s);n(e,this.files,this.times),n(i,this.symlinks,this.times),function(t,s,e){for(const i of t)s.delete(i),e.delete(i)}(r,this.directories,this.times)}openWithNoFollow=async(s,e)=>{const i=this.resolve(s);if(this.symlinks.has(i))throw t.permissionDenied(s);if(!this.files.has(i))throw t.fileNotFound(s);return this.makeMemoryHandle(i)};makeMemoryHandle(t){return{read:async(s,e,i,r)=>{const o=this.files.get(t),n=r??0,h=Math.min(n+i,o.length),a=o.subarray(n,Math.max(n,h));return s.set(a,e),a.length},write:async s=>{this.files.set(t,s.slice()),this.touch(t)},stat:async()=>this.buildStat(t,t),close:async()=>{}}}resolve(s){const e=function(t,s){const e=(s.startsWith("/")?s:`${t}/${s}`).split("/"),i=[];for(const t of e)""!==t&&"."!==t&&(".."!==t?i.push(t):i.pop());return`/${i.join("/")}`}(this.rootDir,s);if(e!==this.rootDir&&!e.startsWith(`${this.rootDir}/`))throw t.permissionDenied(s);return e}ensureParentDirs(t){this.addDirectoryRecursive(r(t))}addDirectoryRecursive(s){let e=s;for(;e.length>=this.rootDir.length;){if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(e);if(this.directories.add(e),e===this.rootDir)break;e=r(e)}}touch(t){const s=Date.now();this.times.set(t,{ctimeMs:s,mtimeMs:s})}buildStat(s,e){const i=this.files.get(s);if(void 0!==i)return this.makeStatRecord({size:i.byteLength,isFile:!0,isDirectory:!1,isSymbolicLink:!1,times:this.times.get(s)});if(this.directories.has(s))return this.makeStatRecord({size:0,isFile:!1,isDirectory:!0,isSymbolicLink:!1,times:this.times.get(s)});throw t.fileNotFound(e)}makeStatRecord(t){const s=t.times??{ctimeMs:0,mtimeMs:0};return{ctimeMs:s.ctimeMs,mtimeMs:s.mtimeMs,dev:0,ino:0,mode:33188,uid:0,gid:0,size:t.size,isFile:t.isFile,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink}}hasChildren(t){const s=`${t}/`;for(const t of this.files.keys())if(t.startsWith(s))return!0;for(const t of this.symlinks.keys())if(t.startsWith(s))return!0;for(const e of this.directories)if(e!==t&&e.startsWith(s))return!0;return!1}addDirectEntry(t,s,e,i){if(!t.startsWith(s))return;const r=t.slice(s.length),o=r.indexOf("/"),n=-1===o?r:r.slice(0,o);e.has(n)||e.set(n,-1!==o?{name:n,isFile:!1,isDirectory:!0,isSymbolicLink:!1}:{name:n,isFile:"file"===i,isDirectory:"directory"===i,isSymbolicLink:"symlink"===i})}}function r(t){return t.slice(0,t.lastIndexOf("/"))}function o(t,s){const e=[];for(const i of t)i.startsWith(s)&&e.push(i);return e}function n(t,s,e){for(const i of t)s.delete(i),e.delete(i)}const h={sha1:"SHA-1",sha256:"SHA-256"},a={sha1:20,sha256:32};function c(t){let s="";for(const e of t)s+=e.toString(16).padStart(2,"0");return s}function l(t,s){return`${t}:${s}`}exports.MemoryCompressor=class{constructor(){if("undefined"==typeof CompressionStream||"undefined"==typeof DecompressionStream)throw t.compressFailed("CompressionStream/DecompressionStream unavailable")}deflate=async i=>{try{return await s(i,new CompressionStream("deflate"))}catch(s){throw t.compressFailed(e(s))}};inflate=async i=>{try{return await s(i,new DecompressionStream("deflate"))}catch(s){throw t.decompressFailed(e(s))}};streamInflate=async(e,i)=>{const r=e.subarray(i);if(r.length>65536)throw t.decompressFailed("MemoryCompressor.streamInflate input exceeds 65536 byte safety cap; use NodeCompressor for real pack files");for(let t=1;t<=r.length;t+=1){const e=r.subarray(0,t);try{return{output:await s(e,new DecompressionStream("deflate")),bytesConsumed:t}}catch{}}throw t.decompressFailed("no valid zlib stream at offset")};createInflateStream=()=>new DecompressionStream("deflate")},exports.MemoryFileSystem=i,exports.MemoryHashService=class{algorithm;digestLength;subtleAlgo;subtle;constructor(s="sha1"){const e=globalThis.crypto?.subtle;if(void 0===e)throw t.hashFailed("crypto.subtle unavailable");this.subtle=e,this.algorithm=s,this.digestLength=a[s],this.subtleAlgo=h[s]}hash=async t=>{const s=await this.subtle.digest(this.subtleAlgo,t);return new Uint8Array(s)};hashHex=async t=>c(await this.hash(t));createHasher=()=>{const s=[],e=this.subtle,i=this.subtleAlgo;let r=!1;const o=async()=>{if(r)throw t.hashFailed("cannot digest after digest");r=!0;const o=s.reduce((t,s)=>t+s.length,0),n=new Uint8Array(o);let h=0;for(const t of s)n.set(t,h),h+=t.length;const a=await e.digest(i,n);return new Uint8Array(a)};return{update:e=>{if(r)throw t.hashFailed("cannot update after digest");s.push(e.slice())},digest:o,digestHex:async()=>c(await o())}}},exports.MemoryHttpTransport=class{mocks=new Map;request=async s=>{const e=l(s.method,s.url),i=this.mocks.get(e);if(void 0===i)throw t.networkError(`no mock for ${s.url}`);const r=i.body.slice();return{statusCode:i.statusCode,headers:i.headers,body:new ReadableStream({start(t){t.enqueue(r),t.close()}})}};addMockResponse(t){const s={};for(const[e,i]of Object.entries(t.response.headers))s[e.toLowerCase()]=i;this.mocks.set(l(t.method,t.url),{statusCode:t.response.statusCode,headers:s,body:t.response.body.slice()})}clearMocks(){this.mocks.clear()}};
|
|
2
|
+
//# sourceMappingURL=memory-http-transport-DXwDGKtR.cjs.map
|