@scolladon/tsgit 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +9 -5
  2. package/dist/cjs/adapters/browser/index.cjs +1 -1
  3. package/dist/cjs/adapters/memory/index.cjs +1 -1
  4. package/dist/cjs/adapters/memory/index.cjs.map +1 -1
  5. package/dist/cjs/adapters/node/index.cjs +1 -1
  6. package/dist/cjs/chunks/adapter-detect-CD_LcgaH.cjs +2 -0
  7. package/dist/cjs/chunks/adapter-detect-CD_LcgaH.cjs.map +1 -0
  8. package/dist/cjs/chunks/{browser-http-transport-D4NH-8oJ.cjs → browser-http-transport-CiMRqtDS.cjs} +2 -2
  9. package/dist/cjs/chunks/browser-http-transport-CiMRqtDS.cjs.map +1 -0
  10. package/dist/cjs/chunks/error-CfjFO3x_.cjs +2 -0
  11. package/dist/cjs/chunks/error-CfjFO3x_.cjs.map +1 -0
  12. package/dist/cjs/chunks/index-BWCq_5BJ.cjs +2 -0
  13. package/dist/cjs/chunks/index-BWCq_5BJ.cjs.map +1 -0
  14. package/dist/cjs/chunks/memory-http-transport-BVL6VgB-.cjs +2 -0
  15. package/dist/cjs/chunks/memory-http-transport-BVL6VgB-.cjs.map +1 -0
  16. package/dist/cjs/chunks/node-http-transport-BvfVcf02.cjs +2 -0
  17. package/dist/cjs/chunks/node-http-transport-BvfVcf02.cjs.map +1 -0
  18. package/dist/cjs/chunks/{progress-Bj2w-90A.cjs → progress-CxU62NC1.cjs} +2 -2
  19. package/dist/cjs/chunks/{progress-Bj2w-90A.cjs.map → progress-CxU62NC1.cjs.map} +1 -1
  20. package/dist/cjs/chunks/repository-BEg2zNtx.cjs +2 -0
  21. package/dist/cjs/chunks/repository-BEg2zNtx.cjs.map +1 -0
  22. package/dist/cjs/chunks/walk-submodules-D2Sp7JEB.cjs +2 -0
  23. package/dist/cjs/chunks/walk-submodules-D2Sp7JEB.cjs.map +1 -0
  24. package/dist/cjs/commands/index.cjs +1 -1
  25. package/dist/cjs/index.browser.cjs +1 -1
  26. package/dist/cjs/index.browser.cjs.map +1 -1
  27. package/dist/cjs/index.cjs +1 -1
  28. package/dist/cjs/index.cjs.map +1 -1
  29. package/dist/cjs/index.default.cjs +1 -1
  30. package/dist/cjs/index.default.cjs.map +1 -1
  31. package/dist/cjs/index.node.cjs +1 -1
  32. package/dist/cjs/index.node.cjs.map +1 -1
  33. package/dist/cjs/primitives/index.cjs +1 -1
  34. package/dist/cjs/primitives/index.cjs.map +1 -1
  35. package/dist/esm/adapters/browser/index.js +1 -1
  36. package/dist/esm/adapters/memory/index.js +1 -1
  37. package/dist/esm/adapters/memory/index.js.map +1 -1
  38. package/dist/esm/adapters/node/index.js +1 -1
  39. package/dist/esm/adapters/node/index.js.map +1 -1
  40. package/dist/esm/chunks/adapter-detect-DkZhhUhd.js +2 -0
  41. package/dist/esm/chunks/adapter-detect-DkZhhUhd.js.map +1 -0
  42. package/dist/esm/chunks/{browser-http-transport-DL8bkNdg.js → browser-http-transport-4rJkHcQu.js} +2 -2
  43. package/dist/esm/chunks/browser-http-transport-4rJkHcQu.js.map +1 -0
  44. package/dist/esm/chunks/error-Dc-SRSJK.js +2 -0
  45. package/dist/esm/chunks/error-Dc-SRSJK.js.map +1 -0
  46. package/dist/esm/chunks/index-jH0UMhh-.js +2 -0
  47. package/dist/esm/chunks/index-jH0UMhh-.js.map +1 -0
  48. package/dist/esm/chunks/memory-http-transport-CA1WxWBp.js +2 -0
  49. package/dist/esm/chunks/memory-http-transport-CA1WxWBp.js.map +1 -0
  50. package/dist/esm/chunks/node-http-transport-DPa2lK3T.js +2 -0
  51. package/dist/esm/chunks/node-http-transport-DPa2lK3T.js.map +1 -0
  52. package/dist/esm/chunks/progress-BZobfl7p.js +2 -0
  53. package/dist/esm/chunks/{progress-NePjO3Kd.js.map → progress-BZobfl7p.js.map} +1 -1
  54. package/dist/esm/chunks/repository-DF6ePd1x.js +2 -0
  55. package/dist/esm/chunks/repository-DF6ePd1x.js.map +1 -0
  56. package/dist/esm/chunks/walk-submodules-Dq9oGwP8.js +2 -0
  57. package/dist/esm/chunks/walk-submodules-Dq9oGwP8.js.map +1 -0
  58. package/dist/esm/commands/index.js +1 -1
  59. package/dist/esm/index.browser.js +1 -1
  60. package/dist/esm/index.browser.js.map +1 -1
  61. package/dist/esm/index.default.js +1 -1
  62. package/dist/esm/index.default.js.map +1 -1
  63. package/dist/esm/index.js +1 -1
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/index.node.js +1 -1
  66. package/dist/esm/index.node.js.map +1 -1
  67. package/dist/esm/primitives/index.js +1 -1
  68. package/dist/esm/primitives/index.js.map +1 -1
  69. package/dist/types/adapters/browser/index.d.cts +5 -2
  70. package/dist/types/adapters/browser/index.d.ts +5 -2
  71. package/dist/types/adapters/memory/index.d.cts +17 -2
  72. package/dist/types/adapters/memory/index.d.ts +17 -2
  73. package/dist/types/adapters/node/index.d.cts +5 -2
  74. package/dist/types/adapters/node/index.d.ts +5 -2
  75. package/dist/types/chunks/{context-BORy7yXb.d.ts → context-CCL0_F8R.d.ts} +65 -39
  76. package/dist/types/chunks/{context-CMrHCVwK.d.cts → context-YDw6qicq.d.cts} +65 -39
  77. package/dist/types/chunks/{http-transport-DirKfK2S.d.cts → http-transport--_NdQOiw.d.cts} +1 -1
  78. package/dist/types/chunks/{http-transport-DirKfK2S.d.ts → http-transport--_NdQOiw.d.ts} +1 -1
  79. package/dist/types/chunks/index-entry-DtEbVpOG.d.cts +47 -0
  80. package/dist/types/chunks/index-entry-UD4dvtKh.d.ts +47 -0
  81. package/dist/types/chunks/progress-7KKiXXfX.d.ts +405 -0
  82. package/dist/types/chunks/progress-By8yFaUE.d.cts +405 -0
  83. package/dist/types/chunks/{reflog-entry-BIf-zt__.d.cts → reflog-entry-BbNnXCTC.d.cts} +40 -3
  84. package/dist/types/chunks/{reflog-entry-D9P2hCgv.d.ts → reflog-entry-CSzjnZd4.d.ts} +40 -3
  85. package/dist/types/chunks/{repository-BqibvTOu.d.cts → repository-BeifCqp0.d.cts} +48 -8
  86. package/dist/types/chunks/{repository-C4rN09Am.d.ts → repository-FoS_Laoy.d.ts} +48 -8
  87. package/dist/types/chunks/{write-tree-B8G6kgTy.d.cts → write-tree-C3oNxOlX.d.cts} +88 -46
  88. package/dist/types/chunks/{write-tree-BXCDChvv.d.ts → write-tree-DRI-LzSr.d.ts} +88 -46
  89. package/dist/types/commands/index.d.cts +826 -95
  90. package/dist/types/commands/index.d.ts +826 -95
  91. package/dist/types/index.browser.d.cts +7 -6
  92. package/dist/types/index.browser.d.ts +7 -6
  93. package/dist/types/index.d.cts +278 -53
  94. package/dist/types/index.d.ts +278 -53
  95. package/dist/types/index.default.d.cts +7 -6
  96. package/dist/types/index.default.d.ts +7 -6
  97. package/dist/types/index.node.d.cts +7 -6
  98. package/dist/types/index.node.d.ts +7 -6
  99. package/dist/types/primitives/index.d.cts +265 -12
  100. package/dist/types/primitives/index.d.ts +265 -12
  101. package/dist/types/transport/index.d.cts +1 -1
  102. package/dist/types/transport/index.d.ts +1 -1
  103. package/package.json +190 -31
  104. package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs.map +0 -1
  105. package/dist/cjs/chunks/error-CDLOBdNU.cjs +0 -2
  106. package/dist/cjs/chunks/error-CDLOBdNU.cjs.map +0 -1
  107. package/dist/cjs/chunks/index-BVArBKuk.cjs +0 -2
  108. package/dist/cjs/chunks/index-BVArBKuk.cjs.map +0 -1
  109. package/dist/cjs/chunks/index-DE9HSiWf.cjs +0 -2
  110. package/dist/cjs/chunks/index-DE9HSiWf.cjs.map +0 -1
  111. package/dist/cjs/chunks/logger-CVG0zcPH.cjs +0 -2
  112. package/dist/cjs/chunks/logger-CVG0zcPH.cjs.map +0 -1
  113. package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs +0 -2
  114. package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs.map +0 -1
  115. package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs +0 -2
  116. package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs.map +0 -1
  117. package/dist/cjs/chunks/repository-BJwTSiGf.cjs +0 -2
  118. package/dist/cjs/chunks/repository-BJwTSiGf.cjs.map +0 -1
  119. package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js.map +0 -1
  120. package/dist/esm/chunks/error-MOmSzp9Z.js +0 -2
  121. package/dist/esm/chunks/error-MOmSzp9Z.js.map +0 -1
  122. package/dist/esm/chunks/index-BjmofbKE.js +0 -2
  123. package/dist/esm/chunks/index-BjmofbKE.js.map +0 -1
  124. package/dist/esm/chunks/index-Jh5R-UmU.js +0 -2
  125. package/dist/esm/chunks/index-Jh5R-UmU.js.map +0 -1
  126. package/dist/esm/chunks/logger-DP2cCpvL.js +0 -2
  127. package/dist/esm/chunks/logger-DP2cCpvL.js.map +0 -1
  128. package/dist/esm/chunks/memory-http-transport-COJU6VOL.js +0 -2
  129. package/dist/esm/chunks/memory-http-transport-COJU6VOL.js.map +0 -1
  130. package/dist/esm/chunks/node-http-transport-DYCFIJbc.js +0 -2
  131. package/dist/esm/chunks/node-http-transport-DYCFIJbc.js.map +0 -1
  132. package/dist/esm/chunks/progress-NePjO3Kd.js +0 -2
  133. package/dist/esm/chunks/repository-Cs-dbHqO.js +0 -2
  134. package/dist/esm/chunks/repository-Cs-dbHqO.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-http-transport-BVL6VgB-.cjs","sources":["../../../src/adapters/memory/memory-compressor.ts","../../../src/adapters/memory/memory-file-system.ts","../../../src/adapters/memory/memory-hash-service.ts","../../../src/adapters/memory/memory-http-transport.ts"],"sourcesContent":[null,null,null,null],"names":["async","runTransform","data","transform","reader","ReadableStream","start","controller","enqueue","close","pipeThrough","getReader","chunks","total","done","value","read","push","length","out","Uint8Array","offset","chunk","set","describeError","err","Error","message","String","MemoryFileSystem","files","Map","directories","Set","symlinks","times","rootDir","homePath","xdgPath","systemPath","constructor","options","this","home","xdg","systemConfig","add","key","Object","entries","normalized","resolve","slice","touch","ensureParentDirs","homedir","xdgConfigHome","systemConfigPath","path","stored","get","undefined","fileNotFound","readSlice","permissionDenied","end","Math","min","readUtf8","bytes","TextDecoder","decode","write","writeExclusive","has","fileExists","writeUtf8","content","TextEncoder","encode","appendUtf8","existing","readExistingUtf8","exists","static","stat","statFollowing","currentPath","originalPath","hops","SYMLINK_FOLLOW_LIMIT","unsupportedOperation","target","buildStat","lstat","makeStatRecord","size","isFile","isDirectory","isSymbolicLink","readdir","notADirectory","prefix","seen","filePath","keys","addDirectEntry","linkPath","dirPath","Array","from","values","mkdir","addDirectoryRecursive","rm","delete","hasChildren","directoryNotEmpty","rename","src","dst","normalizedSrc","normalizedDst","fileBytes","linkTarget","timestamp","readlink","symlink","chmod","_mode","rmRecursive","removeLeafEntry","removeSubtree","matchingFiles","collectStartsWith","matchingLinks","matchingDirs","dirs","exact","startsWith","collectMatchingDirs","deleteAll","deleteAllFromSet","openWithNoFollow","makeMemoryHandle","buffer","position","subarray","max","segments","split","resolved","segment","pop","join","normalizePath","normalizedPath","parentOf","current","now","Date","ctimeMs","mtimeMs","byteLength","parts","timestamps","dev","ino","mode","uid","gid","fullPath","kind","remainder","slashIndex","indexOf","name","lastIndexOf","map","SUBTLE_ALGO","sha1","sha256","DIGEST_LENGTH","bytesToHex","byte","toString","padStart","buildKey","method","url","CompressionStream","DecompressionStream","compressFailed","deflate","inflate","decompressFailed","streamInflate","attempt","output","bytesConsumed","createInflateStream","algorithm","digestLength","subtleAlgo","subtle","globalThis","crypto","hashFailed","hash","digest","hashHex","createHasher","algo","consumed","doDigest","reduce","sum","concatenated","result","update","digestHex","mocks","request","req","mock","networkError","bodyBytes","body","statusCode","headers","addMockResponse","lowercasedHeaders","response","toLowerCase","clearMocks","clear"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("node:zlib"),e=require("./error-CfjFO3x_.cjs"),i=require("node:fs"),s=require("node:os"),r=require("node:path"),a=require("./lru-cache-1OU7JhD8.cjs"),n=require("node:fs/promises"),o=require("node:crypto"),c=require("node:child_process"),h=require("node:http"),l=require("node:https"),d=require("node:stream");function u(t){var e=Object.create(null);return t&&Object.keys(t).forEach(function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}}),e.default=t,Object.freeze(e)}var m=u(i),p=u(s),f=u(r),w=u(n),y=u(h),g=u(l);function O(t){return t instanceof Error?t.message:String(t)}const N=w,P=t=>{if("\\"!==t&&"/"!==t)throw new Error(`PathPolicy: unsupported separator ${JSON.stringify(t)}`);return t},v=(t,e)=>({sep:P(t.sep),caseInsensitive:e,isAbsolute:e=>t.isAbsolute(e),resolve:(...e)=>t.resolve(...e),join:(...e)=>t.join(...e),dirname:e=>t.dirname(e),basename:e=>t.basename(e),rootOf:e=>t.parse(e).root,normalizeForCompare:t=>{return e?(i=t,i.startsWith("\\\\?\\UNC\\")?"\\\\"+i.slice(8):i.startsWith("\\\\?\\")?i.slice(4):i).toLowerCase():t;var i}}),C=v(f.posix,!1),k=v(f.win32,!0),E="win32"===process.platform?k:C;function b(t,e,i=E){return i.isAbsolute(t)?t:i.join(e,t)}function D(t){return t instanceof Error&&"code"in t}function R(t,e,i=E){const s=i.normalizeForCompare(e);return s===t||s.startsWith(t+i.sep)}function F(t,i){switch(t.code){case"ENOENT":return e.fileNotFound(i);case"EEXIST":return e.fileExists(i);case"ENOTDIR":return e.notADirectory(i);case"ENOTEMPTY":return e.directoryNotEmpty(i);case"EACCES":case"EPERM":case"ELOOP":case"EISDIR":return e.permissionDenied(i);default:return e.unsupportedOperation("filesystem",t.code??"UNKNOWN")}}async function I(t,e){try{return await t()}catch(t){if(D(t))throw F(t,e);throw t}}async function T(t,e=E,i=N){const s=e.rootOf(t),r=t.slice(s.length).split(e.sep).filter(Boolean);for(let t=r.length;t>0;t--){const a=s+r.slice(0,t).join(e.sep);try{const s=await i.realpath(a),n=r.slice(t).join(e.sep);return n.length>0?e.join(s,n):s}catch(t){if(D(t)&&"ENOENT"===t.code)continue;throw t}}const a=await i.realpath(s);return r.length>0?e.join(a,r.join(e.sep)):a}function S(t){const e={ctimeMs:Number(t.ctimeMs),mtimeMs:Number(t.mtimeMs),dev:Number(t.dev),ino:Number(t.ino),mode:Number(t.mode),uid:Number(t.uid),gid:Number(t.gid),size:Number(t.size),isFile:t.isFile(),isDirectory:t.isDirectory(),isSymbolicLink:t.isSymbolicLink()};return void 0!==t.ctimeNs&&void 0!==t.mtimeNs?{...e,ctimeNs:t.ctimeNs,mtimeNs:t.mtimeNs}:e}const x={sha1:20,sha256:32},z={stat:n.stat,spawn:c.spawn};class L{chunks=[];size=0;append(t){const e=t.subarray(0,Math.max(0,1048576-this.size));this.chunks.push(e),this.size+=e.length}value(){return Buffer.concat(this.chunks).toString("utf8")}}function j(t){const e={};for(const[i,s]of Object.entries(t))void 0!==s&&(e[i.toLowerCase()]=Array.isArray(s)?s.join(", "):s);return e}exports.NodeCompressor=class{maxInflatedBytes;constructor(t){this.maxInflatedBytes=t?.maxInflatedBytes??2147483648}deflate=async i=>{try{return new Uint8Array(t.deflateSync(i))}catch(t){throw e.compressFailed(O(t))}};inflate=async i=>{try{return new Uint8Array(t.inflateSync(i,{maxOutputLength:this.maxInflatedBytes}))}catch(t){throw e.decompressFailed(O(t))}};streamInflate=async(i,s)=>{const r=this.maxInflatedBytes;return new Promise((a,n)=>{const o=t.createInflate(),c=[];let h=0;const l=i.subarray(s);o.on("data",t=>{if(h+=t.length,h>r)return o.destroy(),void n(e.decompressFailed("inflated output exceeds safety cap"));c.push(new Uint8Array(t))}),o.on("end",()=>{const t=o.bytesWritten,e=function(t){const e=t.reduce((t,e)=>t+e.length,0),i=new Uint8Array(e);let s=0;for(const e of t)i.set(e,s),s+=e.length;return i}(c);a({output:e,bytesConsumed:t})}),o.on("error",t=>{n(e.decompressFailed(t.message))}),o.end(l)})};createInflateStream=()=>{const i=this.maxInflatedBytes,s=t.createInflate();let r,a,n=0;return new TransformStream({start(t){r=t,s.on("data",t=>{if(n+=t.length,n>i)return r?.error(e.decompressFailed("inflated output exceeds safety cap")),void s.destroy();r?.enqueue(new Uint8Array(t))}),a=new Promise((t,i)=>{s.on("end",()=>{r?.terminate(),t()}),s.on("error",t=>{const s=e.decompressFailed(t.message);r?.error(s),i(s)})})},transform(t){s.write(t)},flush:()=>(s.end(),a)})}},exports.NodeFileSystem=class{rootDir;pathPolicy;fsOps;creationParentCache=a.createLruCache(65536,64);canonicalRootPromise=void 0;normalizedRootDir=void 0;normalizedCanonicalRoot=void 0;constructor(t,e=E,i=N){this.rootDir=t,this.pathPolicy=e,this.fsOps=i}getNormalizedRootDir(){return void 0===this.normalizedRootDir&&(this.normalizedRootDir=this.pathPolicy.normalizeForCompare(this.rootDir)),this.normalizedRootDir}getResolvedNormalizedCanonicalRoot(){return this.normalizedCanonicalRoot}async getCanonicalRoot(){return void 0===this.canonicalRootPromise&&(this.canonicalRootPromise=this.fsOps.realpath(this.rootDir).then(t=>(this.normalizedCanonicalRoot=this.pathPolicy.normalizeForCompare(t),t)).catch(t=>{throw this.canonicalRootPromise=void 0,this.normalizedCanonicalRoot=void 0,t})),this.canonicalRootPromise}read=async t=>{const e=await this.checkContainment(t,"read");return I(async()=>new Uint8Array(await this.fsOps.readFile(e)),t)};readSlice=async(t,i,s)=>{if(i<0||s<0)throw e.permissionDenied(t);const r=await this.checkContainment(t,"read");let a;try{return await I(async()=>{a=await this.fsOps.open(r,"r");const t=Buffer.alloc(s),{bytesRead:e}=await a.read(t,0,s,i);return Uint8Array.from(t.subarray(0,e))},t)}finally{await(a?.close())}};readUtf8=async t=>{const e=await this.checkContainment(t,"read");return I(()=>this.fsOps.readFile(e,"utf-8"),t)};write=async(t,e)=>{const i=await this.checkContainment(t,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e)},t)};writeExclusive=async(t,e)=>{const i=await this.checkContainment(t,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e,{flag:"wx"})},t)};writeUtf8=async(t,e)=>{const i=await this.checkContainment(t,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.writeFile(i,e,"utf-8")},t)};appendUtf8=async(t,e)=>{const i=await this.checkContainment(t,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(i),{recursive:!0}),await this.fsOps.appendFile(i,e,"utf-8")},t)};exists=async t=>{const i=this.pathPolicy.resolve(b(t,this.rootDir,this.pathPolicy));await this.getCanonicalRoot();const s=this.getNormalizedRootDir(),r=this.getResolvedNormalizedCanonicalRoot();try{if(!R(r,await this.fsOps.realpath(i),this.pathPolicy))throw e.permissionDenied(t);return!0}catch(a){if(a instanceof e.TsgitError)throw a;if(D(a)&&"ENOENT"===a.code){if(!R(s,i,this.pathPolicy)&&!R(r,i,this.pathPolicy))throw e.permissionDenied(t);return!1}if(D(a))throw F(a,t);throw a}};stat=async t=>{const e=await this.checkContainment(t,"read");return I(async()=>S(await this.fsOps.stat(e,{bigint:!0})),t)};lstat=async t=>{const e=await this.checkContainment(t,"lstat");return I(async()=>S(await this.fsOps.lstat(e,{bigint:!0})),t)};readdir=async t=>{const e=await this.checkContainment(t,"read");return I(async()=>(await this.fsOps.readdir(e,{withFileTypes:!0})).map(t=>({name:t.name,isFile:t.isFile(),isDirectory:t.isDirectory(),isSymbolicLink:t.isSymbolicLink()})),t)};mkdir=async t=>{const e=await this.checkContainment(t,"creation");await I(()=>this.fsOps.mkdir(e,{recursive:!0}),t)};rm=async t=>{const e=await this.checkContainment(t,"read");await I(()=>this.fsOps.rm(e),t)};rename=async(t,e)=>{const i=await this.checkContainment(t,"read"),s=await this.checkContainment(e,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(s),{recursive:!0}),await this.fsOps.rename(i,s)},t),this.creationParentCache.clear()};readlink=async t=>{const e=await this.checkContainment(t,"lstat");return I(()=>this.fsOps.readlink(e),t)};symlink=async(t,i)=>{if(this.pathPolicy.isAbsolute(t)){const s=this.pathPolicy.resolve(t),r=await T(s,this.pathPolicy,this.fsOps);await this.getCanonicalRoot();const a=this.getNormalizedRootDir(),n=this.getResolvedNormalizedCanonicalRoot();if(!R(a,r,this.pathPolicy)&&!R(n,r,this.pathPolicy))throw e.permissionDenied(i)}const s=await this.checkContainment(i,"creation");await I(async()=>{await this.fsOps.mkdir(this.pathPolicy.dirname(s),{recursive:!0}),await this.fsOps.symlink(t,s)},i)};chmod=async(t,e)=>{const i=await this.checkContainment(t,"read");await I(()=>this.fsOps.chmod(i,e),t)};rmRecursive=async t=>{let i;try{i=await this.checkContainment(t,"lstat"),await I(()=>this.fsOps.lstat(i),t)}catch(t){if(t instanceof e.TsgitError&&"FILE_NOT_FOUND"===t.data.code)return;throw t}await this.removeTree(i,t),this.creationParentCache.clear()};openWithNoFollow=async(t,i)=>{const s=await this.checkContainment(t,"lstat");if(this.pathPolicy.caseInsensitive&&await this.isSymlinkLeaf(s))throw e.permissionDenied(t);const r="write"===i?m.constants.O_WRONLY:m.constants.O_RDONLY;return function(t){let e=!1;return{read:async(e,i,s,r)=>{const{bytesRead:a}=await t.read(e,i,s,r??null);return a},write:async e=>{await t.write(e,0,e.length)},stat:async()=>S(await t.stat({bigint:!0})),close:async()=>{e||(e=!0,await t.close())}}}(await I(()=>this.fsOps.open(s,r|m.constants.O_NOFOLLOW),t).catch(i=>{if(function(t,i=E){return!!i.caseInsensitive&&t instanceof e.TsgitError&&("PERMISSION_DENIED"===t.data.code||"UNSUPPORTED_OPERATION"===t.data.code)}(i,this.pathPolicy))throw e.permissionDenied(t);throw i}))};async isSymlinkLeaf(t){try{return(await this.fsOps.lstat(t)).isSymbolicLink()}catch(t){if(D(t)&&"ENOENT"===t.code)return!1;throw t}}async removeTree(t,e){const i=await I(()=>this.fsOps.lstat(t),e);if(!i.isDirectory()||i.isSymbolicLink())return void await I(()=>this.fsOps.rm(t,{force:!0}),e);const s=await I(()=>this.fsOps.readdir(t,{withFileTypes:!0}),e);await async function(t,e,i){if(0===t.length)return;let s=0;const r=Math.min(8,t.length),a=Array.from({length:r},async()=>{for(;;){const e=s;if(s+=1,e>=t.length)return;const r=t[e];if(void 0===r)return;await i(r)}});await Promise.all(a)}(s,0,i=>this.removeTree(this.pathPolicy.join(t,i.name),e)),await I(()=>this.fsOps.rmdir(t),e)}async resolveForCreation(t,i){const s=await this.realpathForCreation(i);let r;try{r={ok:!0,isSymlink:(await this.fsOps.lstat(s)).isSymbolicLink()}}catch(t){r={ok:!1,err:t}}return function(t,i){if(t.ok){if(t.isSymlink)throw e.permissionDenied(i);return}const{err:s}=t;if(D(s)){if("ENOENT"===s.code)return;throw F(s,i)}throw s}(r,t),s}async realpathForCreation(t){const e=this.pathPolicy.dirname(t),i=this.pathPolicy.basename(t),s=this.creationParentCache.get(e);if(void 0!==s)return this.pathPolicy.join(s,i);try{const t=await this.fsOps.realpath(e);return this.creationParentCache.set(e,t,e.length+t.length),this.pathPolicy.join(t,i)}catch(e){if(D(e)&&"ENOENT"===e.code)return T(t,this.pathPolicy,this.fsOps);throw e}}async resolveForMode(t,e,i,s){if("read"===i)return s(e),this.fsOps.realpath(e);if("lstat"===i){s(e);const t=await this.fsOps.realpath(this.pathPolicy.dirname(e));return this.pathPolicy.join(t,this.pathPolicy.basename(e))}return this.resolveForCreation(t,e)}async checkContainment(t,i){const s=this.pathPolicy.resolve(b(t,this.rootDir,this.pathPolicy));await this.getCanonicalRoot();const r=this.getNormalizedRootDir(),a=this.getResolvedNormalizedCanonicalRoot(),n=i=>{if(!R(r,i,this.pathPolicy)&&!R(a,i,this.pathPolicy))throw e.permissionDenied(t)};try{const e=await this.resolveForMode(t,s,i,n);return n(e),e}catch(i){if(i instanceof e.TsgitError)throw i;if(D(i)&&"ENOENT"===i.code)throw e.fileNotFound(t);if(D(i))throw F(i,t);throw i}}homedir(){return p.homedir()}xdgConfigHome(){const t=process.env.XDG_CONFIG_HOME;return void 0!==t&&t.length>0?t:f.join(p.homedir(),".config")}systemConfigPath(){return"win32"===process.platform?`${process.env.ProgramData??"C:\\ProgramData"}\\Git\\config`:"/etc/gitconfig"}},exports.NodeHashService=class{algorithm;digestLength;constructor(t="sha1"){this.algorithm=t,this.digestLength=x[t]}hash=async t=>new Uint8Array(o.createHash(this.algorithm).update(t).digest());hashHex=async t=>o.createHash(this.algorithm).update(t).digest("hex");createHasher=()=>{const t=o.createHash(this.algorithm);let i=!1;return{update:s=>{if(i)throw e.hashFailed("cannot update after digest");t.update(s)},digest:async()=>{if(i)throw e.hashFailed("cannot digest after digest");return i=!0,new Uint8Array(t.digest())},digestHex:async()=>{if(i)throw e.hashFailed("cannot digest after digest");return i=!0,t.digest("hex")}}}},exports.NodeHookRunner=class{isWindows;ops;constructor(t=process.platform,e=z){this.isWindows="win32"===t,this.ops=e}async run(t){const e=f.join(t.hooksDir,t.name);return await this.isRunnable(e)?((t,e,i)=>new Promise(s=>{const r=t(e,i.args,{cwd:i.workDir,env:{...process.env,GIT_DIR:i.gitDir,GIT_INDEX_FILE:`${i.gitDir}/index`}}),a=new L,n=new L;r.stdout.on("data",t=>{a.append(t)}),r.stderr.on("data",t=>{n.append(t)});const o=i.signal,c=()=>{r.kill()};o?.addEventListener("abort",c),!0===o?.aborted&&r.kill();const h=t=>{o?.removeEventListener("abort",c),s(t)};r.on("error",t=>{h({kind:"ran",exitCode:126,stdout:"",stderr:String(t)})}),r.on("close",t=>{h({kind:"ran",exitCode:t??128,stdout:a.value(),stderr:n.value()})}),r.stdin.on("error",()=>{}),r.stdin.end(i.stdin)}))(this.ops.spawn,e,t):{kind:"skipped"}}async isRunnable(t){let e,i;try{const s=await this.ops.stat(t);e=s.mode,i=s.isFile()}catch{return!1}return!!i&&(this.isWindows||!!(73&e))}},exports.NodeHttpTransport=class{allowInsecureHttp;constructor(t={}){this.allowInsecureHttp=t.allowInsecureHttp??!1}request=async t=>{const i=new URL(t.url);if("http:"===i.protocol&&!this.allowInsecureHttp)throw e.networkError("HTTPS required — set allowInsecureHttp to allow plaintext HTTP");const s="https:"===i.protocol?g:y;return new Promise((r,a)=>{const n={method:t.method,headers:{...t.headers}};void 0!==t.signal&&(n.signal=t.signal);const o=s.request(i,n,t=>{r({statusCode:t.statusCode,headers:j(t.headers),body:d.Readable.toWeb(t)})});o.on("error",t=>{a(e.networkError(function(t){switch(t.code){case"ENOTFOUND":return"DNS resolution failed";case"ECONNREFUSED":return"Connection refused";case"ETIMEDOUT":return"Connection timed out";default:return"network error"}}(t)))}),void 0!==t.body&&o.write(Buffer.from(t.body)),o.end()})}};
2
+ //# sourceMappingURL=node-http-transport-BvfVcf02.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http-transport-BvfVcf02.cjs","sources":["../../../src/adapters/node/node-compressor.ts","../../../src/adapters/node/fs-operations.ts","../../../src/adapters/node/path-policy.ts","../../../src/adapters/node/node-file-system.ts","../../../src/adapters/node/node-hash-service.ts","../../../src/adapters/node/node-hook-runner.ts","../../../src/adapters/node/node-http-transport.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["describeError","err","Error","message","String","realFsOps","fsPromises","narrowSep","sep","JSON","stringify","makePolicy","impl","caseInsensitive","isAbsolute","path","resolve","parts","join","dirname","basename","rootOf","parse","root","normalizeForCompare","p","startsWith","slice","WIN_EXTENDED_UNC_PREFIX","WIN_EXTENDED_PREFIX","toLowerCase","posixPolicy","nodePath","posix","windowsPolicy","win32","nativePolicy","process","platform","toAbsolute","rootDir","policy","isErrnoException","pathContainsNormalized","normalizedParent","child","c","mapErrno","code","fileNotFound","fileExists","notADirectory","directoryNotEmpty","permissionDenied","unsupportedOperation","async","runFs","op","realpathNearestExisting","absolute","fsOps","segments","length","split","filter","Boolean","i","candidate","real","realpath","remaining","realRoot","mapStat","s","base","ctimeMs","Number","mtimeMs","dev","ino","mode","uid","gid","size","isFile","isDirectory","isSymbolicLink","undefined","ctimeNs","mtimeNs","DIGEST_LENGTH","sha1","sha256","realHookRunnerOps","stat","spawn","BoundedBuffer","chunks","append","chunk","subarray","Math","max","this","push","value","Buffer","concat","toString","normalizeHeaders","rawHeaders","headers","key","Object","entries","Array","isArray","maxInflatedBytes","constructor","options","deflate","data","Uint8Array","deflateSync","compressFailed","inflate","inflateSync","maxOutputLength","decompressFailed","streamInflate","bytes","offset","cap","Promise","reject","createInflate","total","on","destroy","consumed","bytesWritten","output","reduce","out","set","concatUint8","bytesConsumed","end","createInflateStream","controller","endPromise","TransformStream","start","error","enqueue","terminate","mapped","transform","write","flush","pathPolicy","creationParentCache","createLruCache","canonicalRootPromise","normalizedRootDir","normalizedCanonicalRoot","getNormalizedRootDir","getResolvedNormalizedCanonicalRoot","getCanonicalRoot","then","canonical","catch","read","checkContainment","readFile","readSlice","handle","open","buf","alloc","bytesRead","from","close","readUtf8","mkdir","recursive","writeFile","writeExclusive","flag","writeUtf8","content","appendUtf8","appendFile","exists","resolved","normalizedRoot","normalizedCanonical","TsgitError","bigint","lstat","readdir","withFileTypes","map","entry","name","rm","rename","src","dst","realSrc","realDst","clear","readlink","symlink","target","lexical","resolvedTarget","chmod","rmRecursive","removeTree","openWithNoFollow","isSymlinkLeaf","fs","constants","O_WRONLY","O_RDONLY","closed","buffer","position","wrapNodeHandle","O_NOFOLLOW","isWindowsSymlinkRefusal","originalPath","leafStat","force","items","limit","fn","next","workerCount","min","workers","item","all","mapConcurrent","rmdir","resolveForCreation","realpathForCreation","lstatResult","ok","isSymlink","result","interpretCreationLstat","parent","cached","get","realParent","resolveForMode","check","abs","homedir","os","xdgConfigHome","explicit","env","XDG_CONFIG_HOME","systemConfigPath","ProgramData","algorithm","digestLength","hash","createHash","update","digest","hashHex","createHasher","inner","hashFailed","digestHex","isWindows","ops","run","request","scriptPath","hooksDir","isRunnable","spawnFn","args","cwd","workDir","GIT_DIR","gitDir","GIT_INDEX_FILE","stdout","stderr","signal","onAbort","kill","addEventListener","aborted","finish","removeEventListener","kind","exitCode","stdin","spawnHook","stats","allowInsecureHttp","req","url","URL","protocol","networkError","client","https","http","requestOptions","method","clientRequest","res","statusCode","body","Readable","toWeb","sanitizeErrorReason"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./error-CDLOBdNU.cjs");const r=Object.freeze({start:()=>{},update:()=>{},end:()=>{}}),t=/\x1b\[[0-9;]*m/g,o=/[<>&"']/g,s=r=>{let s=r.replace(t,"");return s=e.sanitize(s),s=s.replace(o,e=>`&#${e.charCodeAt(0)};`),s};exports.consoleProgress=e=>{const r=r=>{try{e(r)}catch{}};return{start:(e,t)=>r(((e,r)=>`${s(e)}: start${void 0!==r?`/${r}`:""}`)(e,t)),update:(e,t,o,c)=>r(((e,r,t,o)=>{const c=`${s(e)}: ${r}${void 0!==t?`/${t}`:""}`;return void 0!==o&&""!==o?`${c} ${s(o)}`:c})(e,t,o,c)),end:e=>r((e=>`${s(e)}: done`)(e))}},exports.noopProgress=r;
2
- //# sourceMappingURL=progress-Bj2w-90A.cjs.map
1
+ "use strict";var e=require("./error-CfjFO3x_.cjs");const r=Object.freeze({start:()=>{},update:()=>{},end:()=>{}}),t=/\x1b\[[0-9;]*m/g,o=/[<>&"']/g,s=r=>{let s=r.replace(t,"");return s=e.sanitize(s),s=s.replace(o,e=>`&#${e.charCodeAt(0)};`),s};exports.consoleProgress=e=>{const r=r=>{try{e(r)}catch{}};return{start:(e,t)=>r(((e,r)=>`${s(e)}: start${void 0!==r?`/${r}`:""}`)(e,t)),update:(e,t,o,c)=>r(((e,r,t,o)=>{const c=`${s(e)}: ${r}${void 0!==t?`/${t}`:""}`;return void 0!==o&&""!==o?`${c} ${s(o)}`:c})(e,t,o,c)),end:e=>r((e=>`${s(e)}: done`)(e))}},exports.noopProgress=r;
2
+ //# sourceMappingURL=progress-CxU62NC1.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-Bj2w-90A.cjs","sources":["../../../src/progress.ts"],"sourcesContent":[null],"names":["noopProgress","Object","freeze","start","update","end","ANSI_ESCAPE_RE","HTML_SPECIALS_RE","sanitizeForSink","text","out","replace","sanitize","c","charCodeAt","sink","safeSink","line","op","total","undefined","formatStart","current","head","formatUpdate","formatEnd"],"mappings":"mDAMO,MAAMA,EAAiCC,OAAOC,OAAO,CAC1DC,MAAO,OACPC,OAAQ,OACRC,IAAK,SAIDC,EAAiB,kBACjBC,EAAmB,WAEnBC,EAAmBC,IAKvB,IAAIC,EAAMD,EAAKE,QAAQL,EAAgB,IAGvC,OAFAI,EAAME,EAAAA,SAASF,GACfA,EAAMA,EAAIC,QAAQJ,EAAmBM,GAAM,KAAKA,EAAEC,WAAW,OACtDJ,2BAoBuBK,IAC9B,MAAMC,EAAYC,IAChB,IACEF,EAAKE,EACP,CAAE,MAEF,GASF,MAAO,CACLd,MAAO,CAACe,EAAIC,IAAUH,EARJ,EAACE,EAAYC,IAC/B,GAAGX,EAAgBU,iBAAuBE,IAAVD,EAAsB,IAAIA,IAAU,KAOrCE,CAAYH,EAAIC,IAC/Cf,OAAQ,CAACc,EAAII,EAASH,EAAOV,IAASO,EAPnB,EAACE,EAAYI,EAAiBH,EAAgBV,KACjE,MAAMc,EAAO,GAAGf,EAAgBU,OAAQI,SAAoBF,IAAVD,EAAsB,IAAIA,IAAU,KACtF,YAAgBC,IAATX,GAA+B,KAATA,EAAc,GAAGc,KAAQf,EAAgBC,KAAUc,GAKjCC,CAAaN,EAAII,EAASH,EAAOV,IAChFJ,IAAMa,GAAOF,EAJG,CAACE,GAAuB,GAAGV,EAAgBU,WAIrCO,CAAUP"}
1
+ {"version":3,"file":"progress-CxU62NC1.cjs","sources":["../../../src/progress.ts"],"sourcesContent":[null],"names":["noopProgress","Object","freeze","start","update","end","ANSI_ESCAPE_RE","HTML_SPECIALS_RE","sanitizeForSink","text","out","replace","sanitize","c","charCodeAt","sink","safeSink","line","op","total","undefined","formatStart","current","head","formatUpdate","formatEnd"],"mappings":"mDAMO,MAAMA,EAAiCC,OAAOC,OAAO,CAC1DC,MAAO,OACPC,OAAQ,OACRC,IAAK,SAIDC,EAAiB,kBACjBC,EAAmB,WAEnBC,EAAmBC,IAKvB,IAAIC,EAAMD,EAAKE,QAAQL,EAAgB,IAGvC,OAFAI,EAAME,EAAAA,SAASF,GACfA,EAAMA,EAAIC,QAAQJ,EAAmBM,GAAM,KAAKA,EAAEC,WAAW,OACtDJ,2BAoBuBK,IAC9B,MAAMC,EAAYC,IAChB,IACEF,EAAKE,EACP,CAAE,MAEF,GASF,MAAO,CACLd,MAAO,CAACe,EAAIC,IAAUH,EARJ,EAACE,EAAYC,IAC/B,GAAGX,EAAgBU,iBAAuBE,IAAVD,EAAsB,IAAIA,IAAU,KAOrCE,CAAYH,EAAIC,IAC/Cf,OAAQ,CAACc,EAAII,EAASH,EAAOV,IAASO,EAPnB,EAACE,EAAYI,EAAiBH,EAAgBV,KACjE,MAAMc,EAAO,GAAGf,EAAgBU,OAAQI,SAAoBF,IAAVD,EAAsB,IAAIA,IAAU,KACtF,YAAgBC,IAATX,GAA+B,KAATA,EAAc,GAAGc,KAAQf,EAAgBC,KAAUc,GAKjCC,CAAaN,EAAII,EAASH,EAAOV,IAChFJ,IAAMa,GAAOF,EAJG,CAACE,GAAuB,GAAGV,EAAgBU,WAIrCO,CAAUP"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./walk-submodules-D2Sp7JEB.cjs"),t=require("./error-CfjFO3x_.cjs"),r=require("./index-BWCq_5BJ.cjs"),s=require("./adapter-detect-CD_LcgaH.cjs"),o=require("./progress-CxU62NC1.cjs"),i=require("../primitives/index.cjs");const a=(r,s,o,i)=>{let a=null;o.subscribe(()=>{});return{resolve:async(o,n)=>{const c=i.current("index"),d=!0===n?.bypassCache;if(!d&&null!==a&&a.cachedGen===c)return a.parsed;const l=e.indexPath(o.layout.gitDir),m=await(async e=>{try{return await s.stat(e)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return null;throw e}})(l);if(!d&&null!==a&&null!==m&&await(async(e,t,r)=>{return(o=r).size===(i=e.observed).size&&o.ino===i.ino&&o.mtimeMs===i.mtimeMs&&(void 0===o.mtimeNs||void 0===i.mtimeNs||o.mtimeNs===i.mtimeNs)&&(!((e,t)=>void 0===e.mtimeNs||void 0===t.mtimeNs)(r,e.observed)||(async(e,t,r)=>{const o=e.parsed.trailerSha.length;if(0===o||r.size<o)return!1;const i=await(async(e,t,r,s)=>e.readSlice(t,s-r,r))(s,t,o,r.size);return((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1)if(e[r]!==t[r])return!1;return!0})(i,e.parsed.trailerSha)})(e,t,r));var o,i})(a,l,m))return a.cachedGen=c,a.parsed;const p=await r.resolve(o,n);return a=null!==m?{parsed:p,observed:m,cachedGen:c}:null,p}}},n=e=>e.isSymbolicLink?"120000":73&e.mode?"100755":"100644",c=(e,t)=>{const r=(e=>({mode:n(e),size:e.size,mtimeMs:e.mtimeMs,...void 0===e.mtimeNs?{}:{mtimeNs:e.mtimeNs},ino:BigInt(e.ino)}))(t);return{source:"workdir",path:e,mode:r.mode,kind:t.isSymbolicLink?"symlink":"file",stat:r}},d=["fs","transport","compressor","hash"],l=e=>{if(null!==e&&"object"==typeof e&&!Object.isFrozen(e)){Object.freeze(e);for(const t of Object.keys(e))l(e[t])}},m=/^[A-Za-z]:[/\\]/,p=(e,r,s=[])=>{const o=new Set(s.filter(e=>e.length>0&&!e.split(/[\\/]/).includes(".."))),i=e=>{if(!h(e,r)&&!o.has(e))throw t.pathspecOutsideRepo(e)};return{read:t=>(i(t),e.read(t)),readSlice:(t,r,s)=>(i(t),e.readSlice(t,r,s)),readUtf8:t=>(i(t),e.readUtf8(t)),write:(t,r)=>(i(t),e.write(t,r)),writeExclusive:(t,r)=>(i(t),e.writeExclusive(t,r)),writeUtf8:(t,r)=>(i(t),e.writeUtf8(t,r)),appendUtf8:(t,r)=>(i(t),e.appendUtf8(t,r)),exists:t=>(i(t),e.exists(t)),stat:t=>(i(t),e.stat(t)),lstat:t=>(i(t),e.lstat(t)),readdir:t=>(i(t),e.readdir(t)),mkdir:t=>(i(t),e.mkdir(t)),rm:t=>(i(t),e.rm(t)),rename:(t,r)=>(i(t),i(r),e.rename(t,r)),readlink:t=>(i(t),e.readlink(t)),symlink:(t,r)=>(i(t),i(r),e.symlink(t,r)),chmod:(t,r)=>(i(t),e.chmod(t,r)),rmRecursive:t=>(i(t),e.rmRecursive(t)),openWithNoFollow:(t,r)=>(i(t),e.openWithNoFollow(t,r)),homedir:()=>e.homedir(),xdgConfigHome:()=>e.xdgConfigHome(),systemConfigPath:()=>e.systemConfigPath()}},u=e=>e.replace(/\\/g,"/"),h=(e,t)=>{const r=u(e),s=u(t);if(r===s)return!0;const o=s.endsWith("/")?s:`${s}/`;return r.startsWith(o)},f=(e,t)=>{const s=t?.allowInsecure??!1,o=t?.allowPrivateNetworks??!1,i=t?.dnsResolver??g;return{request:async t=>(await r.validateUrl(t.url,{resolver:i,allowInsecure:s,allowPrivateNetworks:o}),e.request(t))}},g=async()=>[],v=e=>{const t=[],r=e=>{try{return e()}catch{return}},s=r(()=>e.homedir()),o=r(()=>e.xdgConfigHome()),i=r(()=>e.systemConfigPath());return void 0!==s&&t.push(`${s}/.gitconfig`),void 0!==o&&t.push(`${o}/git/config`),void 0!==i&&i.length>0&&t.push(i),t},b=o=>{const i=(()=>{const e={index:0,refs:0,objects:0};return{current:t=>e[t],bump:t=>{e[t]+=1}}})(),n=(e=>{const t=new Set;return{emitter:{emit:r=>{e.bump(r);for(const e of t)e(r)}},stream:{subscribe:e=>(t.add(e),{dispose:()=>{t.delete(e)}})}}})(i),d=(e=>{let t=null;return{resolve:(r,s)=>!0===s?.bypassCache?e.resolve(r,s):t??((r,s)=>{const o=e.resolve(r,s).finally(()=>{t=null});return t=o,o})(r,s)}})(a({resolve:t=>e.readIndex(t)},o.fs,n.stream,i)),l=((e,t={})=>{const r=t.maxSize??256,s=new Map,o=async(t,o,i)=>{const a=await e.resolve(t,o,i);if(s.set(o,a),s.size>r){const e=s.keys().next().value;void 0!==e&&s.delete(e)}return a};return{resolve:async(e,t,r)=>{if(!0===r?.bypassCache)return o(e,t,r);const i=s.get(t);return void 0!==i?(s.delete(t),s.set(t,i),i):o(e,t,r)}}})({resolve:async(t,r)=>{const s=await e.readObject(t,r);if("tree"!==s.type)throw e.unexpectedObjectType("tree",s.type,r);return s}}),m={enumerate:(s,o)=>async function*(s,o){const i=()=>!0===o.signal?.aborted||!0===s.signal?.aborted;if(i())throw t.operationAborted();const a=o.excludes,n=e.walkWorkingTree(s,{...void 0===o.maxDepth?{}:{maxDepth:o.maxDepth},...void 0===o.maxEntries?{}:{maxEntries:o.maxEntries},...void 0===a?{}:{ignore:a}});for await(const{path:e,stat:s}of n){if(i())throw t.operationAborted();(void 0===o.paths||r.matchesPathspec(o.paths,e))&&(yield c(e,s))}}(s,o)};return s.createSnapshotFactory({ctx:o,indexResolver:d,treeResolver:l,workdirEnumerator:m})};exports.openRepository=async(a,n)=>{(e=>{if(void 0!==e.cwd&&!(e=>e.startsWith("/")||e.startsWith("\\\\")||m.test(e))(e.cwd))throw t.invalidOption("cwd","must be an absolute path");const r=e.config;void 0!==r&&((e=>{if(void 0!==e){if(!Number.isInteger(e))throw t.invalidOption("parallelism","must be an integer");if(e<1||e>32)throw t.invalidOption("parallelism",`must be in 1..32 (got ${e})`)}})(r.parallelism),(e=>{if(void 0!==e&&e<1024)throw t.invalidOption("maxResponseBytes",`must be >= 1024 (got ${e})`)})(r.maxResponseBytes),(e=>{if(void 0!==e&&e<0)throw t.invalidOption("breakStaleLockMs",`must be >= 0 (got ${e})`)})(r.breakStaleLockMs),(e=>{if(void 0!==e&&e<1)throw t.invalidOption("maxObjectsPerPack",`must be >= 1 (got ${e})`)})(r.maxObjectsPerPack),(e=>{if(void 0!==e&&e<1)throw t.invalidOption("maxDnsResults",`must be >= 1 (got ${e})`)})(r.maxDnsResults),(e=>{if(void 0!==e&&"function"!=typeof e)throw t.invalidOption("dnsResolver","must be a function")})(r.dnsResolver))})(a);const c=a.cwd??(s.isNode()?globalThis.process.cwd():"/"),u=((e,r)=>{const s={fs:e.fs??r.fs,hash:e.hash??r.hash,compressor:e.compressor??r.compressor,transport:e.transport??r.transport};if(void 0===s.fs)throw t.adapterUnavailable(r.runtime,"fs adapter missing");if(void 0===s.hash)throw t.adapterUnavailable(r.runtime,"hash adapter missing");if(void 0===s.compressor)throw t.adapterUnavailable(r.runtime,"compressor adapter missing");if(void 0===s.transport)throw t.adapterUnavailable(r.runtime,"transport adapter missing");return s})(a,n),h=!0===a.unsafeRawAdapters?u:{...u,fs:p(u.fs,n.layout.workDir,v(u.fs)),transport:f(u.transport,a.config)},g=void 0!==a.config?(w={...a.config},l(w),w):void 0;var w;const y=new AbortController,k=void 0!==a.signal?AbortSignal.any([y.signal,a.signal]):y.signal,x={fs:h.fs,hash:h.hash,compressor:h.compressor,transport:h.transport,progress:a.progress??o.noopProgress,layout:n.layout,cwd:c,hashConfig:n.hashConfig,deltaCache:n.deltaCache,signal:k},R=void 0!==a.logger?s.wrapLoggerSanitizer(a.logger):void 0,O=!1===a.hooks?void 0:a.hooks??n.hooks;let N;const S=Object.freeze({...x,...void 0!==g?{config:g}:{},...void 0!==R?{logger:R}:{},...void 0!==O?{hooks:O}:{},promisor:{fetch:e=>r.createPromisorRemote(N).fetch(e)}});N=S;let P,j="OPEN";const C=()=>{if(S.signal.aborted)throw t.repositoryDisposed()},E=b(S),T=Object.freeze({snapshot:E,abortMerge:()=>(C(),r.abortMerge(S)),add:(e,t)=>(C(),r.add(S,e,t)),branch:r.bindBranchNamespace(S,C),checkout:e=>(C(),r.checkout(S,e)),catFile:e=>(C(),r.catFile(S,e)),cherryPick:r.bindCherryPickNamespace(S,C),clone:e=>(C(),r.clone(S,e)),commit:e=>(C(),r.commit(S,e)),config:r.bindConfigNamespace(S,C),continueMerge:e=>(C(),r.continueMerge(S,e)),diff:e=>(C(),r.diff(S,e??{})),fetch:e=>(C(),r.fetch(S,e)),fetchMissing:e=>(C(),r.fetchMissing(S,e)),init:e=>(C(),r.init(S,e)),log:e=>(C(),r.log(S,e)),merge:e=>(C(),r.merge(S,e)),mv:(e,t,s)=>(C(),r.mv(S,e,t,s)),pull:e=>(C(),r.pull(S,e)),push:e=>(C(),r.push(S,e)),rebase:r.bindRebaseNamespace(S,C),reflog:e=>(C(),r.reflog(S,e)),remote:r.bindRemoteNamespace(S,C),reset:e=>(C(),r.reset(S,e)),revert:r.bindRevertNamespace(S,C),revParse:e=>(C(),r.revParse(S,e)),rm:(e,t)=>(C(),r.rm(S,e,t)),sparseCheckout:r.bindSparseCheckoutNamespace(S,C),stash:r.bindStashNamespace(S,C),status:()=>(C(),r.status(S)),submodules:e=>(C(),r.submodules(S,e)),tag:r.bindTagNamespace(S,C),primitives:Object.freeze({catFileBatch:(t,r)=>(C(),e.catFileBatch(S,t,r)),createCommit:t=>(C(),e.createCommit(S,t)),diffTrees:(t,r,s)=>(C(),e.diffTrees(S,t,r,s)),getRepoRoot:()=>(C(),e.getRepoRoot(S)),hashBlob:(t,r)=>(C(),e.hashBlob(S,t,r)),isIgnored:e=>(C(),i.isIgnored(S,e)),mergeBase:(t,r)=>(C(),e.mergeBase(S,t,r)),readBlob:(t,r)=>(C(),e.readBlob(S,t,r)),readIndex:()=>(C(),e.readIndex(S)),readObject:(t,r)=>(C(),e.readObject(S,t,r)),readTree:t=>(C(),e.readTree(S,t)),recordRefUpdate:(t,r,s,o)=>(C(),e.recordRefUpdate(S,t,r,s,o)),resolveRef:(t,r)=>(C(),e.resolveRef(S,t,r)),runHook:(t,r)=>(C(),e.runHook(S,t,r)),setEntryFlags:(e,t,r)=>(C(),i.setEntryFlags(S,e,t,r)),stageEntry:(e,t,r)=>(C(),i.stageEntry(S,e,t,r)),unstageEntry:(e,t)=>(C(),i.unstageEntry(S,e,t)),updateRef:(t,r,s)=>(C(),e.updateRef(S,t,r,s)),walkCommits:t=>(C(),e.walkCommits(S,t)),walkSubmodules:t=>(C(),e.walkSubmodules(S,t)),walkTree:(t,r)=>(C(),e.walkTree(S,t,r)),walkWorkingTree:t=>(C(),e.walkWorkingTree(S,t)),writeObject:t=>(C(),e.writeObject(S,t)),writeSymbolicRef:(t,r)=>(C(),e.writeSymbolicRef(S,t,r)),writeTree:t=>(C(),e.writeTree(S,t))}),ctx:S,dispose:async()=>{if("DISPOSED"!==j)return void 0!==P||(j="DISPOSING",y.abort(),P=(async()=>{await new Promise(e=>{"function"==typeof setImmediate?setImmediate(e):setTimeout(e,0)}),await(async e=>{await Promise.all(d.map(t=>(async(e,t)=>{const r=e[t];if("function"==typeof r.dispose)try{await r.dispose()}catch(r){e.logger?.warn?.("disposeAdapters: port dispose threw",{port:t,err:String(r)})}})(e,t)))})(S),j="DISPOSED"})()),P}});return T};
2
+ //# sourceMappingURL=repository-BEg2zNtx.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-BEg2zNtx.cjs","sources":["../../../src/adapters/snapshot-resolvers/caching-index-resolver.ts","../../../src/adapters/snapshot-resolvers/fs-workdir-enumerator.ts","../../../src/dispose-adapters.ts","../../../src/repository/deep-freeze.ts","../../../src/repository/validate-options.ts","../../../src/repository/wrap-fs-validator.ts","../../../src/repository/wrap-transport-validator.ts","../../../src/repository.ts","../../../src/adapters/snapshot-resolvers/counter-generation-view.ts","../../../src/adapters/snapshot-resolvers/in-memory-write-event-bus.ts","../../../src/adapters/snapshot-resolvers/single-flight-index-resolver.ts","../../../src/adapters/snapshot-resolvers/raw-index-resolver.ts","../../../src/adapters/snapshot-resolvers/caching-tree-resolver.ts","../../../src/adapters/snapshot-resolvers/raw-tree-resolver.ts","../../../src/repository/default-cwd.ts","../../../src/repository/compose-adapters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["createCachingIndexResolver","inner","fs","stream","view","entry","subscribe","resolve","async","ctx","opts","currentGen","current","bypass","bypassCache","cachedGen","parsed","path","resolveIndexPath","layout","gitDir","stat","err","TsgitError","data","code","safeStat","cached","size","observed","ino","mtimeMs","undefined","mtimeNs","needsRacyCheck","trailerSize","trailerSha","length","trailer","fileSize","readSlice","readTrailer","a","b","i","bytesEqual","trailerStillMatches","isStatValidatedHit","deriveFileMode","isSymbolicLink","mode","toRow","workdirStat","BigInt","toWorkdirStat","source","kind","DISPOSABLE_PORT_KEYS","walk","value","Object","isFrozen","freeze","key","keys","ABS_WINDOWS","wrapFsValidator","cwd","allowExternalPaths","allowSet","Set","filter","p","split","includes","guard","isContainedIn","has","pathspecOutsideRepo","read","o","l","readUtf8","write","d","writeExclusive","writeUtf8","c","appendUtf8","exists","lstat","readdir","mkdir","rm","rename","s","readlink","symlink","target","linkPath","chmod","rmRecursive","openWithNoFollow","homedir","xdgConfigHome","systemConfigPath","normalizeSeparators","replace","normalizedCwd","endsWith","startsWith","wrapTransportValidator","transport","config","allowInsecure","allowPrivateNetworks","resolver","dnsResolver","defaultResolver","request","req","validateUrl","url","computeConfigScopePaths","paths","safe","fn","home","xdg","system","push","buildSnapshotFactory","counters","index","refs","objects","scope","bump","createCounterGenerationView","bus","listeners","emitter","emit","listener","add","dispose","delete","createInMemoryWriteEventBus","indexResolver","inflight","pending","finally","run","createSingleFlightIndexResolver","readIndex","treeResolver","options","maxSize","cache","Map","resolveAndStore","treeId","tree","set","oldest","next","get","createCachingTreeResolver","object","readObject","type","unexpectedObjectType","workdirEnumerator","enumerate","isAborted","signal","aborted","operationAborted","excludes","walkWorkingTree","maxDepth","maxEntries","ignore","matchesPathspec","createSnapshotFactory","fallback","test","isAbsolutePath","invalidOption","Number","isInteger","validateParallelism","parallelism","validateMaxResponseBytes","maxResponseBytes","validateBreakStaleLockMs","breakStaleLockMs","validateMaxObjectsPerPack","maxObjectsPerPack","validateMaxDnsResults","maxDnsResults","validateDnsResolver","validateOptions","isNode","globalThis","process","detected","overrides","resolved","hash","compressor","adapterUnavailable","runtime","composeAdapters","adapters","unsafeRawAdapters","workDir","controller","AbortController","AbortSignal","any","baseCtx","progress","noopProgress","hashConfig","deltaCache","sanitizedLogger","logger","wrapLoggerSanitizer","hooks","promisorCtx","promisor","fetch","oids","commands.createPromisorRemote","disposePromise","state","repositoryDisposed","snapshot","repo","abortMerge","commands.abortMerge","addOpts","commands.add","branch","commands.bindBranchNamespace","checkout","checkoutOpts","commands.checkout","catFile","commands.catFile","cherryPick","commands.bindCherryPickNamespace","clone","cloneOpts","commands.clone","commit","commitOpts","commands.commit","commands.bindConfigNamespace","continueMerge","commands.continueMerge","diff","diffOpts","commands.diff","fetchOpts","commands.fetch","fetchMissing","fetchMissingOpts","commands.fetchMissing","init","initOpts","commands.init","log","logOpts","commands.log","merge","mergeOpts","commands.merge","mv","sources","destination","mvOpts","commands.mv","pull","pullOpts","commands.pull","pushOpts","commands.push","rebase","commands.bindRebaseNamespace","reflog","reflogOpts","commands.reflog","remote","commands.bindRemoteNamespace","reset","resetOpts","commands.reset","revert","commands.bindRevertNamespace","revParse","expression","commands.revParse","rmOpts","commands.rm","sparseCheckout","commands.bindSparseCheckoutNamespace","stash","commands.bindStashNamespace","status","commands.status","submodules","commands.submodules","tag","commands.bindTagNamespace","primitives","catFileBatch","ids","primitives.catFileBatch","createCommit","input","primitives.createCommit","diffTrees","primitives.diffTrees","getRepoRoot","primitives.getRepoRoot","hashBlob","content","primitives.hashBlob","isIgnored","queries","primitives.isIgnored","mergeBase","commits","primitives.mergeBase","readBlob","id","primitives.readBlob","primitives.readIndex","primitives.readObject","readTree","ref","primitives.readTree","recordRefUpdate","name","oldId","newId","message","primitives.recordRefUpdate","resolveRef","primitives.resolveRef","runHook","primitives.runHook","setEntryFlags","f","primitives.setEntryFlags","stageEntry","primitives.stageEntry","unstageEntry","primitives.unstageEntry","updateRef","primitives.updateRef","walkCommits","primitives.walkCommits","walkSubmodules","primitives.walkSubmodules","walkTree","treeIdOrObject","primitives.walkTree","primitives.walkWorkingTree","writeObject","primitives.writeObject","writeSymbolicRef","primitives.writeSymbolicRef","writeTree","entries","primitives.writeTree","abort","Promise","setImmediate","setTimeout","all","map","port","warn","String","disposePort","disposeAdapters"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("./error-CfjFO3x_.cjs"),e=require("./readable-stream-MTA6D0Zh.cjs");const n=t=>/[a-zA-Z0-9-]/.test(t),r=t=>{if(!/[a-zA-Z]/.test(t[0]))return 0;for(let e=1;e<t.length;e+=1)if(!n(t[e]))return e},o=/[\n\r\0"\\\]]/,s=e=>{const n=e.indexOf(".");if(-1===n)throw t.configKeyInvalid(e,"missing-name");const s=e.slice(0,n);if(0===s.length)throw t.configKeyInvalid(e,"empty-section");const i=e.lastIndexOf("."),a=e.slice(i+1);if(0===a.length)throw t.configKeyInvalid(e,"missing-name");const c=r(s);if(void 0!==c)throw t.configKeyInvalid(e,"bad-character",c);const d=r(a);if(void 0!==d)throw t.configKeyInvalid(e,"bad-character",i+1+d);const f=n===i?void 0:e.slice(n+1,i);if(void 0!==f&&o.test(f)){const r=f.search(o);throw t.configKeyInvalid(e,"bad-character",n+1+r)}return{section:s.toLowerCase(),subsection:f,name:a.toLowerCase()}},i=1e6,a=e=>new t.TsgitError({code:"INVALID_INDEX_HEADER",reason:e}),c=(e,n)=>new t.TsgitError({code:"INVALID_INDEX_ENTRY",offset:e,reason:n}),d={assumeValid:!1,stage:0,skipWorktree:!1,intentToAdd:!1},f=t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t.mode,uid:0,gid:0,fileSize:0,id:t.id,flags:{...d,skipWorktree:!0},path:t.path}),u=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function l(t){const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=u[t[n]];return e.join("")}function h(t){if(t.length%2!=0)throw new Error("Hex string must have even length");const e=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2){const r=p(t.charCodeAt(n)),o=p(t.charCodeAt(n+1));if(-1===r||-1===o)throw new Error(`Invalid hex character at position ${n}`);e[n/2]=r<<4|o}return e}function p(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-87:-1}function w(t,e){const n=Math.min(t.length,e.length);for(let r=0;r<n;r++)if(t[r]!==e[r])return t[r]-e[r];return t.length-e.length}function g(t,e,n){for(let r=n;r<t.length;r++)if(t[r]===e)return r;return-1}const m=new TextEncoder,y=new TextDecoder;function x(t){return m.encode(t)}function v(t){return y.decode(t)}function b(t){const e=t.indexOf("\n\n");return-1===e?{headerPart:t,message:""}:{headerPart:t.slice(0,e),message:t.slice(e+2)}}function E(t,e){if(t.includes("\n")||t.includes(" ")||""===t)throw new Error(`invalid header key: ${t}`);const n=e.split("\n");return[`${t} ${n[0]}`,...n.slice(1).map(t=>` ${t}`)].join("\n")}function k(t){const e=t.indexOf(" ");return-1===e?{key:t,value:""}:{key:t.slice(0,e),value:t.slice(e+1)}}function T(t,e,n,r){let o;const s=[];let i=e;for(;i<t.length;){const{key:e,value:a}=k(t[i]);""===e&&n("unexpected continuation line without preceding header");const c=[a];let d=i;for(let e=i+1;e<t.length;e++){const n=t[e];if(!n.startsWith(" "))break;c.push(n.slice(1)),d=e}i=d+1;const f=c.join("\n");"gpgsig"===e?(void 0!==o&&r("duplicate gpgsig header"),o=f):s.push({key:e,value:f})}return{gpgSignature:o,extraHeaders:s}}const $=e=>new t.TsgitError({code:"INVALID_OBJECT_ID",value:e}),D=e=>new t.TsgitError({code:"INVALID_OBJECT_HEADER",reason:e}),I=(e,n)=>new t.TsgitError({code:"INVALID_TREE_ENTRY",offset:e,reason:n}),O=e=>new t.TsgitError({code:"INVALID_COMMIT",reason:e}),A=e=>new t.TsgitError({code:"INVALID_TAG",reason:e}),L=(e,n)=>new t.TsgitError({code:"INVALID_IDENTITY",line:e,reason:n}),S=e=>new t.TsgitError({code:"OBJECT_NOT_FOUND",id:e}),C=(e,n)=>new t.TsgitError({code:"OBJECT_HASH_MISMATCH",expected:e,actual:n}),_=(e,n,r)=>new t.TsgitError({code:"UNEXPECTED_OBJECT_TYPE",expected:e,actual:n,id:r}),U=e=>new t.TsgitError({code:"TREE_DEPTH_EXCEEDED",depth:e}),N=(e,n)=>new t.TsgitError({code:"TREE_ENTRY_LIMIT_EXCEEDED",count:e,limit:n}),R=(e,n,r)=>new t.TsgitError({code:"OBJECT_TOO_LARGE",id:e,actualSize:n,limit:r});function P(t){const e=t.lastIndexOf(">");if(-1===e)throw L(t,"missing closing angle bracket");const n=t.lastIndexOf("<",e);if(-1===n)throw L(t,"missing opening angle bracket");const r=t.slice(0,n),o=r.endsWith(" ")?r.slice(0,-1):r,s=t.slice(n+1,e),i=t.slice(e+1).trim().split(/\s+/);if(i.length<2)throw L(t,"missing timestamp or timezone");const a=Number(i[0]);if(!Number.isSafeInteger(a))throw L(t,"invalid timestamp");const c=i[1];if(!/^[+-]\d{4}$/.test(c))throw L(t,"invalid timezone offset");return{name:o,email:s,timestamp:a,timezoneOffset:c}}const F=/[\n\r\0]/;function M(t){const e=`${t.name} <${t.email}>`;if(F.test(t.name))throw L(e,"name contains forbidden control character");if(F.test(t.email))throw L(e,"email contains forbidden control character");if(F.test(t.timezoneOffset))throw L(e,"timezoneOffset contains forbidden control character");if(t.name.includes("<")||t.name.includes(">"))throw L(e,"invalid identity fields");if(t.email.includes("<")||t.email.includes(">"))throw L(e,"invalid identity fields");if(!/^[+-]\d{4}$/.test(t.timezoneOffset))throw L(e,"invalid identity fields");return`${t.name} <${t.email}> ${t.timestamp} ${t.timezoneOffset}`}const W=/^[0-9a-f]{40}$/,j=/^[0-9a-f]{64}$/,B={from(t){if(!W.test(t)&&!j.test(t))throw $(t);return t},fromRaw(t){if(20!==t.length&&32!==t.length)throw $(`raw bytes length ${t.length} is not 20 or 32`);return B.from(l(t))}},z=B.from("0000000000000000000000000000000000000000");B.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904");const H={from(t){if(""===t)throw new Error("RefName must not be empty");return t}},V={from(t){if(""===t)throw new Error("FilePath must not be empty");return t}};function K(t){const e=[],{data:n}=t;e.push(`tree ${n.tree}`);for(const t of n.parents)e.push(`parent ${t}`);e.push(`author ${M(n.author)}`),e.push(`committer ${M(n.committer)}`),void 0!==n.gpgSignature&&e.push(E("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(E(t.key,t.value));return x(`${e.join("\n")}\n\n${n.message}`)}const Y={REGULAR:"100644",EXECUTABLE:"100755",SYMLINK:"120000",DIRECTORY:"40000",GITLINK:"160000"},G=new Set(Object.values(Y)),q=new Map([["040000",Y.DIRECTORY]]);function X(e){return function(e){if(!G.has(e))throw new t.TsgitError({code:"INVALID_FILE_MODE",value:e});return e}(q.get(e)??e)}function J(t){return t===Y.DIRECTORY}function Z(t){return t.isSymbolicLink?Y.SYMLINK:73&t.mode?Y.EXECUTABLE:Y.REGULAR}const Q=new Set(["blob","tree","commit","tag"]);function tt(t){const e=g(t,0,0);if(-1===e)throw D("missing null terminator");const n=v(t.subarray(0,e)),r=n.indexOf(" ");if(-1===r)throw D("missing space between type and size");const o=n.slice(0,r);if(!Q.has(o))throw D(`unknown object type: ${o}`);const s=n.slice(r+1),i=Number(s);if(!Number.isFinite(i)||i<0||s!==String(i))throw D(`invalid size: ${s}`);return{type:o,size:i,contentOffset:e+1}}const et=new Set(["blob","tree","commit","tag"]);function nt(t){const e=[],{data:n}=t;if(e.push(`object ${n.object}`),e.push(`type ${n.objectType}`),""===n.tagName||n.tagName.includes("\n")||n.tagName.includes("\0"))throw A(`invalid tag name: ${n.tagName}`);e.push(`tag ${n.tagName}`),void 0!==n.tagger&&e.push(`tagger ${M(n.tagger)}`),void 0!==n.gpgSignature&&e.push(E("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(E(t.key,t.value));return x(`${e.join("\n")}\n\n${n.message}`)}function rt(t,e){const n=ot(t.entries).map(t=>({mode:x(t.mode),name:x(t.name),hash:h(t.id)})),r=n.reduce((t,n)=>t+n.mode.length+1+n.name.length+1+e.digestLength,0),o=new Uint8Array(r);let s=0;for(const t of n)o.set(t.mode,s),s+=t.mode.length,o[s++]=32,o.set(t.name,s),s+=t.name.length,o[s++]=0,o.set(t.hash,s),s+=t.hash.length;return o}function ot(t){const e=t.map(t=>({entry:t,sortKey:it(t.name,J(t.mode))}));return e.sort((t,e)=>w(t.sortKey,e.sortKey)),e.map(t=>t.entry)}function st(t,e){return w(it(t.name,J(t.mode)),it(e.name,J(e.mode)))}function it(t,e){const n=x(t);if(!e)return n;const r=new Uint8Array(n.length+1);return r.set(n),r[n.length]=47,r}function at(t,e,n){const{type:r,size:o,contentOffset:s}=tt(e),i=e.subarray(s);if(i.length!==o)throw D(`size mismatch: header says ${o}, actual content is ${i.length}`);switch(r){case"blob":return function(t,e){return{type:"blob",id:t,content:e}}(t,i);case"tree":return function(t,e,n){const r=[],o=new Set;let s=0;for(;s<e.length;){const t=g(e,32,s);if(-1===t)throw I(s,"missing space after mode");const i=v(e.subarray(s,t)),a=g(e,0,t+1);if(-1===a)throw I(s,"missing null after name");const c=v(e.subarray(t+1,a));if(""===c||"."===c||".."===c||c.includes("/"))throw I(s,`invalid entry name: ${c}`);const d=a+1,f=d+n.digestLength;if(f>e.length)throw I(s,"truncated hash");const u=e.subarray(d,f),l=B.fromRaw(u),h=X(i);if(o.has(c))throw I(s,`duplicate entry name: ${c}`);o.add(c),r.push({mode:h,name:c,id:l}),s=f}return{type:"tree",id:t,entries:r}}(t,i,n);case"commit":return function(t,e){const{headerPart:n,message:r}=b(v(e)),o=n.split("\n"),{tree:s,parents:i,author:a,committer:c,nextIndex:d}=function(t){if(!t[0].startsWith("tree "))throw O("first line must be tree");const e=B.from(t[0].slice(5)),n=[];let r=1;for(;r<t.length&&t[r].startsWith("parent ");)n.push(B.from(t[r].slice(7))),r++;if(r>=t.length||!t[r].startsWith("author "))throw O("missing author");const o=P(t[r].slice(7));if(r++,r>=t.length||!t[r].startsWith("committer "))throw O("missing committer");const s=P(t[r].slice(10));return r++,{tree:e,parents:n,author:o,committer:s,nextIndex:r}}(o),{gpgSignature:f,extraHeaders:u}=function(t,e){return T(t,e,t=>{throw O(t)},t=>{throw O(t)})}(o,d);return{type:"commit",id:t,data:{tree:s,parents:i,author:a,committer:c,message:r,...void 0!==f?{gpgSignature:f}:{},extraHeaders:u}}}(t,i);case"tag":return function(t,e){const{headerPart:n,message:r}=b(v(e)),o=n.split("\n"),{object:s,objectType:i,tagName:a,nextIndex:c}=function(t){if(!t[0].startsWith("object "))throw A("first line must be object");const e=B.from(t[0].slice(7));if(t.length<2||!t[1].startsWith("type "))throw A("second line must be type");const n=t[1].slice(5);if(!et.has(n))throw A(`invalid object type: ${n}`);if(t.length<3||!t[2].startsWith("tag "))throw A("third line must be tag name");const r=t[2].slice(4);if(""===r||r.includes("\0")||r.includes("\n"))throw A(`invalid tag name: ${r}`);return{object:e,objectType:n,tagName:r,nextIndex:3}}(o),{tagger:d,nextIndex:f}=function(t,e){return e<t.length&&t[e].startsWith("tagger ")?{tagger:P(t[e].slice(7)),nextIndex:e+1}:{tagger:void 0,nextIndex:e}}(o,c),{gpgSignature:u,extraHeaders:l}=function(t,e){return T(t,e,t=>{throw A(t)},t=>{throw A(t)})}(o,f);return{type:"tag",id:t,data:{object:s,objectType:i,tagName:a,...void 0!==d?{tagger:d}:{},message:r,...void 0!==u?{gpgSignature:u}:{},extraHeaders:l}}}(t,i)}}function ct(t,e){let n;switch(t.type){case"blob":n=t.content;break;case"tree":n=rt(t,e);break;case"commit":n=K(t);break;case"tag":n=nt(t)}const r=x(`${t.type} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),o}const dt=(t,e)=>{switch(t.type){case"blob":return t.content.byteLength;case"tree":return rt(t,e).byteLength;case"commit":return K(t).byteLength;case"tag":return nt(t).byteLength}},ft=new Set(["",".",".."]),ut=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),lt=t=>""===t?"empty segment rejected":"."===t?"'.' segment rejected":"'..' segment rejected",ht=t=>t<32||t>=127&&t<=159,pt=(t,e)=>{if(t.startsWith("/"))throw c(e,"absolute path rejected");const n=(t=>{for(let e=0;e<t.length;e+=1){const n=t.charCodeAt(e);if(92===n)return"backslash rejected";if(ht(n))return"control character rejected";if(ut.has(n))return"bidi control character rejected"}})(t);if(void 0!==n)throw c(e,n);for(const n of t.split("/"))if(ft.has(n))throw c(e,lt(n))};function wt(t,e,n,r){const o=t.getUint16(e+60),s=!!(16384&o);if(s&&3!==n)throw c(e,"extended flag requires index v3");const i=s?2:0;if(e+62+i>r-20)throw c(e,"truncated extended flags");return{flags:(a=o,d=s?t.getUint16(e+62):0,{assumeValid:!!(32768&a),stage:a>>>12&3,skipWorktree:!!(16384&d),intentToAdd:!!(8192&d)}),extendedSize:i};var a,d}function gt(t,e){for(let n=e;n<t.length;n++)if(0===t[n])return n;return-1}function mt(t,e){const n=t.path,r=e.path;return n<r?-1:n>r?1:0}function yt(t,e,n,r,o,s){e.setUint32(n,r.ctimeSeconds),e.setUint32(n+4,r.ctimeNanoseconds),e.setUint32(n+8,r.mtimeSeconds),e.setUint32(n+12,r.mtimeNanoseconds),e.setUint32(n+16,r.dev),e.setUint32(n+20,r.ino),e.setUint32(n+24,Number.parseInt(r.mode,8)),e.setUint32(n+28,r.uid),e.setUint32(n+32,r.gid),e.setUint32(n+36,r.fileSize);const i=h(r.id);t.set(i,n+40);const a=Math.min(o.length,4095);e.setUint16(n+60,(r.flags.assumeValid?32768:0)|(s?16384:0)|r.flags.stage<<12|a),s&&e.setUint16(n+62,(r.flags.skipWorktree?16384:0)|(r.flags.intentToAdd?8192:0)),t.set(o,n+62+(s?2:0))}function xt(t){switch(t.type){case"add":case"rename":return t.newPath;case"delete":return t.oldPath;case"modify":case"type-change":return t.path}}function vt(t){return t===Y.REGULAR||t===Y.EXECUTABLE?"file":t===Y.SYMLINK?"symlink":t===Y.DIRECTORY?"directory":"gitlink"}function bt(t,e){return vt(t)===vt(e)}const Et=new TextEncoder;function kt(t,e){const n=t.map(t=>({item:t,key:Et.encode(e(t))}));return n.sort((t,e)=>w(t.key,e.key)),n.map(t=>t.item)}function Tt(t,e){const n=e.get(t.newId);if(void 0===n||1!==n.length)return;const r=n[0];return{rename:{type:"rename",oldPath:r.oldPath,newPath:t.newPath,id:t.newId,mode:t.newMode},consumedDelete:r}}function $t(t){return{type:"add",newPath:t.name,newId:t.id,newMode:t.mode}}function Dt(t){return{type:"delete",oldPath:t.name,oldId:t.id,oldMode:t.mode}}function It(t,e){if(t.id!==e.id||t.mode!==e.mode)return bt(t.mode,e.mode)?{type:"modify",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}:{type:"type-change",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}}function Ot(t){return void 0===t?[]:ot(t.entries)}const At=(t,e,n)=>{const r=((t,e,n)=>{let r;for(let o=0;o<t.length;o+=1){const s=t[o];s.directoryOnly&&!n||s.compiled.test(e)&&(r={rule:s,index:o})}return r})(t,e,n);return void 0===r?{verdict:"unset"}:{verdict:r.rule.negated?"unignored":"ignored",ruleIndex:r.index}},Lt=(t,e)=>{if(""===e)return t;const n=`${e}/`;return t.startsWith(n)?t.slice(n.length):void 0},St=(t,e,n)=>{let r={verdict:"unset"};for(const o of t){const t=Lt(e,o.basedir);if(void 0===t)continue;const s=At(o.rules,t,n);void 0!==s.ruleIndex&&(r={verdict:s.verdict,level:o,ruleIndex:s.ruleIndex})}return r},Ct={kind:"star-slash"},_t=(t,e)=>{const n=t[e];return"*"===n?((t,e)=>{if("*"!==t[e+1])return{token:{kind:"star"},next:e+1};const n=e+2;return"/"===t[n]?{token:{kind:"star-slash"},next:n+1}:{token:{kind:"star-star"},next:n}})(t,e):"?"===n?{token:{kind:"single"},next:e+1}:{token:{kind:"literal",char:n},next:e+1}},Ut=(t,e,n)=>{switch(t.kind){case"literal":return((t,e,n)=>{const r=new Uint8Array(e.length+1);for(let o=0;o<e.length;o++)e[o]===t&&1===n[o+1]&&(r[o]=1);return r})(t.char,e,n);case"single":return((t,e)=>{const n=new Uint8Array(t.length+1);for(let r=0;r<t.length;r++)"/"!==t[r]&&1===e[r+1]&&(n[r]=1);return n})(e,n);case"star":return((t,e)=>{const n=new Uint8Array(t.length+1);n[t.length]=1===e[t.length]?1:0;for(let r=t.length-1;r>=0;r--)n[r]=1===e[r]||"/"!==t[r]&&1===n[r+1]?1:0;return n})(e,n);case"star-star":return((t,e)=>{const n=new Uint8Array(t.length+1);n[t.length]=1===e[t.length]?1:0;for(let r=t.length-1;r>=0;r--)n[r]=1===e[r]||1===n[r+1]?1:0;return n})(e,n);case"star-slash":return((t,e)=>{const n=new Uint8Array(t.length+1);for(let r=t.length-1;r>=0;r--)n[r]="/"===t[r]&&1===e[r+1]||1===n[r+1]?1:0;const r=new Uint8Array(t.length+1);for(let o=0;o<=t.length;o++)r[o]=1===e[o]||1===n[o]?1:0;return r})(e,n)}},Nt=(t,e)=>{const n=(t=>{const e=[];let n=0;for(;n<t.length;){const r=_t(t,n);e.push(r.token),n=r.next}return e})(t);return{test:t=>((t,e,n)=>{let r=((t,e)=>{const n=new Uint8Array(t.length+1);if(n[t.length]=1,e)for(let e=0;e<t.length;e++)"/"===t[e]&&(n[e]=1);return n})(n,!0===e.withDirSuffix);for(let e=t.length-1;e>=0;e--)r=Ut(t[e],n,r);return e.anchored||(r=Ut(Ct,n,r)),1===r[0]})(n,e,t)}},Rt=t=>{let e=t.length;for(;e>0&&32===t.charCodeAt(e-1)&&!(e>=2&&92===t.charCodeAt(e-2));)e-=1;return t.slice(0,e)},Pt=t=>t.replace(/\\(.)/g,"$1"),Ft=t=>{if(""===t)return;if(/^\s*$/.test(t))return;if(t.startsWith("#"))return;const e=Rt(t),n=e.startsWith("!"),r=n?e.slice(1):e,o=r.endsWith("/"),s=o?r.slice(0,-1):r,i=s.startsWith("/")||s.includes("/"),a=s.startsWith("/")?s.slice(1):s;return{negated:n,anchored:i,directoryOnly:o,cleanPattern:Pt(a)}},Mt="agent=tsgit/0.0",Wt=["multi_ack_detailed","side-band-64k","ofs-delta","thin-pack","no-progress","include-tag","filter",Mt],jt=["report-status","side-band-64k","ofs-delta","atomic","delete-refs",Mt],Bt=t=>{const e=t.indexOf("=");return e<0?t:t.slice(0,e)},zt=e=>new t.TsgitError({code:"PKT_LENGTH_RESERVED",value:e}),Ht=e=>new t.TsgitError({code:"PKT_TOO_LARGE",value:e}),Vt=e=>new t.TsgitError({code:"INVALID_BASE_URL",reason:e}),Kt=(e,n)=>new t.TsgitError({code:"MISSING_SERVICE_HEADER",expected:e,actual:n}),Yt=e=>new t.TsgitError({code:"INVALID_REF_LINE",line:e}),Gt=e=>new t.TsgitError({code:"INVALID_SIDEBAND_CHANNEL",channel:e}),qt=e=>new t.TsgitError({code:"SIDEBAND_FATAL",message:e}),Xt=(e,n)=>new t.TsgitError({code:"TOO_MANY_ADVERTISED_REFS",count:e,limit:n}),Jt=new TextEncoder,Zt=new TextDecoder("utf-8",{fatal:!1}),Qt=/^[0-9a-f]{4}$/i,te=65520,ee=Jt.encode("0000");Jt.encode("0001"),Jt.encode("0002");const ne=t=>{const e=(t+65536).toString(16).slice(-4);return Jt.encode(e)},re=t=>{let e=ee.byteLength;for(const n of t){if(n.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${n.byteLength} > 65516)`);e+=n.byteLength+4}const n=new Uint8Array(e);let r=0;for(const e of t)n.set(ne(e.byteLength+4),r),r+=4,n.set(e,r),r+=e.byteLength;return n.set(ee,r),n},oe=e=>{const n=Zt.decode(e.subarray(0,4));if(!Qt.test(n))throw new t.TsgitError({code:"INVALID_PKT_LENGTH",value:n});const r=Number.parseInt(n,16);if(r>te)throw Ht(r);return r},se=(e,n)=>({[Symbol.asyncIterator]:()=>async function*(e){const n=new ae;for await(const t of e)n.accept(t),yield*ce(n);if(n.used>0)throw new t.TsgitError({code:"PKT_TRUNCATED",remaining:n.used})}(e)}),ie=(t,e,n)=>{if(0===t)return{kind:"flush",consume:4};if(1===t)throw zt(1);if(2===t)throw zt(2);if(t<4)throw zt(t);return e<t?{kind:"wait"}:{kind:"data",consume:t}};class ae{acc=new Uint8Array(te);used=0;accept(t){if(this.used+t.byteLength<=te)return this.acc.set(t,this.used),void(this.used+=t.byteLength);const e=Math.max(0,4-this.used),n=t.subarray(0,e);throw this.acc.set(n,this.used),this.used+=n.byteLength,oe(this.acc),Ht(this.used)}drop(t){this.acc.copyWithin(0,t,this.used),this.used-=t}slice(t,e){return this.acc.slice(t,e)}}function*ce(t,e){for(;t.used>=4;){const e=oe(t.acc),n=ie(e,t.used);if("wait"===n.kind)return;if("data"===n.kind){const e=t.slice(4,n.consume);t.drop(n.consume),yield{kind:"data",payload:e};continue}t.drop(n.consume),yield{kind:n.kind}}}const de=new TextDecoder("utf-8",{fatal:!1}),fe=(t,e)=>{if(t)try{t(e)}catch{}},ue=(t,e)=>({[Symbol.asyncIterator]:()=>async function*(t,e){for await(const n of t){if("data"!==n.kind)return;if(0===n.payload.byteLength)throw Gt(-1);const t=n.payload[0],r=n.payload.subarray(1);if(1!==t){if(2!==t){if(3===t){const t=de.decode(r);throw fe(e.onError,t),qt(t)}throw Gt(t)}fe(e.onProgress,de.decode(r))}else yield r}}(t,e)}),le=new TextDecoder("utf-8",{fatal:!1}),he=new TextEncoder,pe=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,we=/^# service=(?<service>[^\n]+)\n?$/,ge=5e5,me=t=>t.endsWith("\n")?t.slice(0,-1):t,ye=t=>{if(!pe.test(t))throw Yt(t);return B.from(t)},xe=t=>{const e=t.indexOf(" ");if(e<0)throw Yt(t);const n=t.slice(0,e),r=t.slice(e+1);if(0===r.length)throw Yt(t);return{id:n,name:r}},ve=(e,n,r)=>{if(e.byName.has(n))throw(e=>new t.TsgitError({code:"DUPLICATE_REF",name:e}))(n);e.refs.push({id:r,name:n}),e.byName.set(n,e.refs.length-1)},be=(e,n,r)=>{if(void 0===n){const n=(e=>{const n=e.indexOf("\0");if(n<0)throw new t.TsgitError({code:"MISSING_CAPABILITIES"});const r=e.slice(0,n),o=e.slice(n+1),s=r.indexOf(" ");if(s<0)throw Yt(e);const i=r.slice(0,s),a=r.slice(s+1);if(0===a.length)throw Yt(e);return{id:i,name:a,tail:o}})(r);return ve(e,n.name,ye(n.id)),(t=>{const e=new Map;for(const n of t)e.set(Bt(n),n);return Array.from(e.values())})(n.tail.split(" ").filter(t=>t.length>0))}if(r.endsWith("^{}"))return((t,e)=>{const n=e.slice(0,-3),r=xe(n),o=ye(r.id),s=t.byName.get(r.name);if(void 0===s)throw Yt(e);t.refs[s]={...t.refs[s],peeled:o}})(e,r),n;const o=xe(r);return ve(e,o.name,ye(o.id)),n},Ee=t=>he.encode(`have ${t}\n`),ke=(t=>{if(t.byteLength>65516)throw new RangeError(`pkt-line: payload too large (${t.byteLength} > 65516)`);const e=t.byteLength+4,n=new Uint8Array(e);return n.set(ne(e),0),n.set(t,4),n})(he.encode("done\n")),Te=e=>{const n=me(e).split(" "),r=B.from(n[1]),o=n[2];if(void 0===o)return{id:r,status:"ack"};if("continue"===o||"common"===o||"ready"===o)return{id:r,status:o};throw new t.TsgitError({code:"UNKNOWN_ACK_STATUS",value:o})},$e="shallow ",De="unshallow ",Ie=(t,e)=>{const n=me(t),r=n.slice(e.length);if(!pe.test(r))throw Yt(n);return B.from(r)},Oe=(t,e)=>t.startsWith($e)?(e.shallow.push(Ie(t,$e)),!0):!!t.startsWith(De)&&(e.unshallow.push(Ie(t,De)),!0),Ae=new WeakMap,Le=e=>new t.TsgitError({code:"INVALID_REFLOG_ENTRY",reason:e}),Se=/[\n\r]/;function Ce(t){if(Se.test(t.message))throw Le("message contains a line break");const e=M(t.identity);return`${t.oldId} ${t.newId} ${e}\t${t.message}\n`}function _e(t){const e=t.indexOf("\t");if(-1===e)throw Le("missing tab separator");const n=t.slice(0,e),r=t.slice(e+1);if(" "!==n[40]||" "!==n[81])throw Le("misplaced field separator");return{oldId:Ne(n.slice(0,40)),newId:Ne(n.slice(41,81)),identity:function(t){try{return P(t)}catch{throw Le("invalid identity")}}(n.slice(82)),message:r}}function Ue(t){return t.replace(/[\r\n]+/g," ").trim()}function Ne(t){try{return B.from(t)}catch{throw Le("invalid object id")}}const Re=["refs/heads/","refs/remotes/","refs/notes/"];const Pe=e=>new t.TsgitError({code:"INVALID_REF",reason:e}),Fe=e=>new t.TsgitError({code:"INVALID_PACKED_REFS",reason:e}),Me=e=>new t.TsgitError({code:"REF_NOT_FOUND",name:e}),We=(e,n)=>new t.TsgitError({code:"REF_CHAIN_TOO_DEEP",depth:e,chain:n}),je=e=>new t.TsgitError({code:"REF_CYCLE_DETECTED",chain:e}),Be=e=>new t.TsgitError({code:"REF_LOCKED",name:e}),ze=new Set(["~","^",":","?","*","[","\\"," "]);function He(t){if(""===t)throw Pe("ref name must not be empty");if(t.startsWith("/")||t.endsWith("/"))throw Pe("ref name must not start or end with /");if(t.startsWith("-"))throw Pe("ref name must not start with -");if("@"===t)throw Pe("ref name must not be single @");if(t.includes(".."))throw Pe("ref name must not contain ..");if(t.includes("//"))throw Pe("ref name must not contain consecutive slashes");if(t.includes("@{"))throw Pe("ref name must not contain @{");if(t.endsWith("."))throw Pe("ref name must not end with .");!function(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n<=31||127===n)throw Pe("ref name contains forbidden character");const r=t[e];if(void 0!==r&&ze.has(r))throw Pe("ref name contains forbidden character");if(n>=8234&&n<=8238||n>=8294&&n<=8297)throw Pe("ref name contains forbidden Unicode override")}}(t);const e=t.split("/");for(const t of e){if(t.startsWith("."))throw Pe("ref name component must not start with .");if(t.endsWith(".lock"))throw Pe("ref name component must not end with .lock")}return t}function Ve(t){const e=t.replace(/[\r\n]+$/,"");if(""===e)throw Pe("empty ref content");if(e.startsWith("ref: ")){const t=e.slice(5);if(""===t)throw Pe("empty symbolic ref target");return{type:"symbolic",target:He(t)}}return{type:"direct",target:B.from(e)}}const Ke=t=>{const e=t.split("/"),n=[];for(let t=e.length-1;t>0;t-=1)n.push(e.slice(0,t).join("/"));return n},Ye=t=>{const e=t.replace(/\\/g,"/").replace(/^\/+/,"").replace(/\/+$/,"");for(const n of e.split("/"))Ge(n,t);return e},Ge=(e,n)=>{const r=n.slice(0,128);if(""===e||"."===e||".."===e)throw t.invalidOption("patterns",`cone directory has an invalid segment: ${r}`);if(e.includes("*")||e.includes("?"))throw t.invalidOption("patterns",`cone directory must not contain glob metacharacters: ${r}`);if(/[\n\r\0]/.test(e))throw t.invalidOption("patterns",`cone directory must not contain control characters: ${r}`)},qe=t=>{if(!t.startsWith("/")||!t.endsWith("/"))return;const e=t.slice(1,-1);return""===e||e.startsWith("!")?void 0:e},Xe=(t,e)=>{const n=(t=>{if(t.directoryOnly)return!0;const e=t.cleanPattern.split("/"),n=e[e.length-1];return!n.includes("*")&&!n.includes("?")})(t);return{source:e,negated:t.negated,matcher:Nt(t.cleanPattern,{anchored:t.anchored,withDirSuffix:n})}},Je=new TextEncoder,Ze=e=>{const n=e.split("\n").map(t=>t.replace(/\r$/,"")),r=[];for(const e of n){if(Je.encode(e).byteLength>256)throw t.invalidOption("patterns","pattern exceeds max length 256 bytes");const n=Ft(e);if(void 0!==n){if(r.length>=2048)throw t.invalidOption("patterns","pattern file exceeds max 2048 patterns");r.push(Xe(n,e))}}return r},Qe=(t,e)=>{if(e){const e=(t=>{const e=t.split("\n").map(t=>t.replace(/\r$/,""));if("/*"!==e[0]||"!/*/"!==e[1])return;const n=new Set,r=new Set;let o=2;for(;o<e.length;){const t=e[o];if(""===t){o+=1;continue}const s=qe(t);if(void 0===s)return;o+=1,e[o]===`!/${s}/*/`?(r.add(s),o+=1):n.add(s)}return{mode:"cone",recursive:n,parents:r}})(t);return void 0!==e?{spec:e,degraded:!1}:{spec:{mode:"no-cone",rules:Ze(t)},degraded:!0}}return{spec:{mode:"no-cone",rules:Ze(t)},degraded:!1}},tn=t=>{return"cone"===t.mode?(t=>e=>{const n=(t=>{const e=t.lastIndexOf("/");return-1===e?"":t.slice(0,e)})(e);if(""===n)return!0;if(t.parents.has(n))return!0;let r=n;for(;;){if(t.recursive.has(r))return!0;const e=r.lastIndexOf("/");if(-1===e)return!1;r=r.slice(0,e)}})(t):(e=t.rules,t=>{let n=!1;for(const r of e)r.matcher.test(t)&&(n=!r.negated);return n});var e},en=function(){const t=new Uint32Array(256);for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)n=1&n?3988292384^n>>>1:n>>>1;t[e]=n}return t}();function nn(t){let e=4294967295;for(let n=0;n<t.length;n++)e=en[255&(e^t[n])]^e>>>8;return(4294967295^e)>>>0}const rn=e=>new t.TsgitError({code:"INVALID_PACK_HEADER",reason:e}),on=e=>new t.TsgitError({code:"INVALID_PACK_INDEX",reason:e}),sn=(e,n)=>new t.TsgitError({code:"INVALID_PACK_ENTRY",offset:e,reason:n}),an=e=>new t.TsgitError({code:"INVALID_DELTA",reason:e}),cn=e=>new t.TsgitError({code:"DELTA_CHAIN_TOO_DEEP",depth:e});function dn(t,e){if(e>=t.length)throw an("truncated variable-length integer");let n=0,r=0,o=e,s=0,i=t[o];for(n=(127&i)<<r>>>0,r+=7,s+=1;128&i;){if(s>=5)throw an("variable-length integer too long");if(o+=1,o>=t.length)throw an("truncated variable-length integer");i=t[o],n=(n|(127&i)<<r)>>>0,r+=7,s+=1}return{value:n,nextOffset:o+1}}function fn(t,e,n){const r=function(t){let e=0;return 1&t&&(e+=1),2&t&&(e+=1),4&t&&(e+=1),8&t&&(e+=1),16&t&&(e+=1),32&t&&(e+=1),64&t&&(e+=1),e}(n);if(e+r>t.length)throw an(`COPY instruction truncated: needs ${r} bytes at position ${e}`);let o=e,s=0,i=0;return 1&n&&(s|=t[o],o+=1),2&n&&(s|=t[o]<<8,o+=1),4&n&&(s|=t[o]<<16,o+=1),8&n&&(s=(s|16777216*t[o])>>>0,o+=1),16&n&&(i|=t[o],o+=1),32&n&&(i|=t[o]<<8,o+=1),64&n&&(i|=t[o]<<16,o+=1),0===i&&(i=65536),{offset:s,size:i,nextPos:o}}function un(t,e,n,r,o){if(t+e>n)throw an(`COPY out of bounds: offset=${t} size=${e} exceeds base length ${n}`);if(r+e>o)throw an(`COPY overflows target: position=${r} size=${e} exceeds target length ${o}`)}function ln(t,e,n,r,o,s){if(0===n)throw an("INSERT with N=0 is reserved");if(e+n>t.length)throw an(`INSERT data truncated: needs ${n} bytes at position ${e}`);if(o+n>s)throw an(`INSERT overflows target: position=${o} size=${n} exceeds target length ${s}`);return r.set(t.subarray(e,e+n),o),{nextPos:e+n,nextResultPos:o+n}}function hn(t,e){const{value:n,nextOffset:r}=dn(e,0),{value:o,nextOffset:s}=dn(e,r);!function(t,e,n){if(t.length!==e)throw an(`source length mismatch: expected ${e}, got ${t.length}`);if(n>2147483648)throw an(`target length ${n} exceeds maximum allowed size`)}(t,n,o);const i=new Uint8Array(o);let a=0,c=s;for(;c<e.length;){const n=e[c];if(c+=1,128&n){const{offset:r,size:s,nextPos:d}=fn(e,c,n);c=d,un(r,s,t.length,a,o),i.set(t.subarray(r,r+s),a),a+=s}else{const t=ln(e,c,n,i,a,o);c=t.nextPos,a=t.nextResultPos}}if(a!==o)throw an(`underfill: produced ${a} bytes but target length is ${o}`);return i}const pn=1346454347;function wn(t,e,n){const{type:r,size:o,nextPos:s}=function(t,e){if(e>=t.length)throw sn(e,"unexpected end of header");let n=e;const r=t[n],o=r>>4&7;let s=15&r,i=4,a=0;for(;128&t[n];){if(a+=1,a>5)throw sn(e,"size encoding too long");if(n+=1,n>=t.length)throw sn(e,"unexpected end of header");s|=(127&t[n])<<i,i+=7}return{type:o,size:s,nextPos:n+1}}(t,e);if(function(t,e){if(5===t)throw sn(e,"reserved type 5");if(t<1||t>7)throw sn(e,`unknown type ${t}`)}(r,e),6===r){const{distance:n,nextPos:r}=function(t,e,n){if(e>=t.length)throw sn(n,"unexpected end of OFS_DELTA distance");let r=e,o=127&t[r],s=0;for(;128&t[r];){if(s+=1,s>4)throw sn(n,"OFS_DELTA distance encoding too long");if(r+=1,r>=t.length)throw sn(n,"unexpected end of OFS_DELTA distance");o=o+1<<7|127&t[r]}return{distance:o,nextPos:r+1}}(t,s,e);return{type:6,size:o,dataOffset:r,baseDistance:n}}if(7===r){const r=s+n.digestLength;if(r>t.length)throw sn(e,"unexpected end of REF_DELTA base id");return{type:7,size:o,dataOffset:r,baseId:l(t.subarray(s,r))}}return{type:r,size:o,dataOffset:s}}function gn(t,e){const n=[];let r=(7&t)<<4|15&e,o=e>>>4;for(o>0&&(r|=128),n.push(r);o>0;){let t=127&o;o>>>=7,o>0&&(t|=128),n.push(t)}return new Uint8Array(n)}const mn=1032,yn=20;function xn(t,e){return t._view.getUint32(8+4*e)}function vn(t,e,n){const r=mn+e*yn;return w(t._bytes.subarray(r,r+yn),n)}function bn(t,e){const n=t._view.getUint32(t.smallOffsetsTableOffset+4*e);if(2147483648&n){const e=2147483647&n,r=t.largeOffsetsTableOffset+8*e;if(r+8>t.trailerOffset)throw on(`large offset index ${e} out of range`);const o=t._view.getUint32(r),s=t._view.getUint32(r+4);if(o>2097151)throw on(`pack offset exceeds safe JavaScript number range: high word=${o}`);return 4294967296*o+s}return n}function En(t,e){const n=h(e),r=n[0];let o=0===r?0:xn(t,r-1),s=xn(t,r);for(;o<s;){const e=o+s>>>1,r=vn(t,e,n);if(r<0)o=e+1;else{if(!(r>0))return bn(t,e);s=e}}}const kn=/^[0-9a-f]+$/;function Tn(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function $n(t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}const Dn=(t,e)=>`${t}/objects/${function(t){return`${t.slice(0,2)}/${t.slice(2)}`}(e)}`,In=(t,e)=>`${t}/${e}`,On=t=>`${t}/index`,An=(t,e)=>`${t}/objects/${e}`,Ln=(t,e)=>`${t}/logs/${e}`,Sn=t=>`${t}/info/sparse-checkout`,Cn=".lock";async function _n(t,e,n,r){const o=`${n}${Cn}`;try{await t.fs.writeExclusive(o,r)}catch(t){if(Un(t))throw Be(e);throw t}try{await t.fs.rename(o,n)}catch(e){try{await t.fs.rm(o)}catch(t){if(!Nn(t))throw t}throw e}}function Un(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}function Nn(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}let Rn=new WeakMap;const Pn=t=>{const e=Rn.get(t);if(void 0!==e)return e;const n=Mn(t);return Rn.set(t,n),n},Fn=t=>{Rn.delete(t)},Mn=async t=>{const e=await Wn(t);return void 0===e?{}:jn(e)},Wn=async e=>{try{return await e.fs.readUtf8(`${e.layout.gitDir}/config`)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}},jn=t=>{const e=Bn(t);return qn(e)},Bn=t=>{const e=[];let n;for(const r of zn(t.split("\n"))){const t=Hn(r).trim();if(""===t)continue;const o=Kn(t);if(void 0!==o){n={section:o.section,subsection:o.subsection,entries:[]},e.push(n);continue}if(void 0===n)continue;const s=Yn(t);void 0!==s&&n.entries.push(s)}return e},zn=t=>{const e=[];let n="";for(const r of t){const t=""===n?r:r.replace(/^\s+/,"");r.endsWith("\\")?n+=t.slice(0,t.length-1):(e.push(`${n}${t}`),n="")}return""!==n&&e.push(n),e},Hn=t=>{const e=[Vn(t,"#"),Vn(t,";")].filter(t=>t>=0);return 0===e.length?t:t.slice(0,Math.min(...e))},Vn=(t,e)=>{let n=!1;for(let r=0;r<t.length;r+=1){const o=t[r];if(n&&"\\"===o)r+=1;else if('"'===o)n=!n;else if(!n&&o===e)return r}return-1},Kn=t=>{if(!t.startsWith("[")||!t.endsWith("]"))return;const e=t.slice(1,-1).trim();if(""===e)return;const n=e.indexOf('"');if(-1===n)return{section:e,subsection:void 0};const r=e.slice(0,n).trim(),o=e.lastIndexOf('"');return o<=n?void 0:{section:r,subsection:e.slice(n+1,o)}},Yn=t=>{const e=t.indexOf("=");if(-1===e)return;const n=t.slice(0,e).trim();return""!==n?{key:n,value:t.slice(e+1).trim()}:void 0},Gn=(t,e)=>{"core"===e.section&&void 0===e.subsection?Xn(t,e):"user"===e.section&&void 0===e.subsection?Zn(t,e):"remote"===e.section&&void 0!==e.subsection?tr(t,e.subsection,e):"branch"===e.section&&void 0!==e.subsection?er(t,e.subsection,e):"extensions"===e.section&&void 0===e.subsection&&nr(t,e)},qn=t=>{const e={};for(const n of t)Gn(e,n);return rr(e)},Xn=(t,e)=>{for(const{key:n,value:r}of e.entries){const e=n.toLowerCase();"bare"===e?t.core={...t.core,bare:sr(r)}:"excludesfile"===e?t.core={...t.core,excludesFile:r}:"logallrefupdates"===e?t.core={...t.core,logAllRefUpdates:Jn(r)}:"hookspath"===e?t.core={...t.core,hooksPath:r}:"sparsecheckout"===e?t.core={...t.core,sparseCheckout:sr(r)}:"sparsecheckoutcone"===e&&(t.core={...t.core,sparseCheckoutCone:sr(r)})}},Jn=t=>"always"===t.toLowerCase()?"always":sr(t),Zn=(t,e)=>{for(const{key:n,value:r}of e.entries)"name"===n?t.user={...t.user,name:r}:"email"===n&&(t.user={...t.user,email:r})},Qn=(t,e,n)=>{const r=e.toLowerCase();"url"===r?t.url=n:"pushurl"===r?t.pushUrl=n:"fetch"===r?(t.fetch??=[],t.fetch.push(n)):"promisor"===r?t.promisor=sr(n):"partialclonefilter"===r&&(t.partialCloneFilter=n)},tr=(t,e,n)=>{t.remote??=new Map;const r=t.remote.get(e)??{},o={...r,fetch:r.fetch?[...r.fetch]:[]};for(const{key:t,value:e}of n.entries)Qn(o,t,e);t.remote.set(e,(t=>{const e={};return void 0!==t.url&&(e.url=t.url),void 0!==t.pushUrl&&(e.pushUrl=t.pushUrl),void 0!==t.fetch&&t.fetch.length>0&&(e.fetch=t.fetch),void 0!==t.promisor&&(e.promisor=t.promisor),void 0!==t.partialCloneFilter&&(e.partialCloneFilter=t.partialCloneFilter),e})(o))},er=(t,e,n)=>{t.branch??=new Map;const r={...t.branch.get(e)??{}};for(const{key:t,value:e}of n.entries)"remote"===t?r.remote=e:"merge"===t&&(r.merge=e);t.branch.set(e,r)},nr=(t,e)=>{for(const{key:n,value:r}of e.entries)"partialclone"===n.toLowerCase()&&(t.extensions={...t.extensions,partialClone:r})},rr=t=>{const e={},n=(t=>{if(void 0!==t)return{...void 0!==t.bare?{bare:t.bare}:{},...void 0!==t.excludesFile?{excludesFile:t.excludesFile}:{},...void 0!==t.logAllRefUpdates?{logAllRefUpdates:t.logAllRefUpdates}:{},...void 0!==t.hooksPath?{hooksPath:t.hooksPath}:{},...void 0!==t.sparseCheckout?{sparseCheckout:t.sparseCheckout}:{},...void 0!==t.sparseCheckoutCone?{sparseCheckoutCone:t.sparseCheckoutCone}:{}}})(t.core);return void 0!==n&&(e.core=n),void 0!==t.user?.name&&void 0!==t.user?.email&&(e.user={name:t.user.name,email:t.user.email}),void 0!==t.remote&&t.remote.size>0&&(e.remote=t.remote),void 0!==t.extensions&&(e.extensions=t.extensions),void 0!==t.branch&&t.branch.size>0&&(e.branch=t.branch),e},or=new Set(["true","yes","on","1"]),sr=t=>or.has(t.toLowerCase());async function ir(t){const e=(await Pn(t)).user;return{name:void 0===e?"tsgit":e.name,email:void 0===e?"tsgit@localhost":e.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}}const ar=268435456,cr=1048576;async function dr(t,e,n){await t.fs.appendUtf8(Ln(t.layout.gitDir,e),Ce(n))}async function fr(t,e){return t.fs.exists(Ln(t.layout.gitDir,e))}async function ur(t,e){const n=Ln(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)}async function lr(t,e,n){const r=await t.fs.readdir(e),o=[];for(const s of r){const r=""===n?s.name:`${n}/${s.name}`;s.isDirectory?o.push(...await lr(t,`${e}/${s.name}`,r)):o.push(r)}return o}async function hr(t,e,n,r,o){if(!await async function(t,e){if(await fr(t,e))return!0;return function(t,e){return"always"===e.logAllRefUpdates||!1!==e.logAllRefUpdates&&(!0===e.logAllRefUpdates||!0!==e.bare)&&function(t){return"HEAD"===t||Re.some(e=>t.startsWith(e))}(t)}(e,(await Pn(t)).core??{})}(t,e))return;const s=await ir(t);await dr(t,e,{oldId:n,newId:r,identity:s,message:Ue(o)})}const pr=new WeakMap;function wr(t){let e=pr.get(t);return void 0===e&&(e=function(t){let e;async function n(){const n=`${t.layout.gitDir}/packed-refs`;if(!await t.fs.exists(n))return{entries:[],peeling:"none",sorted:!1};const r=await t.fs.stat(n),o=`${r.mtimeMs}:${r.size}`;if(void 0!==e&&e.mtimeKey===o)return e.parsed;const s=function(t){if(""===t)return{entries:[],peeling:"none",sorted:!1};const e=t.split("\n"),{peeling:n,sorted:r,startIndex:o}=function(t){const e=t[0];if(e?.startsWith("# pack-refs with:")){const t=e.slice(17).trim(),n=""===t?[]:t.split(/\s+/),r=n.includes("peeled");return{peeling:n.includes("fully-peeled")?"fully":r?"tags":"none",sorted:n.includes("sorted"),startIndex:1}}return{peeling:"none",sorted:!1,startIndex:0}}(e);return{entries:function(t,e){const n=[];for(let r=e;r<t.length;r++){const e=t[r];if(void 0===e||""===e||e.startsWith("#"))continue;if(e.startsWith("^")){if(0===n.length)throw Fe("peel line without preceding ref entry");const t=B.from(e.slice(1)),r=n.length-1;n[r]={...n[r],peeled:t};continue}const o=e.indexOf(" ");if(-1===o)throw Fe(`invalid ref line format: ${e.slice(0,80)}`);const s=e.slice(0,o),i=e.slice(o+1),a=B.from(s);n.push({name:H.from(i),id:a})}return n}(e,o),peeling:n,sorted:r}}(await t.fs.readUtf8(n));return e={parsed:s,mtimeKey:o},s}async function r(e){const n=In(t.layout.gitDir,e);if(await t.fs.exists(n))return t.fs.readUtf8(n)}return{async resolveDirect(t){const e=await r(t);if(void 0!==e){const t=Ve(e);return"symbolic"===t.type?{kind:"symbolic",target:t.target}:{kind:"direct",id:t.target}}const o=await n();for(const e of o.entries)if(e.name===t)return{kind:"direct",id:e.id};return{kind:"missing"}},async writeLoose(e,n){const r=In(t.layout.gitDir,e);await t.fs.writeUtf8(r,function(t){return`${t}\n`}(n))},async removeLoose(e){const n=In(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)},isLoose:async e=>t.fs.exists(In(t.layout.gitDir,e)),readLooseRaw:async t=>r(t),getPackedRefs:n}}(t),pr.set(t,e)),e}const gr="HEAD",mr=H.from("HEAD"),yr=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],xr=async(t,e)=>{const n=ct(e,t.hashConfig);return{bytes:n,id:await t.hash.hashHex(n)}};async function vr(t,e,n,r,o){kr(t);const s=await async function(t,e){const n=Dn(t.layout.gitDir,e);if(!await t.fs.exists(n))return;const r=await t.fs.read(n);return t.compressor.inflate(r)}(t,n);if(void 0!==s)return kr(t),function(t,e,n){if(void 0===n)return;const{contentOffset:r}=tt(e),o=e.length-r;if(o>n)throw R(t,o,n)}(n,s,o),Tr(t,n,s,r);kr(t);const i=await e.lookup(n);if(void 0===i)throw S(n);kr(t);const a=await async function(t,e,n,r,o){const s=await async function(t,e,n,r,o){const s=[];let i=n,a=0;for(;;){kr(t);const{header:n,chunk:c,headerEndInChunk:d}=await Dr(t,i);if($r(n))return br(r,n.size,o),{deltas:s,baseContent:(await t.compressor.streamInflate(c,d)).output,baseType:n.type};if(a+=1,a>50)throw cn(a);const{output:f}=await t.compressor.streamInflate(c,d);if(Er(r,f,o,a),6===n.type){const t=i.offset-n.baseDistance;if(t<0)throw S(r);s.push({instructions:f,resolvedBaseId:void 0}),i={pack:i.pack,offset:t};continue}if(7===n.type){const r=n.baseId;s.push({instructions:f,resolvedBaseId:r});const i=await Ir(t,e,r,o);return{deltas:s,baseContent:i.content,baseType:i.type}}throw S(r)}}(t,e,n,r,o);let i=s.baseContent;for(let t=s.deltas.length-1;t>=0;t-=1){const e=s.deltas[t];if(void 0===e)break;i=hn(i,e.instructions)}if(void 0!==o&&i.length>o)throw R(r,i.length,o);const a=function(t,e,n){const r=function(t,e){switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag";default:throw S(e)}}(e,n),o=`${r} ${t.length}\0`,s=(new TextEncoder).encode(o),i=new Uint8Array(s.length+t.length);return i.set(s,0),i.set(t,s.length),i}(i,s.baseType,r);return Lr(t.deltaCache,r,a),a}(t,e,i,n,o);return kr(t),Tr(t,n,a,r)}function br(t,e,n){if(void 0!==n&&e>n)throw R(t,e,n)}function Er(t,e,n,r){if(void 0===n)return;if(1!==r)return;const o=function(t){const{nextOffset:e}=dn(t,0),{value:n}=dn(t,e);return n}(e);if(o>n)throw R(t,o,n)}function kr(e){if(!0===e.signal?.aborted)throw t.operationAborted()}async function Tr(t,e,n,r){if(r){const r=await t.hash.hashHex(n);if(kr(t),r!==e)throw C(e,r)}return at(e,n,t.hashConfig)}function $r(t){return 1===t.type||2===t.type||3===t.type||4===t.type}async function Dr(t,e){const n=await t.fs.readSlice(e.pack.packPath,e.offset,65536),r=wn(n,0,t.hashConfig);return{header:r,chunk:n,headerEndInChunk:r.dataOffset}}async function Ir(t,e,n,r){const o=t.deltaCache.get(n);if(void 0!==o)return function(t,e,n){if(void 0===n)return;const r=e.indexOf(0);if(r<0)return;const o=e.length-(r+1);if(o>n)throw R(t,o,n)}(n,o,r),Or(o,n);const s=ct(await vr(t,e,n,!1,r),t.hashConfig);return Lr(t.deltaCache,n,s),Or(s,n)}function Or(t,e){const n=t.indexOf(0);if(n<0)throw S(e);const r=t.subarray(0,n).indexOf(32);if(r<0)throw S(e);const o=(new TextDecoder).decode(t.subarray(0,r));return{content:t.subarray(n+1),type:Ar(o,e)}}function Ar(t,e){switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4;default:throw S(e)}}function Lr(t,e,n){t.set(e,n,n.length)}function Sr(t){return!!(t.includes("\0")||t.includes("\r")||t.includes("\n\n")||t.startsWith("\n")||t.endsWith("\n"))}function Cr(t){return 0===t.length||!!(t.includes("\0")||t.includes("\r")||t.includes("\n"))||!(!t.includes(" ")&&!t.includes("\t"))}const _r="index file exceeds 256 MiB",Ur="pack .idx file exceeds 64 MiB";function Nr(t){return t>268435456}function Rr(t){return t>67108864}function Pr(t,e=5){return t>e}function Fr(t,e=5){return t>e}function Mr(t){return"160000"===t}function Wr(t,e){return t>e}const jr=/^[0-9a-f]{40}$/,Br=/^[0-9a-f]{64}$/;function zr(t){return jr.test(t)||Br.test(t)}function Hr(t){return t.isFile&&t.name.endsWith(".idx")&&!(e=t.name).includes("/")&&!e.includes("\\")&&!e.includes("..");var e}async function Vr(t,e,n){const r=`${e}/${n}`,o=await async function(t,e){if(Rr((await t.fs.stat(e)).size))throw on(Ur);const n=await t.fs.read(e);if(Rr(n.length))throw on(Ur);return n}(t,r),s=function(t){if(t.length<1032)throw on("truncated: file too short for header and fanout");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(4285812579!==n)throw on(`invalid magic: expected 0xff744f63, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw on(`unsupported version: expected 2, got ${r}`);!function(t){let e=0;for(let n=0;n<256;n++){const r=t.getUint32(8+4*n);if(r<e)throw on(`non-monotonic fanout at index ${n}: ${e} > ${r}`);e=r}}(e);const o=e.getUint32(1028),s=mn+o*yn,i=s+4*o,a=i+4*o,c=t.length-40,d=mn+o*yn+4*o+4*o+40;if(t.length<d)throw on(`truncated: expected at least ${d} bytes for ${o} objects, got ${t.length}`);return{objectCount:o,crc32TableOffset:s,smallOffsetsTableOffset:i,largeOffsetsTableOffset:a,trailerOffset:c,_bytes:t,_view:e}}(o),i=n.slice(0,-4);return{name:i,index:s,packPath:`${e}/${i}.pack`,idxPath:r}}function Kr(t){let e;async function n(){if(void 0!==e)return e;const n=`${t.layout.gitDir}/objects/pack`;if(!await t.fs.exists(n))return e=[],e;const r=await t.fs.readdir(n),o=[];for(const e of r)Hr(e)&&o.push(await Vr(t,n,e.name));return e=o,e}return{all:n,refresh(){e=void 0},async lookup(t){const e=await n();for(const n of e){const e=En(n.index,t);if(void 0!==e)return{pack:n,offset:e}}}}}const Yr=new WeakMap,Gr=new WeakMap;function qr(t){let e=Yr.get(t);return void 0===e&&(e=Kr(t),Yr.set(t,e)),e}async function Xr(e,n,r){const o=r?.verifyHash??!0,s=qr(e);try{return await vr(e,s,n,o,r?.maxBytes)}catch(i){const a=e.promisor;if(void 0===a||!function(e){return e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code}(i))throw i;if(!await async function(t,e,n){const r=function(t){let e=Gr.get(t);return void 0===e&&(e=new Map,Gr.set(t,e)),e}(t),o=r.get(n);if(void 0!==o)return o;const s=e.fetch([n]).then(t=>t.attempted);r.set(n,s);try{return await s}finally{r.delete(n)}}(e,a,n))throw i;return s.refresh(),vr(e,s,n,o,r?.maxBytes)}}async function Jr(t,e,n){const r=await Xr(t,e,n);if("blob"!==r.type)throw _("blob",r.type,e);return r}const Zr=new TextDecoder,Qr=(t,e)=>t.endsWith("/")?`${t}${e}`:`${t}/${e}`,to=async(e,n,r)=>!!await e.fs.exists(n)&&!await(async(e,n,r)=>{let o;try{o=await e.fs.read(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return!0;throw e}const{id:s}=await xr(e,{type:"blob",content:o});return s===r})(e,n,r),eo=async(t,e,n)=>{const r=Qr(e,n.path);if("update"===n.kind||"delete"===n.kind){if(void 0===n.previousId)return;return await to(t,r,n.previousId)?n.path:void 0}if("add"===n.kind)return await(async(t,e)=>t.fs.exists(e))(t,r)?n.path:void 0},no=async(t,e,n,r)=>{if(r===Y.SYMLINK){const r=Zr.decode(n);return await t.fs.exists(e)&&await t.fs.rm(e),void await t.fs.symlink(r,e)}r!==Y.GITLINK?(await t.fs.write(e,n),await t.fs.chmod(e,r===Y.EXECUTABLE?493:420)):await t.fs.mkdir(e)},ro=async(t,e,n)=>{const r=Qr(e,n.path);if("noop"!==n.kind)if("delete"!==n.kind){if(void 0!==n.id){if(n.mode!==Y.GITLINK){const e=await Jr(t,n.id);await no(t,r,e.content,n.mode)}else await no(t,r,new Uint8Array,n.mode);return(async(t,e,n,r,o)=>{const s=await t.fs.lstat(e);return{ctimeSeconds:Math.floor(s.ctimeMs/1e3),ctimeNanoseconds:Number(s.ctimeNs??0n)%1e9,mtimeSeconds:Math.floor(s.mtimeMs/1e3),mtimeNanoseconds:Number(s.mtimeNs??0n)%1e9,dev:s.dev,ino:s.ino,mode:o,uid:s.uid,gid:s.gid,fileSize:s.size,id:r,flags:d,path:n}})(t,r,n.path,n.id,n.mode)}}else await t.fs.exists(r)&&await t.fs.rm(r)},oo=async(e,n)=>{const{changeset:r,force:o,workdir:s}=n;if(!o){const n=await(async(t,e,n)=>{const r=[];for(const o of n.entries){const n=await eo(t,e,o);void 0!==n&&r.push(n)}return r})(e,s,r);if(n.length>0)throw t.checkoutOverwriteDirty(n)}const i=[];let a=0,c=0;for(const t of r.entries){const n=await ro(e,s,t);"delete"===t.kind?c+=1:"add"!==t.kind&&"update"!==t.kind||(a+=1,void 0!==n&&i.push(n)),"noop"!==t.kind&&e.progress.update("checkout:materialize",a+c,r.stats.add+r.stats.update+r.stats.delete,t.path)}return{writtenEntries:i,written:a,deleted:c}},so=(t,e,n)=>void 0===e&&void 0!==n?{kind:"add",path:t,mode:n.mode,id:n.id,previousId:void 0,previousMode:void 0}:void 0!==e&&void 0===n?{kind:"delete",path:t,mode:e.mode,id:void 0,previousId:e.id,previousMode:e.mode}:{kind:e.id===n.id&&e.mode===n.mode?"noop":"update",path:t,mode:n.mode,id:n.id,previousId:e.id,previousMode:e.mode},io=(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,{id:n.id,mode:n.mode});return e})(t),r=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(e),o=new Set;for(const t of n.keys())o.add(t);for(const t of r.keys())o.add(t);const s=[],i={add:0,update:0,delete:0,noop:0};for(const t of[...o].sort()){const e=so(t,n.get(t),r.get(t));s.push(e),i[e.kind]+=1}return{entries:s,stats:i}};async function*ao(t,e,n){const r={ctx:t,recursive:n?.recursive??!0,maxDepth:n?.maxDepth??1024,maxEntries:n?.maxEntries??i},o="string"==typeof e?await async function(t,e){const n=await Xr(t,e);if("tree"!==n.type)throw _("tree",n.type,e);return n}(t,e):e;yield*co(r,{value:0},o,"",0,[])}async function*co(e,n,r,o,s,i){if(i.includes(r.id))throw new t.TsgitError({code:"TREE_CYCLE_DETECTED",id:r.id});if(function(t,e){return t>e}(s,e.maxDepth))throw U(s);const a=[...i,r.id];for(const i of r.entries){if(e.ctx.signal?.aborted)throw t.operationAborted();const r=""===o?i.name:`${o}/${i.name}`;if(n.value+=1,Wr(n.value,e.maxEntries))throw N(n.value,e.maxEntries);if(yield{path:r,id:i.id,mode:i.mode},!fo(e.recursive,i.mode))continue;const c=await Xr(e.ctx,i.id);"tree"===c.type&&(yield*co(e,n,c,r,s+1,a))}}function fo(t,e){return!!t&&J(e)}const uo=(t,e)=>t.filter(t=>e.has(t.path)),lo=(t,e,n)=>e.get(t)??n.get(t),ho=t=>{const e={add:0,update:0,delete:0,noop:0};for(const n of t)e[n.kind]+=1;return e},po=1048576,wo=new TextDecoder,go=async e=>{const n=Sn(e.layout.gitDir);let r;try{r=await e.fs.read(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}if(r.byteLength>po)throw t.sparsePatternFileTooLarge("info/sparse-checkout",r.byteLength,po);return wo.decode(r)},mo=(e,n)=>new t.TsgitError(void 0===n?{code:"RESOURCE_LOCKED",resource:"index",path:e}:{code:"RESOURCE_LOCKED",resource:"index",path:e,mtimeMs:n}),yo=async(t,e)=>{try{return(await t.fs.lstat(e)).mtimeMs}catch{return}},xo=new TextEncoder,vo=new Set([".git"]),bo=t=>{""===t&&ko(t),$o(t)>4096&&ko(t),t.startsWith("/")&&ko(t),t.includes("\\")&&ko(t),t.includes("\0")&&ko(t);const e=t.split("/");for(const n of e)To(n,t);return t},Eo=t=>{const e=t.toLowerCase();return!!vo.has(e)||".git"===e.replace(/[. ]+$/,"")},ko=e=>{throw t.pathspecOutsideRepo(e)},To=(t,e)=>{""===t&&ko(e),"."!==t&&".."!==t||ko(e),$o(t)>255&&ko(e),Eo(t)&&ko(e),t.includes(":")&&ko(e);for(let n=0;n<t.length;n+=1){const r=t.charCodeAt(n);(r<=31||127===r)&&ko(e)}},$o=t=>xo.encode(t).length;async function*Do(e,n,r,o,s){if(o>e.maxDepth)throw U(o);const i=await e.ctx.fs.readdir(Oo(e,r));if(s||!i.some(Lo))for(const s of i){if(e.ctx.signal?.aborted)throw t.operationAborted();Eo(s.name)||(yield*Io(e,n,r,o,s))}}async function*Io(t,e,n,r,o){const s=Ao(n,o.name);if(bo(s),o.isDirectory&&!o.isSymbolicLink){if(void 0!==t.ignore&&await t.ignore(s,!0))return;return void(yield*Do(t,e,s,r+1,!1))}if(!o.isFile&&!o.isSymbolicLink)return;if(void 0!==t.ignore&&await t.ignore(s,!1))return;if(e.value+=1,e.value>t.maxEntries)throw N(e.value,t.maxEntries);const i=await t.ctx.fs.lstat(`${t.ctx.layout.workDir}/${s}`);yield{path:s,stat:i}}const Oo=(t,e)=>""===e?t.ctx.layout.workDir:`${t.ctx.layout.workDir}/${e}`,Ao=(t,e)=>""===t?e:`${t}/${e}`,Lo=t=>!!Eo(t.name)&&(t.isDirectory||t.isFile&&!t.isSymbolicLink);async function So(e,n){if(e.signal?.aborted)throw t.operationAborted();const{bytes:r,id:o}=await xr(e,n),s=n.id;if(""!==s&&s!==o)throw C(n.id,o);if(e.signal?.aborted)throw t.operationAborted();const i=o.slice(0,2);await e.fs.mkdir(An(e.layout.gitDir,i));const a=Dn(e.layout.gitDir,o),c=await e.compressor.deflate(r);try{await e.fs.writeExclusive(a,c)}catch(t){if(Co(t))return o;throw t}return o}function Co(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}const _o=async(t,e)=>Uo(t,""===e?`${t.layout.workDir}/.gitignore`:`${t.layout.workDir}/${e}/.gitignore`),Uo=async(e,n)=>{let r;try{r=await e.fs.lstat(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}if(r.isFile&&!r.isSymbolicLink){if(r.size>cr)throw t.gitignoreFileTooLarge(No(n),r.size,cr);return(t=>{const e=[],n=t.split("\n");for(let t=0;t<n.length;t+=1){const r=n[t],o=Ft(r);if(void 0===o)continue;const{negated:s,anchored:i,directoryOnly:a,cleanPattern:c}=o;e.push({pattern:Pt(Rt(r)),negated:s,directoryOnly:a,anchored:i,lineNumber:t+1,compiled:Nt(c,{anchored:i})})}return e})(await e.fs.readUtf8(n))}},No=t=>{const e=t.lastIndexOf("/");return-1===e?t:t.slice(e+1)},Ro=async t=>{const e=[],n=await(async t=>{const e=await Pn(t),n=e.core?.excludesFile;if(void 0===n)return;const r=((t,e)=>{if("~"===e)return t.layout.homeDir;if(e.startsWith("~/")){if(void 0===t.layout.homeDir)return;return`${t.layout.homeDir}/${e.slice(2)}`}return e})(t,n);return void 0!==r?Uo(t,r):void 0})(t);void 0!==n&&e.push({basedir:"",rules:n,kind:"global"});const r=await(async t=>Uo(t,`${t.layout.gitDir}/info/exclude`))(t);void 0!==r&&e.push({basedir:"",rules:r,kind:"info"});const o=await _o(t,"");void 0!==o&&e.push({basedir:"",rules:o,kind:"gitignore"});const s=new Map;return{base:e,loadDirRules:async e=>{const n=s.get(e);if(void 0!==n)return n;const r=await _o(t,e)??[];return s.set(e,r),r}}};async function Po(t,e,n){const r=n?.maxSymbolicDepth??5,o=n?.maxPeelDepth??5,s=n?.peel??!1,i=wr(t),a=await async function(t,e,n){const r=[];let o=e,s=0;for(;;){if("HEAD"!==o&&He(o),r.includes(o))throw je([...r,o]);r.push(o);const e=await t.resolveDirect(o);if("missing"===e.kind)throw Me(o);if("direct"===e.kind)return e.id;if(s+=1,Pr(s,n))throw We(s,r);o=e.target}}(i,e,r);return s?async function(t,e,n){let r=e,o=0;for(;;){const e=await Xr(t,r);if("tag"!==e.type)return r;if(o+=1,Fr(o,n))throw We(o,[]);r=e.data.object}}(t,a,o):a}const Fo=new TextEncoder,Mo=e=>{if(e.signal?.aborted)throw t.operationAborted()},Wo=async(e,n,r)=>{try{return((t,e,n)=>({ok:!0,id:e,type:n.type,size:dt(n,t.hashConfig),object:n}))(e,n,await Xr(e,n,r))}catch(e){if((e=>e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code)(e))return(t=>({ok:!1,id:t,reason:"missing"}))(n);throw e}};async function jo(t,e){let n=zr(e)?e:await Po(t,e),r=await Xr(t,n),o=0;for(;"commit"===r.type||"tag"===r.type;){if(o+=1,o>5)throw We(o,[]);n="commit"===r.type?r.data.tree:r.data.object,r=await Xr(t,n)}if("tree"!==r.type)throw _("tree",r.type,n);return r}async function Bo(t,e){if(e.length>i)throw N(e.length,i);return So(t,{type:"tree",id:"",entries:e})}const zo=t=>{let e=0;for(const n of t)"/"===n&&(e+=1);if(e>4096)throw U(e)},Ho=async(t,e)=>{const{files:n,subdirs:r}=(t=>{const e=[],n=new Map;for(const r of t){const t=r.path.indexOf("/");if(-1===t){e.push(r);continue}const o=r.path.slice(0,t),s=r.path.slice(t+1),i=n.get(o),a={path:s,id:r.id,mode:r.mode};void 0===i?n.set(o,[a]):i.push(a)}return{files:e,subdirs:n}})(e),o=[];for(const t of n)o.push({name:t.path,id:t.id,mode:t.mode});for(const[e,n]of r){const r=await Ho(t,n);o.push({name:e,id:r,mode:Y.DIRECTORY})}return Bo(t,o)},Vo=new TextEncoder;async function*Ko(e,n){!function(e){if(0===e.from.length)throw t.invalidWalkInput("empty from");if(function(t){return t.length>1024}(e.from))throw t.invalidWalkInput("too many seeds")}(n);const r=n.order??"topo",o=n.ignoreMissing??!1,s=n.verifyHash??!0,i={queue:[...n.from],visited:new Set,missing:new Set,until:new Set(n.until??[]),shallow:n.shallow??new Set};for(;i.queue.length>0;){if(e.signal?.aborted)throw t.operationAborted();const n=qo(i.queue);if(i.visited.has(n)||i.until.has(n))continue;const a=await Yo(e,n,s,o,i.missing);void 0!==a&&(i.visited.add(n),yield a,Go(i,a,r))}}async function Yo(t,e,n,r,o){try{const r=await Xr(t,e,{verifyHash:n});if("commit"!==r.type)return;return r}catch(t){if(r&&Xo(t))return void o.add(e);throw t}}function Go(e,n,r){if(e.shallow.has(n.id))return;const o="first-parent"===r&&n.data.parents.length>0?[n.data.parents[0]]:n.data.parents;for(const n of o)if(!(e.visited.has(n)||e.missing.has(n)||e.until.has(n))){if(e.queue.length>=65536)throw t.invalidWalkInput("walk queue exceeds bound");e.queue.push(n)}}function qo(t,e){return t.shift()}function Xo(e){return e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code}const Jo=new TextEncoder,Zo=new Set(["side-band-64k","side-band"]),Qo=async(n,r,o)=>{const s=(e=>{if(0===e.wants.length)throw new t.TsgitError({code:"EMPTY_WANTS"});const n=[];e.wants.forEach((t,r)=>{n.push(((t,e)=>{const n=0===e.length?"":` ${e.join(" ")}`;return he.encode(`want ${t}${n}\n`)})(t,0===r?e.capabilities:[]))}),void 0!==e.depth&&n.push(he.encode(`deepen ${e.depth}\n`)),void 0!==e.filter&&n.push(he.encode(`filter ${e.filter}\n`));const r=re(n),o=0===e.haves.length?new Uint8Array(0):re(e.haves.map(Ee)),s=e.done?ke:new Uint8Array(0),i=new Uint8Array(r.byteLength+o.byteLength+s.byteLength);let a=0;return i.set(r,a),a+=r.byteLength,i.set(o,a),a+=o.byteLength,i.set(s,a),i})({wants:o.wants,haves:o.haves,capabilities:o.capabilities,done:!0,...void 0!==o.depth?{depth:o.depth}:{},...void 0!==o.filter?{filter:o.filter}:{}}),i=ns(o.url),a=await r.request({url:i,method:"POST",headers:{"content-type":"application/x-git-upload-pack-request",accept:"application/x-git-upload-pack-result"},body:s,...void 0!==n.signal?{signal:n.signal}:{}});if(200!==a.statusCode)throw t.httpError(a.statusCode,`git-upload-pack returned ${a.statusCode}`);const c=se(e.readableStreamToAsyncIterable(a.body)),d=await(async(t,e)=>{const n=t[Symbol.asyncIterator](),r=!0===e.expectShallow?await(async t=>{const e={shallow:[],unshallow:[]};let n=await t.next();for(;!n.done;){if("data"!==n.value.kind)return{shallow:e.shallow,unshallow:e.unshallow};const r=le.decode(n.value.payload);if(!Oe(r,e))return Ae.set(t,n.value),{shallow:e.shallow,unshallow:e.unshallow};n=await t.next()}return{shallow:e.shallow,unshallow:e.unshallow}})(n):{shallow:[],unshallow:[]},o=await(async t=>{const e=[];let n=!1;const r=Ae.get(t);void 0!==r&&Ae.delete(t);let o=void 0!==r?{done:!1,value:r}:await t.next();for(;!o.done;){if("data"!==o.value.kind)return{acks:e,nak:n,buffered:[o.value]};const r=le.decode(o.value.payload);if(r.startsWith("ACK "))e.push(Te(r)),o=await t.next();else{if(!r.startsWith("NAK"))return{acks:e,nak:n,buffered:[o.value]};n=!0,o=await t.next()}}return{acks:e,nak:n,buffered:[]}})(n);return{acks:o.acks,nak:o.nak,shallow:r.shallow,unshallow:r.unshallow,packBody:{[Symbol.asyncIterator]:()=>async function*(t,e,n){const r=async function*(t,e){for(const e of t)yield e;let n=await e.next();for(;!n.done;)yield n.value,n=await e.next()}(t,e);if(n.sideBand){const t=n.onProgress?{onProgress:n.onProgress}:{};return void(yield*ue(r,t))}yield*async function*(t){for await(const e of t){if("data"!==e.kind)return;yield e.payload}}(r)}(o.buffered,n,e)}}})(c,{sideBand:rs(o.capabilities),onProgress:e=>n.progress.update(o.progressOp,0,void 0,t.sanitize(e)),expectShallow:void 0!==o.depth});return{packBytes:await ts(n,o,d.packBody),shallow:d.shallow,unshallow:d.unshallow}},ts=async(t,e,n)=>{const r=t.config?.maxResponseBytes??536870912,o=[];let s=0,i=0;for await(const a of n){if(s+a.byteLength>r)throw es(r);o.push(a),s+=a.byteLength,s-i>=65536&&(t.progress.update(e.progressOp,s),i=s)}0!==s&&s!==i&&t.progress.update(e.progressOp,s);const a=new Uint8Array(s);let c=0;for(const t of o)a.set(t,c),c+=t.byteLength;return a},es=e=>new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:0,limit:e}),ns=t=>{let e;try{e=new URL(t)}catch{throw Vt("invalid URL")}if(""!==e.hash)throw Vt("fragment must not be set");const n=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname;return`${e.protocol}//${e.host}${n}/git-upload-pack${e.search}`},rs=t=>t.some(t=>Zo.has(t)),os=async(e,n)=>{const r=function(t){if(t.length<12)throw rn("truncated: pack header requires 12 bytes");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(n!==pn)throw rn(`invalid magic: expected 0x5041434b, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw rn(`unsupported version: expected 2, got ${r}`);return{version:r,objectCount:e.getUint32(8)}}(n),o=e.config?.maxObjectsPerPack??5e7;if(r.objectCount>o)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:r.objectCount,limit:o});const s=n.length-e.hash.digestLength,i=[];let a=12;for(let t=0;t<r.objectCount;t+=1){const t=wn(n,a,e.hashConfig),r=await e.compressor.streamInflate(n,t.dataOffset),o=t.dataOffset+r.bytesConsumed;if(o>s)throw rn("entry extends past pack trailer");const c=nn(n.subarray(a,o));i.push({offset:a,header:t,inflated:r.output,crc32:c}),a=o}if(a!==s)throw rn("extra bytes between last entry and trailer");return i},ss=async(t,e)=>{const n=new Map,r=new Map;let o=e;for(;o.length>0;){const e=[];let s=!1;for(const i of o){const o=await cs(t,i,n,r);void 0===o?e.push(i):(n.set(o.offset,o),r.set(o.id,o),s=!0)}if(!s)throw is(e);o=e}return[...n.values()]},is=t=>{const e=t[0];if(void 0===e)return rn("unresolved deltas: empty queue (internal invariant violated)");const n=as(e.header);return rn(void 0!==n?`unresolved REF_DELTA: base ${n} not in pack`:`unresolved entry at offset ${e.offset}`)},as=t=>{if(!fs(t)&&6!==t.type)return t.baseId},cs=async(t,e,n,r)=>{if(fs(e.header)){const n=us(e.header.type);return{id:await ls(t,n,e.inflated),type:n,content:e.inflated,crc32:e.crc32,offset:e.offset}}if(6===e.header.type){const r=e.offset-e.header.baseDistance;if(r<12)throw rn(`OFS_DELTA at offset ${e.offset} points before pack body: distance ${e.header.baseDistance}`);const o=n.get(r);if(void 0===o)return;return ds(t,e,o)}const o=r.get(e.header.baseId);if(void 0!==o)return ds(t,e,o)},ds=async(t,e,n)=>{const r=hn(n.content,e.inflated);return{id:await ls(t,n.type,r),type:n.type,content:r,crc32:e.crc32,offset:e.offset}},fs=t=>1===t.type||2===t.type||3===t.type||4===t.type,us=t=>{switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag"}},ls=async(t,e,n)=>{const r=Jo.encode(`${e} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),t.hash.hashHex(o)},hs=t=>`${t.layout.gitDir}/shallow`,ps=e=>e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code,ws=async t=>{let e;try{e=await t.fs.readUtf8(hs(t))}catch(t){if(ps(t))return new Set;throw t}const n=new Set;for(const t of e.split("\n")){const e=t.trim();0!==e.length&&ms(e)&&n.add(B.from(e))}return n},gs=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,ms=t=>gs.test(t),ys=(t,e)=>t.section.toLowerCase()===e.section&&(void 0===e.subsection?void 0===t.subsection:t.subsection===e.subsection),xs=(t,e)=>{const n=[];for(const r of t)if(ys(r,e))for(const t of r.entries)t.key.toLowerCase()===e.name&&n.push({value:t.value});return n},vs=["system","global","local","worktree"],bs=async(t,e)=>{try{return await t.fs.exists(e)}catch{return!1}},Es=(e,n)=>{try{return n()}catch(n){if(n instanceof t.TsgitError&&"UNSUPPORTED_OPERATION"===n.data.code)throw t.configScopeNotAvailable(e,"browser-adapter");throw n}},ks=async(e,n)=>{if("local"===n)return`${e.layout.gitDir}/config`;if("worktree"===n){if(!await(async e=>{const n=await(async(e,n)=>{try{return await e.fs.readUtf8(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}})(e,`${e.layout.gitDir}/config`);if(void 0===n)return!1;const r=Bn(n);for(const t of r)if("extensions"===t.section.toLowerCase()&&void 0===t.subsection)for(const e of t.entries)if("worktreeconfig"===e.key.toLowerCase())return"true"===e.value;return!1})(e))throw t.configScopeNotAvailable("worktree","worktree-extension-unset");return`${e.layout.gitDir}/config.worktree`}if("global"===n){const t=Es("global",()=>e.fs.xdgConfigHome()),n=Es("global",()=>e.fs.homedir()),r=`${t}/git/config`;if(await bs(e,r))return r;const o=`${n}/.gitconfig`;return await bs(e,o),o}const r=Es("system",()=>e.fs.systemConfigPath());if(0===r.length)throw t.configSystemPathUnresolved();return r};let Ts=new WeakMap;const $s=t=>{Ts.delete(t)},Ds=(e,n)=>{const r=(t=>{const e=Ts.get(t);if(void 0!==e)return e;const n=new Map;return Ts.set(t,n),n})(e),o=r.get(n);if(void 0!==o)return o;const s=(async(e,n)=>{const r=await ks(e,n);try{const t=await e.fs.readUtf8(r);return Bn(t)}catch(e){if(e instanceof t.TsgitError){const t=e.data.code;if("FILE_NOT_FOUND"===t||"PERMISSION_DENIED"===t)return[]}throw e}})(e,n);return r.set(n,s),s},Is=async(e,n)=>{try{return{scope:n,sections:await Ds(e,n)}}catch(e){if(e instanceof t.TsgitError){const t=e.data.code;if("CONFIG_SCOPE_NOT_AVAILABLE"===t)return;if("CONFIG_SYSTEM_PATH_UNRESOLVED"===t)return}throw e}},Os=async({ctx:t,scope:e})=>{if(void 0!==e)return(await Ds(t,e)).map(t=>({scope:e,section:t}));const n=[];for(const e of vs){const r=await Is(t,e);void 0!==r&&n.push(r)}return(t=>{const e=new Map;for(const{scope:n,sections:r}of t)e.set(n,r);const n=[];for(const t of vs){const r=e.get(t);if(void 0!==r)for(const e of r)n.push({scope:t,section:e})}return n})(n)},As=async(t,e,n)=>{if(void 0!==n){const r=await Ds(t,n);return xs(r,e).map(t=>({value:t.value,scope:n}))}return((t,e)=>{const n=[];for(const{scope:r,section:o}of t)if(ys(o,e))for(const t of o.entries)t.key.toLowerCase()===e.name&&n.push({value:t.value,scope:r});return n})((await Os({ctx:t})).map(({scope:t,section:e})=>({scope:t,section:e})),e)},Ls=(t,e,n)=>{const r=Kn(t.trim());return void 0!==r&&r.section.toLowerCase()===e.toLowerCase()&&(void 0===n?void 0===r.subsection||""===r.subsection:r.subsection===n)},Ss=t=>{const e=t.trim();return e.startsWith("[")&&e.endsWith("]")},Cs=(t,e)=>{const n=t.indexOf("=");return-1!==n&&t.slice(0,n).trim().toLowerCase()===e.toLowerCase()},_s=(t,e)=>`\t${t} = ${(t=>(t=>t.includes("#")||t.includes(";")||/^[ \t]/.test(t)||/[ \t]$/.test(t)||t.includes('"')||t.includes("\\")||t.includes("\n"))(t)?`"${t.replaceAll("\\","\\\\").replaceAll('"','\\"').replaceAll("\n","\\n")}"`:t)(e)}`,Us=(t,e)=>void 0===e?`[${t}]`:`[${t} "${e}"]`,Ns=(t,e,n)=>{for(let r=0;r<t.length;r+=1)if(Ls(t[r],e,n))return r;return-1},Rs=(t,e,n)=>[...t.slice(0,e+1),n,...t.slice(e+1)],Ps=(e,n)=>{if(/[\n\r\0]/.test(n))throw t.invalidOption("config",`${e} must not contain a newline or NUL`)},Fs=e=>{if(/[\r\0]/.test(e))throw t.invalidOption("config","value must not contain a carriage return or NUL")},Ms=e=>{if(Ps("subsection",e),/["\\\]]/.test(e))throw t.invalidOption("config","subsection must not contain a quote, backslash, or bracket")},Ws=e=>{if(/[\n\r\0\]"\\]/.test(e))throw t.invalidOption("config","section must not contain a newline, NUL, bracket, quote, or backslash")},js=(t,e,n,r,o)=>{Ws(e),Ps("key",r),Fs(o),void 0!==n&&Ms(n);const s=t.split("\n"),i=Ns(s,e,n);if(-1===i)return`${""===t?"":t.endsWith("\n")?t:`${t}\n`}${Us(e,n)}\n${_s(r,o)}\n`;const a=((t,e,n)=>{for(let r=e+1;r<t.length;r+=1){const e=t[r];if(Ss(e))return-1;if(Cs(e,n))return r}return-1})(s,i,r);return-1!==a?((t,e,n)=>[...t.slice(0,e),n,...t.slice(e+1)])(s,a,_s(r,o)).join("\n"):Rs(s,i,_s(r,o)).join("\n")},Bs=(t,e,n,r)=>{Ws(e),void 0!==n&&Ms(n),Ps("key",r);const o=t.split("\n"),s=[];let i=!1;for(const t of o)Ss(t)?(i=Ls(t,e,n),s.push(t)):i&&Cs(t,r)||s.push(t);return s.join("\n")},zs=(t,e,n)=>{Ws(e),void 0!==n&&Ms(n);const r=t.split("\n"),o=[];let s=!1;for(const t of r)if(Ss(t)){if(s=Ls(t,e,n),s)continue;o.push(t)}else s||o.push(t);return""===r[r.length-1]&&!(o.length>0&&""===o[o.length-1])&&o.length>0&&o.push(""),o.join("\n")},Hs=(t,e,n,r)=>(Ws(e),Ms(n),Ms(r),t.split("\n").map(t=>Ls(t,e,n)?Us(e,r):t).join("\n")),Vs=async(t,e)=>{const n=`${t.layout.gitDir}/config`,r=await qs(t,n),o=e.reduce((t,e)=>js(t,e.section,e.subsection,e.key,e.value),r);await t.fs.writeUtf8(n,o),Fn(t)},Ks=(t,e)=>"set"===e.kind?js(t,e.section,e.subsection,e.key,e.value):"appendEntry"===e.kind?Ys(t,e.section,e.subsection,e.key,e.value):"removeEntry"===e.kind?Bs(t,e.section,e.subsection,e.key):"removeSection"===e.kind?zs(t,e.section,e.subsection):Hs(t,e.section,e.from,e.to),Ys=(t,e,n,r,o)=>{Ws(e),Ps("key",r),Fs(o),void 0!==n&&Ms(n);const s=t.split("\n"),i=Ns(s,e,n);if(-1===i)return`${""===t?"":t.endsWith("\n")?t:`${t}\n`}${Us(e,n)}\n${_s(r,o)}\n`;const a=Gs(s,i,r);return Rs(s,a,_s(r,o)).join("\n")},Gs=(t,e,n)=>{let r=e;for(let o=e+1;o<t.length;o+=1){const e=t[o];if(Ss(e))return r;Cs(e,n)&&(r=o)}return r},qs=async(e,n)=>{try{return await e.fs.readUtf8(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return"";throw e}},Xs=e=>{const n=e.indexOf(".");if(-1===n||0===n||n===e.length-1)throw t.invalidOption("config",`section name must be of the form "<section>.<subsection>": ${e}`);const r=e.slice(0,n),o=e.slice(n+1);if(0===o.length)throw t.invalidOption("config",`section name must be of the form "<section>.<subsection>": ${e}`);return{section:r,subsection:o}},Js=(t,e,n)=>{const r=e.toLowerCase();for(const e of t)if(e.section.toLowerCase()===r&&e.subsection===n)return!0;return!1},Zs=(t,e)=>{const n=`${e.gitDir}/hooks`;return void 0===t?n:t.startsWith("~/")?void 0===e.homeDir?n:`${e.homeDir}/${t.slice(2)}`:(r=t).startsWith("/")||/^[A-Za-z]:[\\/]/.test(r)?t:`${e.workDir}/${t}`;var r};async function Qs(t,e){if(void 0!==e)return"string"==typeof e?jo(t,e):e}const ti=(t,e)=>t.date>e.date||t.date===e.date&&t.id<e.id,ei=(t,e)=>t.some(t=>!(4&(e.get(t.id)??0))),ni=async(t,e,n)=>{const r=new Map,o=[],s=async(e,n)=>{var s;r.set(e,(r.get(e)??0)|n),((t,e)=>{let n=0;for(;n<t.length&&!ti(e,t[n]);)n+=1;t.splice(n,0,e)})(o,{id:e,date:(s=await t(e),s?.data.committer.timestamp??0)})};await s(e,1);for(const t of n)await s(t,2);for(;ei(o,r);){const{id:e}=o.shift();let n=7&(r.get(e)??0);3===n&&(r.set(e,8|(r.get(e)??0)),n|=4);const i=await t(e);for(const t of i?.data.parents??[])((r.get(t)??0)&n)!==n&&await s(t,n)}return r},ri=async(t,e)=>{const n=[...new Set(e)];if(n.length<=1)return n;const r=[];for(const e of n){const o=n.filter(t=>t!==e);2&((await ni(t,e,o)).get(e)??0)||r.push(e)}return r},oi=async(t,e,n)=>{if(0===n.length)return[e];const r=(t=>{const e=[];for(const[n,r]of t)8&r&&e.push(n);return e})(await ni(t,e,n));return ri(t,r)};async function si(t,e,n){const r=await t.fs.readdir(e),o=[];for(const s of r){const r=`${n}/${s.name}`;s.isDirectory?o.push(...await si(t,`${e}/${s.name}`,r)):o.push(r)}return o}const ii=(t,e)=>void 0!==e?{...t,stage:0,skipWorktree:!1}:{...t,stage:0},ai=(t,e)=>t.path<e.path?-1:t.path>e.path?1:0,ci=async(t,e)=>{const n=ct(e,t.hashConfig),r=n.indexOf(0),o=n.subarray(r+1),s=await t.compressor.deflate(o);return{type:di(e.type),uncompressedSize:o.length,compressedData:s}},di=t=>{switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4}},fi=(e,n)=>{if(e.emitted.has(n))return!1;if(e.emitted.size>=e.cap)throw new t.TsgitError({code:"PACK_TOO_LARGE",objectCount:e.emitted.size+1,limit:e.cap});return e.emitted.add(n),!0},ui=async(t,e,n)=>{let r=e;for(let e=0;e<16;e+=1){const e=await Xr(t,r);if("tag"!==e.type)return r;n(r),r=e.data.object}return r},li=H.from("HEAD"),hi=new TextDecoder;async function*pi(t,e,n,r,o,s,i,a){const c=await mi(t,e);for await(const d of ao(t,e,{recursive:!0})){if(d.mode!==Y.GITLINK)continue;const e=gi(o,d.path),f=c.get(d.path);if(yield wi(f,d.path,d.id,e,n,r),!i)continue;if(n>=a)continue;const u=await Ei(t,f?.name,d.path,s);if(void 0===u)continue;const l=await ki(u,d.id);if(void 0===l)continue;const h=new Set(s).add(u.layout.gitDir);yield*pi(u,l,n+1,e,e,h,i,a)}}const wi=(t,e,n,r,o,s)=>({name:t?.name??e,path:r,commit:n,depth:o,...void 0!==t?.url?{url:t.url}:{},...void 0!==t?.branch?{branch:t.branch}:{},...void 0!==s?{parent:s}:{}}),gi=(t,e)=>""===t?e:`${t}/${e}`,mi=async(t,e)=>{const n=e.entries.find(t=>".gitmodules"===t.name);if(void 0===n)return new Map;if(n.mode!==Y.REGULAR&&n.mode!==Y.EXECUTABLE)return new Map;const r=await Jr(t,n.id,{maxBytes:1048576}),o=hi.decode(r.content),s=new Map;for(const t of Bn(o)){const e=xi(t);void 0!==e&&void 0!==e.path&&s.set(e.path,e)}return s},yi=(t,e)=>{const n=e.key.toLowerCase();return"path"===n?{...t,path:e.value}:"url"===n?{...t,url:e.value}:"branch"===n?{...t,branch:e.value}:t},xi=t=>{if("submodule"!==t.section)return;if(void 0===t.subsection)return;if(bi(t.subsection))return;const e=t.entries.reduce(yi,{});return{name:t.subsection,...void 0!==e.path?{path:e.path}:{},...void 0!==e.url?{url:e.url}:{},...void 0!==e.branch?{branch:e.branch}:{}}},vi=/^[A-Za-z]:/,bi=t=>{if(t.startsWith("-"))return!0;if(t.includes("\\"))return!0;if((t=>{for(let e=0;e<t.length;e+=1){const n=t.charCodeAt(e);if(n<=31)return!0;if(127===n)return!0}return!1})(t))return!0;if(vi.test(t))return!0;for(const e of t.split("/")){if(""===e)return!0;if("."===e)return!0;if(".."===e)return!0}return!1},Ei=async(t,e,n,r)=>{if(void 0===e)return;const o=`${t.layout.gitDir}/modules/${e}`;if(r.has(o))return;if(!await t.fs.exists(`${o}/HEAD`))return;const s=`${t.layout.workDir}/${n}`,{promisor:i,hooks:a,...c}=t;return Object.freeze({...c,layout:Object.freeze({workDir:s,gitDir:o,bare:!1,...void 0!==t.layout.homeDir?{homeDir:t.layout.homeDir}:{}}),cwd:s})},ki=async(e,n)=>{try{return await jo(e,n)}catch(e){if(e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code)return;throw e}};exports.AGENT=Mt,exports.CLIENT_CAPABILITIES_FETCH=Wt,exports.CLIENT_CAPABILITIES_PUSH=jt,exports.FILE_MODE=Y,exports.MAX_FLAT_TREE_ENTRIES=i,exports.MAX_HAVES=256,exports.MAX_SPARSE_PATTERN_FILE_BYTES=po,exports.MAX_WALK_SEEDS=1024,exports.MAX_WORKING_TREE_BLOB_BYTES=ar,exports.NO_PARSER_OFFSET=-1,exports.ObjectId=B,exports.RefName=H,exports.STAGE0_FLAGS=d,exports.ZERO_OID=z,exports.acquireIndexLock=async(e,n={})=>{const r=`${On(e.layout.gitDir)}${Cn}`,o=On(e.layout.gitDir),s=n.now??(()=>Date.now()),i=n.breakStaleLockMs;try{await e.fs.writeExclusive(r,new Uint8Array)}catch(n){if(!(n instanceof t.TsgitError)||"FILE_EXISTS"!==n.data.code)throw n;if(void 0===i)throw mo(r,await yo(e,r));await(async(e,n,r,o)=>{const s=await yo(e,n);if(void 0===s)return void await e.fs.writeExclusive(n,new Uint8Array);const i=o()-s;if(i<0)throw mo(n,s);if(i<r)throw mo(n,s);await e.fs.rm(n);try{await e.fs.writeExclusive(n,new Uint8Array)}catch(r){if(r instanceof t.TsgitError&&"FILE_EXISTS"===r.data.code)throw mo(n,await yo(e,n));throw r}})(e,r,i,s)}return((e,n,r)=>{let o=!1,s=!1;return{release:async()=>{if(!o&&!s){s=!0;try{await e.fs.rm(n)}catch(e){if(!(e instanceof t.TsgitError)||"FILE_NOT_FOUND"!==e.data.code)throw e}}},commit:async t=>{if(o||s)return;const i=function(t){const e=[...t.entries].sort(mt),n=e.map(t=>{const e=x(t.path),n=t.flags.skipWorktree||t.flags.intentToAdd;return{entry:t,pathBytes:e,extended:n,paddedLength:62+(n?2:0)+e.length+8&-8}}),r=t.extensions.map(t=>({ext:t,sigBytes:x(t.signature),totalLength:8+t.data.length})),o=12+n.reduce((t,e)=>t+e.paddedLength,0)+r.reduce((t,e)=>t+e.totalLength,0),s=new Uint8Array(o),i=new DataView(s.buffer),a=n.some(t=>t.extended)?3:2;i.setUint32(0,1145655875),i.setUint32(4,a),i.setUint32(8,e.length);let c=12;for(const{entry:t,pathBytes:e,extended:r,paddedLength:o}of n)yt(s,i,c,t,e,r),c+=o;for(const{ext:t,sigBytes:e,totalLength:n}of r)s.set(e,c),i.setUint32(c+4,t.data.length),s.set(t.data,c+8),c+=n;return s}({entries:[...t],extensions:[]}),a=await e.hash.hash(i),c=new Uint8Array(i.length+a.length);c.set(i,0),c.set(a,i.length),await e.fs.write(n,c),await e.fs.rename(n,r),o=!0}}})(e,r,o)},exports.alreadyInitialized=e=>new t.TsgitError({code:"ALREADY_INITIALIZED",path:e}),exports.appendReflog=dr,exports.applyChangeset=oo,exports.applyConfigOpInText=Ks,exports.assertNoPendingOperation=async(e,n={})=>{const r=n.except,o=t=>Array.isArray(r)?r.includes(t):r===t,s=await Promise.all(yr.map(t=>e.fs.exists(`${e.layout.gitDir}/${t.file}`)));for(let e=0;e<yr.length;e+=1){const n=yr[e];if(void 0!==n&&!o(n.operation)&&!0===s[e])throw t.operationInProgress(n.operation)}},exports.assertNotBare=async(e,n)=>{if(await(async t=>{const e=await Pn(t);return e.core?.bare??!1})(e))throw(e=>new t.TsgitError({code:"BARE_REPOSITORY",operation:e}))(n)},exports.assertRepository=async e=>{const n=`${e.layout.gitDir}/HEAD`;if(!await e.fs.exists(n))throw new t.TsgitError({code:"NOT_A_REPOSITORY",path:e.layout.workDir});return e.layout.bare?e.layout.gitDir:e.layout.workDir},exports.atomicWriteRef=_n,exports.buildConeSpec=t=>{const e=new Set(t.map(Ye)),n=new Set;for(const t of e)for(const r of Ke(t))e.has(r)||n.add(r);return{mode:"cone",recursive:e,parents:n}},exports.buildDiscoveryUrl=(t,e)=>{let n;try{n=new URL(t)}catch{throw Vt("invalid URL")}if(""!==n.hash)throw Vt("fragment must not be set");const r=n.pathname.endsWith("/")?n.pathname.slice(0,-1):n.pathname;return`${n.protocol}//${n.host}${r}/info/refs${""===n.search?`?service=${e}`:`${n.search}&service=${e}`}`},exports.buildIgnoreEvaluator=Ro,exports.buildIndexFromTree=async(t,e)=>{const n=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e.currentIndex),r=await(async(t,e)=>{const n=[];for await(const r of ao(t,e))r.mode!==Y.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),o=r.map(t=>((t,e,n)=>{if(void 0!==n&&!n(t.path))return f(t);const r=e.get(t.path);return void 0!==r&&r.id===t.id&&r.mode===t.mode?{...r,flags:ii(r.flags,n)}:(t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t.mode,uid:0,gid:0,fileSize:0,id:t.id,flags:d,path:t.path}))(t)})(t,n,e.sparse));return o.sort(ai),o},exports.buildPack=async(t,e)=>{const n=[];for(const r of e.oids){const e=await Xr(t,r);n.push(await ci(t,e))}const r=function(t){const e=function(t,e){const n=new Uint8Array(12),r=new DataView(n.buffer);return r.setUint32(0,pn),r.setUint32(4,2),r.setUint32(8,e),n}(0,t.length),n=[e],r=[];let o=e.length;for(const e of t){const t=Tn(gn(e.type,e.uncompressedSize),e.compressedData),s=nn(t);r.push({crc32:s,offset:o}),n.push(t),o+=t.length}return{data:$n(n),entries:r}}(n),o=await t.hash.hash(r.data),s=l(o),i=new Uint8Array(r.data.length+o.length);return i.set(r.data,0),i.set(o,r.data.length),{bytes:i,sha:s,objectCount:n.length}},exports.buildRepoIgnorePredicate=async t=>{const e=await Ro(t),n=[...e.base],r=new Set([]);return async(t,o)=>{for(const o of(t=>{const e=t.split("/");if(e.length<=1)return[];const n=[];for(let t=1;t<e.length;t+=1)n.push(e.slice(0,t).join("/"));return n})(t)){if(r.has(o))continue;r.add(o);const t=await e.loadDirRules(o);t.length>0&&n.push({basedir:o,rules:t})}return"ignored"===((t,e,n)=>St(t,e,n).verdict)(n,t,o)}},exports.buildSparseMatcher=tn,exports.catFileBatch=async function*(t,e,n){const r=void 0===n?.maxBytes?void 0:{maxBytes:n.maxBytes};for await(const n of e){Mo(t);const e=await Wo(t,n,r);yield e,Mo(t)}},exports.comparePaths=function(t,e){return w(Et.encode(t),Et.encode(e))},exports.compareWorkingTreeEntry=async(t,e)=>{const n=`${t.layout.workDir}/${e.path}`,r=await t.fs.lstat(n).catch(()=>{});if(void 0===r)return"absent";if(Z(r)!==e.mode)return"modified";try{const o=r.isSymbolicLink?Vo.encode(await t.fs.readlink(n)):await t.fs.read(n),{id:s}=await xr(t,{type:"blob",id:"",content:o});return s===e.id?"unchanged":"modified"}catch{return"modified"}},exports.compileGlob=Nt,exports.computeChangeset=io,exports.containsGlob=t=>t.includes("*")||t.includes("?"),exports.createCommit=async function(t,e){if(e.message.includes("\0"))throw O("message contains NUL");if(n=e.message,(new TextEncoder).encode(n).byteLength>16777216)throw O("message exceeds 16 MiB");var n;if(void 0!==e.gpgSignature&&Sr(e.gpgSignature))throw O("gpgSignature contains header-boundary chars");if(void 0!==e.extraHeaders)for(const t of e.extraHeaders){if(Cr(t.key))throw O("extraHeader key contains forbidden characters");if(Sr(t.value))throw O("extraHeader value contains header-boundary chars")}return M(e.author),M(e.committer),So(t,{type:"commit",id:"",data:{tree:e.tree,parents:e.parents,author:e.author,committer:e.committer,message:e.message,...void 0!==e.gpgSignature?{gpgSignature:e.gpgSignature}:{},extraHeaders:e.extraHeaders??[]}})},exports.createPackRegistry=Kr,exports.decodePktStream=se,exports.deleteReflog=ur,exports.deriveWorkingMode=Z,exports.diffTrees=async function(t,e,n,r){const[o,s]=await Promise.all([Qs(t,e),Qs(t,n)]),i=function(t,e){const n=Ot(t),r=Ot(e),o=[];let s=0,i=0;for(;s<n.length&&i<r.length;){const t=n[s],e=r[i],a=st(t,e);if(a<0)o.push(Dt(t)),s++;else if(a>0)o.push($t(e)),i++;else{const n=It(t,e);void 0!==n&&o.push(n),s++,i++}}for(;s<n.length;)o.push(Dt(n[s])),s++;for(;i<r.length;)o.push($t(r[i])),i++;return{changes:o}}(o,s);return!0===r?.detectRenames?function(t,e={}){const n=e.limit??1e3,r=e.maxSameIdDeletes??100,{adds:o,deletes:s,other:i}=function(t){const e=[],n=[],r=[];for(const o of t)"add"===o.type?e.push(o):"delete"===o.type?n.push(o):r.push(o);return{adds:e,deletes:n,other:r}}(t.changes);if(o.length*s.length>n)return t;const a=function(t,e){const n=new Map;for(const e of t){const t=n.get(e.oldId);void 0===t?n.set(e.oldId,[e]):t.push(e)}const r=new Map;for(const[t,o]of n)o.length<=e&&r.set(t,o);return r}(s,r),c=new Set,d=[],f=[];for(const t of o){const e=Tt(t,a);void 0===e?f.push(t):(d.push(e.rename),c.add(e.consumedDelete))}const u=s.filter(t=>!c.has(t));return{changes:kt([...f,...u,...d,...i],xt)}}(i,r.renameOptions):i},exports.emptyReceiveUpdates=()=>new t.TsgitError({code:"EMPTY_RECEIVE_UPDATES"}),exports.encodePktStream=re,exports.enumeratePushObjects=async function*(t,e){const n={emitted:new Set,cap:e.maxObjects??1e6},r=await(async(t,e,n)=>{const r=[];for(const o of n){const n=await ui(t,o,t=>{fi(e,t)});r.push(n)}return r})(t,n,e.wants);for(const t of n.emitted)yield t;yield*async function*(t,e,n,r){for await(const o of Ko(t,{from:n,until:r,ignoreMissing:!0})){fi(e,o.id)&&(yield o.id),fi(e,o.data.tree)&&(yield o.data.tree);for await(const n of ao(t,o.data.tree,{recursive:!0}))Mr(n.mode)||fi(e,n.id)&&(yield n.id)}}(t,n,r,e.haves)},exports.enumerateRefs=async function(t){const e=new Set;await t.fs.exists(`${t.layout.gitDir}/HEAD`)&&e.add("HEAD");for(const n of await async function(t){const e=`${t.layout.gitDir}/refs`;return await t.fs.exists(e)?si(t,e,"refs"):[]}(t))e.add(n);for(const n of(await wr(t).getPackedRefs()).entries)e.add(n.name);return[...e]},exports.fetchPack=async(t,e,n)=>{t.progress.start(n.progressOp);try{const r=await Qo(t,e,n);if(0===r.packBytes.length)return{packPath:"",idxPath:"",objectCount:0,packSha:"",shallow:r.shallow,unshallow:r.unshallow};const o=await(async(t,e)=>{const n=e.hash.digestLength;if(t.length<12+n)throw rn("trailer mismatch: pack too short for header + trailer");const r=t.length-n,o=t.subarray(0,r),s=t.subarray(r),i=await e.hash.hashHex(o),a=l(s);if(i!==a)throw rn(`trailer mismatch: expected ${i}, got ${a}`);return i})(r.packBytes,t),s=await(async(t,e)=>{const n=await os(t,e);return(await ss(t,n)).slice().sort((t,e)=>t.offset-e.offset).map(t=>({id:t.id,crc32:t.crc32,offset:t.offset}))})(t,r.packBytes),i=await(async(t,e,n)=>{const r=function(t,e){if(20!==e.length)throw on(`packChecksum must be 20 bytes, got ${e.length}`);const n=t.map(t=>({shaBytes:h(t.id),entry:t}));n.sort((t,e)=>w(t.shaBytes,e.shaBytes));const r=n.length;let o=0;for(const t of n)t.entry.offset>2147483647&&(o+=1);const s=20*r,i=4*r,a=4*r,c=1032+s+i+a+8*o+20,d=new Uint8Array(c),f=new DataView(d.buffer);f.setUint32(0,4285812579),f.setUint32(4,2);const u=new Uint32Array(256);for(const{shaBytes:t}of n)u[t[0]]+=1;const l=new Uint32Array(256);let p=0;for(let t=0;t<256;t++)p+=u[t],l[t]=p;for(let t=0;t<256;t++)f.setUint32(8+4*t,l[t]);for(let t=0;t<r;t++)d.set(n[t].shaBytes,1032+20*t);const g=1032+s;for(let t=0;t<r;t++)f.setUint32(g+4*t,n[t].entry.crc32);const m=g+i;let y=0;const x=m+a;for(let t=0;t<r;t++){const e=n[t].entry.offset;if(e>2147483647){f.setUint32(m+4*t,2147483648|y);const n=Math.floor(e/4294967296),r=e>>>0;f.setUint32(x+8*y,n),f.setUint32(x+8*y+4,r),y+=1}else f.setUint32(m+4*t,e)}return d.set(e,c-20),d}(e.map(t=>({id:t.id,crc32:t.crc32,offset:t.offset})),h(n)),o=h(await t.hash.hashHex(r)),s=new Uint8Array(r.length+o.length);return s.set(r,0),s.set(o,r.length),s})(t,s,o),a=await(async(t,e,n,r,o,s)=>{const i=`${t.layout.gitDir}/objects/pack`;await t.fs.mkdir(i);const a=`${i}/pack-${r}.pack`,c=`${i}/pack-${r}.idx`;return await t.fs.writeExclusive(a,e),await t.fs.writeExclusive(c,n),s&&await t.fs.writeExclusive(`${i}/pack-${r}.promisor`,new Uint8Array(0)),{packPath:a,idxPath:c,objectCount:o,packSha:r}})(t,r.packBytes,i,o,s.length,!0===n.promisor);return function(t){Yr.get(t)?.refresh()}(t),{...a,shallow:r.shallow,unshallow:r.unshallow}}finally{t.progress.end(n.progressOp)}},exports.findByPrefix=function(t,e){if(e.length<4)throw on(`prefix too short: minimum 4 hex chars, got ${e.length}`);if(e.length>40)throw on(`prefix too long: maximum 40 hex chars, got ${e.length}`);if(!kn.test(e))throw on("prefix contains non-hex characters");const n=e.padEnd(40,"0"),r=e.padEnd(40,"f"),o=h(n),s=h(r),i=o[0],a=0===i?0:xn(t,i-1),c=xn(t,s[0]),d=function(t,e,n,r){let o=e,s=n;for(;o<s;){const e=o+s>>>1;vn(t,e,r)<0?o=e+1:s=e}return o}(t,a,c,o),f=function(t,e,n,r){let o=e,s=n;for(;o<s;){const e=o+s>>>1;vn(t,e,r)<=0?o=e+1:s=e}return o}(t,a,c,s),u=[];for(let e=d;e<f;e++){const n=mn+e*yn,r=t._bytes.subarray(n,n+yn);u.push(l(r))}return u},exports.flattenTree=async(t,e)=>{const n=new Map;for await(const r of ao(t,e))r.mode!==Y.DIRECTORY&&n.set(r.path,{id:r.id,mode:r.mode});return{entries:n}},exports.getAllConfigValues=async({ctx:t,key:e,scope:n})=>{const r=s(e);return{key:e,values:await As(t,r,n)}},exports.getConfigValue=async({ctx:e,key:n,scope:r})=>{const o=s(n),i=await As(e,o,r);if(0===i.length)return{key:n,value:void 0};if(i.length>1)throw t.configMultipleValues(n,i.length,"read",r);const[a]=i;return{key:n,value:a.value,scope:a.scope}},exports.getPackRegistry=qr,exports.getRefStore=wr,exports.getRepoRoot=t=>t.layout.workDir,exports.hashBlob=async(e,n,r={})=>{if(e.signal?.aborted)throw t.operationAborted();if(n.byteLength>ar)throw t.workingTreeFileTooLarge("(hashBlob-content)",n.byteLength,ar);const{id:o}=await xr(e,{type:"blob",content:n});return!0!==r.write?o:So(e,{type:"blob",id:o,content:n})},exports.indexPath=On,exports.invalidBaseUrl=Vt,exports.invalidCommit=O,exports.invalidFilterSpec=(e,n)=>new t.TsgitError({code:"INVALID_FILTER_SPEC",spec:e,reason:n}),exports.invalidIdentity=L,exports.invalidReportStatus=e=>new t.TsgitError({code:"INVALID_REPORT_STATUS",line:e}),exports.invalidateConfigCache=Fn,exports.invalidateScopedConfigCache=$s,exports.isDirectory=J,exports.isSameKind=bt,exports.isWorkingTreeDirty=to,exports.listReflogs=async function(t){const e=`${t.layout.gitDir}/logs`;return await t.fs.exists(e)?lr(t,e,""):[]},exports.loadSparseMatcher=async t=>{const e=await Pn(t);if(!0!==e.core?.sparseCheckout)return;const n=!0===e.core.sparseCheckoutCone,r=await go(t),o=Qe(r??"",n);return o.degraded&&void 0!==r&&t.logger?.warn?.(".git/info/sparse-checkout is not cone-shaped; falling back to non-cone matching"),tn(o.spec)},exports.looksLikeObjectId=zr,exports.looseObjectPath=Dn,exports.looseRefPath=In,exports.matchInStackVerbose=St,exports.materializeTree=async(t,e)=>{const n=await(async(t,e)=>{const n=[];for await(const r of ao(t,e))r.mode!==Y.DIRECTORY&&n.push({path:r.path,id:r.id,mode:r.mode});return n})(t,e.targetTree),r=((t,e)=>{if(void 0!==e.paths)return{target:uo(t,e.paths),indexForDiff:{...e.currentIndex,entries:uo(e.currentIndex.entries,e.paths)},excluded:[]};const n=e.sparse;if(void 0!==n){const r=[],o=[];for(const e of t)(n(e.path)?r:o).push(e);return{target:r,indexForDiff:{...e.currentIndex,entries:e.currentIndex.entries.filter(t=>!t.flags.skipWorktree)},excluded:o}}return{target:t,indexForDiff:e.currentIndex,excluded:[]}})(n,e),o=io(r.indexForDiff,r.target),s=!0===e.forceRewriteAll?(t=>{const e=t.entries.map(t=>"noop"===t.kind?{...t,kind:"update"}:t);return{entries:e,stats:ho(e)}})(o):o,i=await oo(t,{changeset:s,force:e.force??!1,workdir:t.layout.workDir}),a=((t,e,n,r)=>{const o=(t=>{const e=new Map;for(const n of t)e.set(n.path,n);return e})(t),s=(t=>{const e=new Map;for(const n of t.entries)0===n.flags.stage&&e.set(n.path,n);return e})(e),i=((t,e)=>{if(void 0===e)return[];const n=[];for(const[r,o]of t)e.has(r)||n.push(o);return n})(s,r);for(const t of n){const e=lo(t.path,o,s);void 0!==e&&i.push(e)}return i.sort((t,e)=>t.path<e.path?-1:1),i})(i.writtenEntries,e.currentIndex,r.target,e.paths);var c;return{newIndexEntries:0===r.excluded.length?a:(c=[...a,...r.excluded.map(f)],[...c].sort(mt)),written:i.written,deleted:i.deleted}},exports.mergeBase=async(e,n,r)=>{if(0===n.length)throw t.invalidWalkInput("mergeBase requires at least one commit");const o=(t=>{const e=new Map;return async n=>{if(!e.has(n)){const r=await Xr(t,n);e.set(n,"commit"===r.type?r:void 0)}return e.get(n)}})(e),s=[...r?.octopus?await(async(t,e)=>{let n=[e[0]];for(let r=1;r<e.length;r+=1){const o=[];for(const s of n)o.push(...await oi(t,e[r],[s]));n=o}return ri(t,n)})(o,n):await oi(o,n[0],n.slice(1))].sort();return!0===r?.all?s:s.slice(0,1)},exports.negotiateCapabilities=(t,e)=>{const n=new Map;for(const e of t)n.set(Bt(e),e);const r=[];for(const t of e){const e=Bt(t),o=n.get(e);void 0!==o&&r.push(o)}return r},exports.objectNotFound=S,exports.objectsDir=An,exports.parseAdvertisedRefs=async(t,e)=>{const n=t[Symbol.asyncIterator]();try{await(async(t,e)=>{const n=await t.next();if(n.done||"data"!==n.value.kind)throw Kt(e,"");const r=me(le.decode(n.value.payload)),o=we.exec(`${r}\n`),s=o?.groups?.service;if(void 0===s)throw Kt(e,r);if(s!==e)throw Kt(e,s);const i=await t.next();if(i.done||"flush"!==i.value.kind)throw Kt(e,s)})(n,e);const{capabilities:t,refs:r}=await(async t=>{const e={refs:[],byName:new Map};let n,r=await t.next();for(;!r.done&&"data"===r.value.kind;){if(e.refs.length>=ge)throw Xt(e.refs.length+1,ge);const o=me(le.decode(r.value.payload));n=be(e,n,o),r=await t.next()}return{capabilities:n??[],refs:e.refs}})(n),o=((t,e)=>{const n=e.find(t=>"HEAD"===t.name);if(n)return n;const r=t.find(t=>t.startsWith("symref=HEAD:"));if(!r)return;const o=r.slice(12),s=e.find(t=>t.name===o);return s?{name:"HEAD",id:s.id}:void 0})(t,r);return o?{capabilities:t,refs:r,head:o}:{capabilities:t,refs:r}}finally{await(n.return?.())}},exports.parseIniSections=Bn,exports.parseSideBand=ue,exports.parseSparseCheckout=Qe,exports.qualifyKey=(t,e)=>{const n=t.section.toLowerCase(),r=e.toLowerCase();return void 0===t.subsection?`${n}.${r}`:`${n}.${t.subsection}.${r}`},exports.readBlob=Jr,exports.readConfig=Pn,exports.readConfigSections=Os,exports.readHeadRaw=async e=>{const n=`${e.layout.gitDir}/HEAD`;let r;try{r=await e.fs.readUtf8(n)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)throw Me(mr);throw e}const o=Ve(r);return"symbolic"===o.type?{kind:"symbolic",target:o.target}:{kind:"direct",id:o.target}},exports.readIndex=async function(t){const e=On(t.layout.gitDir);if(!await t.fs.exists(e))return{version:2,entries:[],extensions:[],trailerSha:new Uint8Array(0)};if(Nr((await t.fs.stat(e)).size))throw a(_r);const n=await t.fs.read(e);if(Nr(n.length))throw a(_r);const r=t.hashConfig.digestLength;if(n.length<r)throw a("file is shorter than the hash trailer");const o=n.subarray(0,n.length-r),s=l(n.subarray(n.length-r));if(await t.hash.hashHex(o)!==s)throw a("index trailer checksum mismatch");return function(t){if(t.length<12)throw a("truncated header");const e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1145655875!==e.getUint32(0))throw a("invalid signature: expected DIRC");const n=e.getUint32(4);if(2!==n&&3!==n)throw a(`unsupported version: ${n}`);const r=e.getUint32(8);if(62*r>t.length-12-20)throw a(`entry count ${r} exceeds file capacity`);let o=12;const s=[];for(let i=0;i<r;i++){const r=o;if(o+62>t.length-20)throw c(o,"truncated entry");const i=e.getUint32(o),a=e.getUint32(o+4),d=e.getUint32(o+8),f=e.getUint32(o+12),u=e.getUint32(o+16),h=e.getUint32(o+20),p=e.getUint32(o+24),w=e.getUint32(o+28),g=e.getUint32(o+32),m=e.getUint32(o+36),y=l(t.subarray(o+40,o+60)),x=e.getUint16(o+60),{flags:b,extendedSize:E}=wt(e,o,n,t.length),k=X(p.toString(8));o+=62+E;const T=gt(t,o);if(-1===T)throw c(r,"missing NUL terminator");const $=4095&x,D=v(t.subarray(o,4095===$?T:o+$));pt(D,r),o=T+1,o=r+(o-r+7&-8),s.push({ctimeSeconds:i,ctimeNanoseconds:a,mtimeSeconds:d,mtimeNanoseconds:f,dev:u,ino:h,mode:k,uid:w,gid:g,fileSize:m,id:y,flags:b,path:V.from(D)})}const i=function(t,e,n){const r=[],o=t.length-20;for(;e+8<=o;){const s=v(t.subarray(e,e+4)),i=n.getUint32(e+4);if(e+8+i>o)throw c(e,"extension size exceeds remaining bytes");const a=s.charCodeAt(0);if(a>=97&&a<=122){const t=s.replace(/[^\x20-\x7e]/g,"?");throw c(e,`mandatory extension '${t}' not supported`)}const d=t.slice(e+8,e+8+i);r.push({signature:s,data:d}),e+=8+i}return r}(t,o,e);return{version:n,entries:s,extensions:i,trailerSha:t.slice(t.length-20)}}(n)},exports.readObject=Xr,exports.readReflog=async function(t,e){const n=Ln(t.layout.gitDir,e);if(!await t.fs.exists(n))return[];if((await t.fs.stat(n)).size>16777216)throw Le("reflog file exceeds 16777216 bytes");return(await t.fs.readUtf8(n)).split("\n").filter(t=>""!==t).map(_e)},exports.readShallow=ws,exports.readSparsePatternText=go,exports.readTree=jo,exports.recordRefUpdate=hr,exports.refNotFound=Me,exports.reflogEntryOutOfRange=(e,n,r)=>new t.TsgitError({code:"REFLOG_ENTRY_OUT_OF_RANGE",ref:e,requested:n,available:r}),exports.reflogExists=fr,exports.reflogNotFound=e=>new t.TsgitError({code:"REFLOG_NOT_FOUND",ref:e}),exports.refspecInvalid=(e,n)=>new t.TsgitError({code:"REFSPEC_INVALID",raw:e,reason:n}),exports.remoteFilterUnsupported=()=>new t.TsgitError({code:"REMOTE_FILTER_UNSUPPORTED"}),exports.removeConfigSection=async({ctx:e,sectionName:n,scope:r})=>{const o=Xs(n),s=r??"local",i=await ks(e,s),a=await qs(e,i),c=Bn(a);if(!Js(c,o.section,o.subsection))throw t.configSectionNotFound(n,s);const d=zs(a,o.section,o.subsection);await e.fs.writeUtf8(i,d),Fn(e),$s(e)},exports.renameConfigSection=async({ctx:e,oldName:n,newName:r,scope:o})=>{const s=Xs(n),i=Xs(r);if(s.section.toLowerCase()!==i.section.toLowerCase())throw t.invalidOption("config",`cannot rename across section families: ${s.section} → ${i.section}`);const a=o??"local",c=await ks(e,a),d=await qs(e,c),f=Bn(d);if(!Js(f,s.section,s.subsection))throw t.configSectionNotFound(n,a);const u=Hs(d,s.section,s.subsection,i.subsection);await e.fs.writeUtf8(c,u),Fn(e),$s(e)},exports.resolveRef=Po,exports.resolveReflogIdentity=ir,exports.runHook=async(e,n,r={})=>{const o=e.hooks;if(void 0===o)return;const s=await Pn(e),i={name:n,hooksDir:Zs(s.core?.hooksPath,e.layout),workDir:e.layout.workDir,gitDir:e.layout.gitDir,args:r.args??[],stdin:r.stdin??"",...void 0!==e.signal?{signal:e.signal}:{}},a=await o.run(i);if("skipped"!==a.kind&&0!==a.exitCode)throw t.hookFailed(n,a.exitCode,a.stderr)},exports.sanitizeReflogMessage=Ue,exports.serializeCone=t=>{const e=[...t.parents,...t.recursive].sort();let n="";for(const r of e)n+=`/${r}/\n`,t.parents.has(r)&&(n+=`!/${r}/*/\n`);return"/*\n!/*/\n"+n},exports.setConfigEntry=async({ctx:e,key:n,value:r,scope:o})=>{const i=s(n);((e,n)=>{for(let r=0;r<n.length;r+=1){const o=n.charCodeAt(r);if(9!==o&&10!==o&&(o<32||127===o))throw t.configValueInvalid(e,r)}})(n,r);const a=o??"local";await(async(t,e)=>{const n=await ks(t,e),o=(s=await qs(t,n),js(s,i.section,i.subsection,i.name,r));var s;await t.fs.writeUtf8(n,o),Fn(t),$s(t)})(e,a)},exports.setConfigEntryInText=js,exports.setCoreConfigEntryInText=(t,e,n)=>js(t,"core",void 0,e,n),exports.skipWorktreeEntry=f,exports.sortByPath=kt,exports.sparseCheckoutPath=Sn,exports.synthesizeTreeFromIndex=async(t,e)=>Ho(t,(t=>{const e=[];for(const n of t)0===n.flags.stage&&(pt(n.path,-1),zo(n.path),e.push({path:n.path,id:n.id,mode:n.mode}));return e})(e)),exports.treeDepthExceeded=U,exports.unexpectedObjectType=_,exports.unsetAllConfigEntries=async({ctx:t,key:e,scope:n})=>{const r=s(e),o=n??"local",i=await ks(t,o),a=await qs(t,i),c=Bn(a);if(0===xs(c,r).length)return;const d=Bs(a,r.section,r.subsection,r.name);await t.fs.writeUtf8(i,d),Fn(t),$s(t)},exports.unsetConfigEntry=async({ctx:e,key:n,scope:r})=>{const o=s(n),i=r??"local",a=await ks(e,i),c=await qs(e,a),d=Bn(c),f=xs(d,o);if(0===f.length)return;if(f.length>1)throw t.configMultipleValues(n,f.length,"remove",i);const u=Bs(c,o.section,o.subsection,o.name);await e.fs.writeUtf8(a,u),Fn(e),$s(e)},exports.updateConfigEntries=Vs,exports.updateConfigOperations=async(t,e)=>{const n=`${t.layout.gitDir}/config`,r=await qs(t,n),o=e.reduce(Ks,r);await t.fs.writeUtf8(n,o),Fn(t)},exports.updateCoreConfig=async(t,e)=>{await Vs(t,Object.entries(e).map(([t,e])=>({section:"core",key:t,value:e})))},exports.updateRef=async function(e,n,r,o){He(n);const s=In(e.layout.gitDir,n),i=wr(e),a=await i.resolveDirect(n);if(void 0!==o.expected){const e="direct"===a.kind?a.id:"absent";if(o.expected!==e)throw((e,n,r)=>new t.TsgitError({code:"REF_UPDATE_CONFLICT",name:e,expected:n,actual:r}))(n,o.expected,e)}if(!0===o.delete)return await async function(e,n){if(await e.isLoose(n))return void await e.removeLoose(n);if("direct"===(await e.resolveDirect(n)).kind)throw t.unsupportedOperation("delete-packed-ref","deleting packed-only refs requires packed-refs rewrite");throw Me(n)}(i,n),void await ur(e,n);const c="direct"===a.kind?a.id:z,d=(new TextEncoder).encode(`${r}\n`);await _n(e,n,s,d),c!==r&&await hr(e,n,c,r,o.reflogMessage),await async function(t,e,n,r,o,s){const i=await e.resolveDirect(gr);"symbolic"===i.kind&&i.target===n&&await hr(t,gr,r,o,s)}(e,i,n,c,r,o.reflogMessage)},exports.updateShallow=async(t,e)=>{const n=new Set(await ws(t));for(const t of e.shallow)n.add(t);for(const t of e.unshallow)n.delete(t);const r=hs(t);if(0===n.size)return void await(async(t,e)=>{try{await t.fs.rm(e)}catch(t){if(ps(t))return;throw t}})(t,r);const o=[...n].sort(),s=(new TextEncoder).encode(o.map(t=>`${t}\n`).join(""));await(async(t,e,n)=>{const r=(t=>`${t.layout.gitDir}/shallow.lock`)(t);await t.fs.writeExclusive(r,n);try{await t.fs.rename(r,e)}catch(e){try{await t.fs.rm(r)}catch(t){if(!ps(t))throw t}throw e}})(t,r,s)},exports.validateIndexPath=pt,exports.validateRefName=He,exports.validateWorkingTreePath=bo,exports.walkCommits=Ko,exports.walkSubmodules=async function*(t,e){const n=e?.ref??li,r=!0===e?.recursive,o=e?.maxDepth??100,s=await jo(t,n),i=new Set([t.layout.gitDir]);yield*pi(t,s,0,void 0,"",i,r,o)},exports.walkTree=ao,exports.walkWorkingTree=async function*(t,e){const n={ctx:t,maxDepth:e?.maxDepth??4096,maxEntries:e?.maxEntries??i,ignore:e?.ignore};yield*Do(n,{value:0},"",0,!0)},exports.writeObject=So,exports.writeReflog=async function(t,e,n){const r=n.map(Ce).join("");await t.fs.writeUtf8(Ln(t.layout.gitDir,e),r)},exports.writeSparsePatternText=async(t,e)=>{await t.fs.mkdir(`${t.layout.gitDir}/info`),await t.fs.writeUtf8(Sn(t.layout.gitDir),e)},exports.writeSymbolicRef=async(t,e,n)=>{const r=He(e),o=He(n),s=In(t.layout.gitDir,r),i=Fo.encode(function(t){return`ref: ${t}\n`}(o));await _n(t,r,s,i)},exports.writeTree=Bo;
2
+ //# sourceMappingURL=walk-submodules-D2Sp7JEB.cjs.map