@scolladon/tsgit 1.3.0 → 2.0.1

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 +3 -2
  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-C2Hsdobk.d.ts → reflog-entry-BbNnXCTC.d.cts} +17 -3
  84. package/dist/types/chunks/{reflog-entry-DNvSz7S5.d.cts → reflog-entry-CSzjnZd4.d.ts} +17 -3
  85. package/dist/types/chunks/{repository-DCR_3RVt.d.cts → repository-BeifCqp0.d.cts} +48 -8
  86. package/dist/types/chunks/{repository-DFxFeYi3.d.ts → repository-FoS_Laoy.d.ts} +48 -8
  87. package/dist/types/chunks/{write-tree-CuhpWKFo.d.cts → write-tree-C3oNxOlX.d.cts} +78 -46
  88. package/dist/types/chunks/{write-tree-Dn1LtIh7.d.ts → write-tree-DRI-LzSr.d.ts} +78 -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 +260 -12
  100. package/dist/types/primitives/index.d.ts +260 -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 +25 -18
  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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BjmofbKE.js","sources":["../../../src/domain/git-index/error.ts","../../../src/domain/git-index/index-entry.ts","../../../src/domain/objects/encoding.ts","../../../src/domain/objects/error.ts","../../../src/domain/objects/author-identity.ts","../../../src/domain/objects/object-id.ts","../../../src/domain/objects/commit.ts","../../../src/domain/objects/file-mode.ts","../../../src/domain/objects/header.ts","../../../src/domain/objects/tag.ts","../../../src/domain/objects/tree.ts","../../../src/domain/objects/git-object.ts","../../../src/domain/objects/blob.ts","../../../src/domain/objects/size.ts","../../../src/domain/git-index/path-validator.ts","../../../src/domain/git-index/index-parser.ts","../../../src/domain/git-index/index-writer.ts","../../../src/domain/diff/flat-tree.ts","../../../src/domain/diff/change-path.ts","../../../src/domain/diff/mode-kind.ts","../../../src/domain/diff/path-compare.ts","../../../src/domain/diff/rename-detect.ts","../../../src/domain/diff/tree-diff.ts","../../../src/domain/pathspec/compile-glob.ts","../../../src/domain/ignore/parse-gitignore.ts","../../../src/domain/protocol/capabilities.ts","../../../src/domain/protocol/error.ts","../../../src/domain/protocol/pkt-line.ts","../../../src/domain/protocol/side-band.ts","../../../src/domain/protocol/upload-pack.ts","../../../src/domain/reflog/error.ts","../../../src/domain/reflog/reflog-format.ts","../../../src/domain/reflog/should-log.ts","../../../src/domain/refs/error.ts","../../../src/domain/refs/ref-validation.ts","../../../src/domain/refs/loose-ref.ts","../../../src/domain/sparse/cone.ts","../../../src/domain/sparse/non-cone.ts","../../../src/domain/sparse/parse-sparse-checkout.ts","../../../src/domain/storage/crc32.ts","../../../src/domain/storage/error.ts","../../../src/domain/storage/delta.ts","../../../src/domain/storage/pack-entry.ts","../../../src/domain/storage/pack-index.ts","../../../src/domain/storage/pack-writer.ts","../../../src/application/primitives/path-layout.ts","../../../src/domain/storage/loose-path.ts","../../../src/application/primitives/types.ts","../../../src/application/primitives/validators.ts","../../../src/application/primitives/read-index.ts","../../../src/domain/working-tree-path.ts","../../../src/application/primitives/walk-working-tree.ts","../../../src/application/primitives/write-object.ts","../../../src/application/primitives/config-read.ts","../../../src/application/primitives/reflog-store.ts","../../../src/application/primitives/object-resolver.ts","../../../src/application/primitives/pack-registry.ts","../../../src/application/primitives/read-object.ts","../../../src/application/primitives/ref-store.ts","../../../src/domain/refs/packed-refs.ts","../../../src/application/primitives/resolve-ref.ts","../../../src/application/primitives/atomic-write.ts","../../../src/application/primitives/reflog-identity.ts","../../../src/application/primitives/record-ref-update.ts","../../../src/application/primitives/update-ref.ts","../../../src/application/primitives/write-symbolic-ref.ts","../../../src/application/primitives/cat-file-batch.ts","../../../src/application/primitives/read-blob.ts","../../../src/application/primitives/apply-changeset.ts","../../../src/application/primitives/compute-changeset.ts","../../../src/application/primitives/walk-tree.ts","../../../src/application/primitives/materialize-tree.ts","../../../src/application/primitives/read-sparse-checkout.ts","../../../src/application/primitives/read-tree.ts","../../../src/application/primitives/write-tree.ts","../../../src/application/primitives/synthesize-tree-from-index.ts","../../../src/application/primitives/fetch-pack.ts","../../../src/application/primitives/shallow-file.ts","../../../src/application/primitives/update-config.ts","../../../src/application/primitives/create-commit.ts","../../../src/application/primitives/run-hook.ts","../../../src/application/primitives/diff-trees.ts","../../../src/application/primitives/walk-commits.ts","../../../src/application/primitives/merge-base.ts","../../../src/application/primitives/build-pack.ts","../../../src/application/primitives/enumerate-push-objects.ts","../../../src/application/primitives/enumerate-refs.ts","../../../src/application/primitives/build-index-from-tree.ts","../../../src/application/primitives/write-sparse-checkout.ts","../../../src/application/primitives/walk-submodules.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["invalidIndexHeader","reason","TsgitError","code","invalidIndexEntry","offset","STAGE0_FLAGS","assumeValid","stage","skipWorktree","intentToAdd","skipWorktreeEntry","entry","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","mode","uid","gid","fileSize","id","flags","path","HEX_TABLE","Array","from","length","_","i","toString","padStart","bytesToHex","bytes","parts","join","hexToBytes","hex","Error","Uint8Array","high","parseHexDigit","charCodeAt","low","charCode","compareBytes","a","b","len","Math","min","indexOf","target","fromIndex","textEncoder","TextEncoder","textDecoder","TextDecoder","encode","str","decode","splitHeaderAndMessage","text","blankIndex","headerPart","message","slice","formatContinuationHeader","key","value","includes","valueParts","split","map","line","parseHeaderLine","spaceIdx","parseOptionalHeaderBlock","lines","startIndex","onInvalidKey","onDuplicateGpgsig","gpgSignature","extraHeaders","firstValue","endIdx","j","nextLine","startsWith","push","undefined","invalidObjectId","invalidObjectHeader","invalidTreeEntry","invalidCommit","invalidTag","invalidIdentity","objectNotFound","objectHashMismatch","expected","actual","unexpectedObjectType","treeDepthExceeded","depth","treeEntryLimitExceeded","count","limit","objectTooLarge","actualSize","parseIdentity","lastClose","lastIndexOf","lastOpen","rawName","name","endsWith","email","trim","timestamp","Number","isSafeInteger","timezoneOffset","test","CONTROL_CHARS","serializeIdentity","identity","SHA1_HEX_RE","SHA256_HEX_RE","ObjectId","fromRaw","ZERO_OID","RefName","FilePath","serializeCommitContent","commit","data","tree","parent","parents","author","committer","header","FILE_MODE","REGULAR","EXECUTABLE","SYMLINK","DIRECTORY","GITLINK","VALID_MODES","Set","Object","values","NORMALIZE_MAP","Map","normalizeFileMode","has","validateFileMode","get","isDirectory","VALID_TYPES","parseHeader","rawBytes","nullIndex","headerStr","subarray","spaceIndex","type","sizeStr","size","isFinite","String","contentOffset","VALID_OBJECT_TYPES","serializeTagContent","tag","object","objectType","tagName","tagger","serializeTreeContent","hash","encoded","sortTreeEntries","entries","totalLength","reduce","sum","e","digestLength","result","set","decorated","sortKey","encodeEntryName","sort","d","treeEntryCompare","isDir","nameBytes","parseObject","content","parseBlobContent","names","modeStr","hashStart","hashEnd","rawHash","entryId","ObjectIdFactory","add","parseTreeContent","nextIndex","parseRequiredFields","msg","parseOptionalHeaders","parseCommitContent","requiredEnd","objectTypeStr","parseRequiredTagFields","parseTaggerField","parseTagOptionalHeaders","parseTagContent","serializeObject","contentBytes","payloadByteLength","byteLength","UNSAFE_SEGMENTS","BIDI_CONTROLS","reasonFor","segment","isControlChar","validateIndexPath","unsafeReason","decodeEntryFlags","view","version","flagsRaw","getUint16","extended","extendedSize","raw","extRaw","findNul","compareEntryPath","left","right","serializeIndex","index","sortedEntries","entryMetas","pathBytes","paddedLength","extensionMetas","extensions","ext","sigBytes","signature","totalSize","m","DataView","buffer","some","setUint32","writeEntry","buf","parseInt","shaBytes","nameLength","setUint16","MAX_FLAT_TREE_ENTRIES","primaryPath","change","newPath","oldPath","kindOf","isSameKind","pathEncoder","comparePaths","sortByPath","items","pathOf","item","tryFoldAdd","deletesByOldId","matches","newId","del","rename","newMode","consumedDelete","addFrom","deleteFrom","oldId","oldMode","classifySamePath","oldEntry","newEntry","entriesOf","PREFIX_TOKEN","kind","scanToken","pattern","ch","token","next","after","scanStar","char","stepToken","cur","stepLiteral","stepSingle","stepStar","stepStarStar","seg","stepStarSlash","compileGlob","options","tokens","scanned","tokenize","dp","withDirSuffix","baseLayer","anchored","matchTokens","containsGlob","stripTrailingSpaces","end","unescapePattern","s","replace","tokenizeIgnoreLine","rawLine","trimmed","negated","afterNegation","directoryOnly","withoutTrailingSlash","stripped","cleanPattern","parseGitignore","out","tokenized","compiled","AGENT","CLIENT_CAPABILITIES_FETCH","CLIENT_CAPABILITIES_PUSH","keyOf","eq","negotiateCapabilities","serverCaps","clientCaps","serverByKey","t","c","k","serverValue","pktLengthReserved","pktTooLarge","invalidBaseUrl","missingServiceHeader","invalidRefLine","invalidSidebandChannel","channel","sidebandFatal","invalidReportStatus","emptyReceiveUpdates","refspecInvalid","tooManyAdvertisedRefs","invalidFilterSpec","spec","remoteFilterUnsupported","ENCODER","DECODER","fatal","HEX_LENGTH_RE","ACC_CAPACITY","MAX_PKT_LINE_PAYLOAD","FLUSH_PKT","lengthPrefix","encodePktStream","payloads","total","p","RangeError","off","parseLength","acc","decodePktStream","source","Symbol","asyncIterator","async","PktBuffer","chunk","accept","drain","used","remaining","classify","available","v2","consume","this","headerNeeded","max","headerSlice","drop","copyWithin","to","decision","payload","TEXT_DECODER","safeInvoke","cb","parseSideBand","pkt","body","onError","onProgress","demux","TEXT_ENCODER","SHA_ANY_RE","SERVICE_LINE_RE","MAX_ADVERTISED_REFS","buildDiscoveryUrl","baseUrl","service","parsed","URL","pathname","protocol","host","search","stripTrailingNewline","validateOidString","splitRef","space","appendNewRef","byName","duplicateRef","refs","handleRefLine","capabilities","nul","head","tail","splitFirstRef","dedupeByKey","filter","PEELED_SUFFIX","peeled","baseIdx","applyPeeled","parseAdvertisedRefs","expectedService","iter","first","done","match","exec","groups","sep","consumeServiceHeader","collectRefs","directHead","find","r","symref","targetRef","findHead","return","haveLine","oid","DONE_FRAME","encodePktLine","parseAckLine","status","SHALLOW_PREFIX","UNSHALLOW_PREFIX","parseShallowOid","prefix","tryConsumeShallowLine","state","shallow","unshallow","pushbackBuffer","WeakMap","invalidReflogEntry","reflogNotFound","ref","reflogEntryOutOfRange","requested","serializeReflogLine","parseReflogLine","tab","meta","NEW_ID_START","parseOid","OID_LENGTH","parseReflogIdentity","NEW_ID_END","sanitizeReflogMessage","DEFAULT_LOGGABLE_PREFIXES","invalidRef","invalidPackedRefs","refNotFound","refChainTooDeep","chain","refCycleDetected","FORBIDDEN_SIMPLE","validateRefName","throwIfBadChars","components","component","parseLooseRef","SYMBOLIC_PREFIX","properAncestors","dir","segments","ancestors","normalizeConeDir","posix","rejectBadSegment","shown","invalidOption","buildConeSpec","dirs","recursive","ancestor","serializeCone","all","parseConeDirLine","inner","compileSparseRule","last","isRecursive","matcher","PATTERN_ENCODER","parseNonCone","rules","parseSparseCheckout","coneRequested","cone","parseCone","degraded","buildSparseMatcher","slash","dirname","coneMatcher","included","rule","CRC32_TABLE","table","Uint32Array","buildCrc32Table","crc32","invalidPackHeader","invalidPackIndex","invalidPackEntry","invalidDelta","deltaChainTooDeep","readVariableLengthInt","shift","pos","bytesRead","byte","nextOffset","decodeCopyFields","cmd","needed","countCopyFieldBytes","currentPos","nextPos","validateCopyBounds","baseLen","resultPos","targetLen","applyInsert","delta","targetLength","nextResultPos","applyDelta","base","sourceLength","o1","o2","validateDeltaHeader","applied","PACK_MAGIC","parsePackEntryHeader","firstByte","extensionBytes","decodeTypeAndSize","validateEntryType","distance","entryOffset","continuationCount","decodeOfsDistance","dataOffset","baseDistance","endPos","baseId","encodePackEntryHeader","nextByte","IDX_SHA_TABLE_OFFSET","readFanout","_view","getUint32","compareShaAtIndex","targetBytes","_bytes","readOffset","smallOffsetsTableOffset","largeIdx","largeOffset","largeOffsetsTableOffset","trailerOffset","lookupPackIndex","mid","cmp","concat","concatAll","arrays","arr","getRepoRoot","ctx","layout","workDir","looseObjectPath","gitDir","computeLooseObjectPath","looseRefPath","indexPath","reflogPath","sparseCheckoutPath","lockSuffix","MAX_WALK_SEEDS","MAX_WORKING_TREE_BLOB_BYTES","MAX_GITIGNORE_BYTES","MAX_HAVES","hasHeaderInjectionChars","isInvalidExtraHeaderKey","REASON_INDEX_EXCEEDS_MAX","REASON_PACK_IDX_EXCEEDS_MAX","exceedsMaxIndexBytes","exceedsMaxPackIdxBytes","exceedsMaxSymbolicDepth","cap","exceedsMaxPeelDepth","isGitlink","exceedsMaxTreeEntries","OBJECT_ID_SHA1_RE","OBJECT_ID_SHA256_RE","looksLikeObjectId","readIndex","fs","exists","stat","read","trailerSize","hashConfig","trailer","hashHex","byteOffset","entryCount","entryStart","rawMode","nulEnd","FilePathFactory","extensionEnd","firstChar","safe","parseExtensions","parseIndex","PATH_ENCODER","GIT_FORBIDDEN","validateWorkingTreePath","input","reject","rejectComponent","isForbiddenGitComponent","lowered","toLowerCase","pathspecOutsideRepo","original","walkWorkingTree","config","maxDepth","maxEntries","ignore","walkInternal","counter","isRoot","readdir","directoryPath","isEmbeddedGitMarker","signal","aborted","operationAborted","visitEntry","joinPath","isSymbolicLink","isFile","lstat","writeObject","computed","declaredId","mkdir","objectsDir","compressed","compressor","deflate","writeExclusive","error","isFileExists","cache","readConfig","existing","pending","loadConfig","invalidateConfigCache","delete","readRawConfig","parseConfigText","readUtf8","err","sections","parseIniSections","assembleParsed","current","joinContinuations","stripInlineComment","parseSectionHeader","section","subsection","kv","parseKeyValue","piece","cuts","indexOfUnquoted","n","inQuotes","quoteAt","sectionPart","lastQuote","eqAt","dispatchSection","sec","mergeCore","mergeUser","mergeRemote","mergeBranch","mergeExtensions","finalize","core","bare","parseGitBoolean","excludesFile","logAllRefUpdates","parseLogAllRefUpdates","hooksPath","sparseCheckout","sparseCheckoutCone","user","remote","fetch","url","promisor","partialCloneFilter","merged","branch","merge","partialClone","finalizeCore","TRUE_VALUES","appendReflog","appendUtf8","readReflog","reflogExists","writeReflog","writeUtf8","deleteReflog","rm","listReflogs","root","collectReflogs","rel","resolveObject","registry","verifyHash","maxBytes","checkAborted","loose","inflate","tryLoose","inflated","enforceLooseCap","hit","lookup","targetId","phase1","deltas","currentHit","headerEndInChunk","readEntryHeaderWithChunk","isBase","enforcePackBaseCap","baseContent","streamInflate","output","baseType","instructions","enforcePackDeltaPreApplyCap","resolvedBaseId","pack","refDeltaBaseId","resolveBaseForRefDelta","collectDeltaChain","step","fullBytes","typeName","packTypeName","headerBytes","prependHeader","cacheEntry","deltaCache","resolvePackChain","declaredSize","declaredTargetSize","readDeltaTargetSize","h","readSlice","packPath","cached","nulIdx","enforceCachedCap","splitHeader","sourceId","typeNameToPackType","isCandidate","loadPack","entryName","idxPath","idxBytes","readBoundedIdx","IDX_HEADER_SIZE","magic","prev","validateFanoutMonotonicity","objectCount","crc32TableOffset","minExpectedSize","parsePackIndex","createPackRegistry","loadAll","packs","refresh","registryCache","inflightCache","readObject","getPackRegistry","isObjectNotFound","inflight","getInflight","then","outcome","attempted","lazyFetchOnce","storeCache","getRefStore","store","packedCache","loadPackedRefs","peeling","sorted","mtimeMs","mtimeKey","firstLine","traitStr","HEADER_PREFIX","traits","hasPeeled","lastIndex","sha","RefNameFactory","parseEntries","parsePackedRefs","readLooseContent","resolveDirect","looseContent","packed","writeLoose","serializeDirectRef","removeLoose","getPackedRefs","createRefStore","resolveRef","maxSymbolicDepth","maxPeelDepth","peel","refStore","initial","resolveDirectChain","startId","peelChain","atomicWriteRef","refName","refPath","lockPath","rmError","isFileNotFound","resolveReflogIdentity","floor","Date","now","recordRefUpdate","cfg","isDefaultLoggable","shouldAutocreateReflog","isLoggable","HEAD","updateRef","refUpdateConflict","isLoose","unsupportedOperation","deleteRef","reflogMessage","logCoupledHead","writeSymbolicRef","validatedName","validatedTarget","serializeSymbolicRef","throwIfAborted","readOne","readOptions","ok","buildOkEntry","buildMissingEntry","catFileBatch","ids","readBlob","decoder","workdir","isWorkingTreeDirty","absPath","expectedId","combined","blobMatches","evaluateDirtyPath","previousId","isUntrackedClash","writeFileEntry","symlink","write","chmod","applyEntry","blob","relPath","ctimeMs","ctimeNs","mtimeNs","buildIndexEntry","applyChangeset","opts","changeset","force","dirty","offending","checkDirty","checkoutOverwriteDirty","writtenEntries","written","deleted","indexEntry","progress","update","stats","targetEntry","previousMode","computeChangeset","currentIndex","targetTree","indexByPath","projectIndex","targetByPath","projectTarget","allPaths","keys","noop","walkTree","treeIdOrObject","rootTree","obj","resolveTree","stack","exceedsMaxTreeDepth","descentStack","shouldRecurse","subtreeObj","filterByPaths","paths","pickEntry","writtenByPath","oldByPath","tallyStats","materializeTree","allTarget","treeId","collected","collectTargetEntries","plan","indexForDiff","excluded","sparse","planMaterialize","rawChangeset","forceRewriteAll","upgradeNoopsToUpdates","inScope","scopedPaths","writtenEntriesByPath","indexEntriesByPath","preserveOutOfScope","picked","mergeNewIndexEntries","newIndexEntries","MAX_SPARSE_PATTERN_FILE_BYTES","readSparsePatternText","sparsePatternFileTooLarge","loadSparseMatcher","logger","warn","readTree","currentId","writeTree","assertDepthBounded","slashCount","synthesizeLevel","files","subdirs","slashIndex","rest","bucket","sub","groupByPrefix","treeEntries","file","subEntries","subId","synthesizeTreeFromIndex","stage0Entries","SIDE_BAND_CAPS","fetchPack","transport","start","progressOp","download","downloadPack","packBytes","packSha","verifyPackTrailer","walkPackEntries","buildIdx","writePackArtifacts","requestBody","req","wants","wantPayloads","forEach","w","idx","caps","wantLine","wantStream","haveStream","haves","buildUploadPackRequest","uploadUrl","buildUploadPackUrl","response","request","method","headers","statusCode","httpError","pktSource","readableStreamToAsyncIterable","shallowUpdates","expectShallow","parseShallowResponse","acks","nak","buffered","splitMeta","packBody","replayed","replay","sideBand","sbOptions","rawPackBytes","packBodyStream","parseUploadPackResponse","hasSideBand","sanitize","drainPackBodyBounded","maxResponseBytes","chunks","lastTick","packTooLargeBytes","trailerLen","bodyEnd","trailerBytes","expectedHex","actualHex","inflateAllEntries","resolveAllEntries","parsePackHeader","objectCountCap","maxObjectsPerPack","trailerStart","entryHeader","entryEnd","bytesConsumed","entryCrc","byOffset","byId","unresolved","resolved","tryResolveEntry","firstUnresolvedError","refBaseId","isBaseHeader","baseTypeName","computeLooseObjectId","baseOffset","resolveDelta","refBase","packChecksum","withBytes","largeCount","shaTableSize","crcTableSize","offsetTableSize","headerSize","bucketCounts","fanout","cumulative","fanoutOffset","crcStart","offsetStart","largeOffsetStart","serializePackIndex","idxTrailerBytes","packDir","shallowPath","readShallow","isShallowOid","OID","updateShallow","updates","deleteIfPresent","atomicWrite","shallowLockPath","rmErr","matchesSection","isSectionHeader","isKeyLine","renderEntry","rejectControlChars","field","setConfigEntry","rejectSection","rejectSubsection","headerIndex","findSectionHeader","renderSectionHeader","keyIndex","findKeyInSection","at","replacement","replaceLine","insertAfter","setCoreConfigEntry","updateConfigEntries","readConfigText","updated","updateCoreConfig","createCommit","resolveHooksDir","fallback","homeDir","runHook","runner","hooks","hooksDir","args","stdin","run","exitCode","hookFailed","stderr","diffTrees","treeA","treeB","Promise","resolveInput","oldTree","newTree","oldEntries","newEntries","changes","domainDiffTrees","detectRenames","diff","maxSameIdDeletes","adds","deletes","other","partition","byOldId","list","pruned","buildDeletesByOldId","consumedDeletes","renames","unfoldedAdds","fold","unfoldedDeletes","renameOptions","walkCommits","invalidWalkInput","exceedsMaxWalkSeeds","validateOptions","order","ignoreMissing","queue","visited","missing","until","pickNext","fetchCommit","enqueueParents","_order","advanceFrontier","frontier","intersection","mergeBase","visitedA","visitedB","frontierA","frontierB","stepA","stepB","buildPack","writerEntries","oids","encodeEntry","packfile","serializePackHeader","metas","currentOffset","entryBytes","uncompressedSize","compressedData","serializePackfile","packEntryTypeFor","tryEmit","emitted","enumeratePushObjects","maxObjects","commitSeeds","seeds","want","seed","resolveTagChain","collectCommitSeeds","walkCommitClosure","recordTag","enumerateRefs","walkLooseRefs","collectLooseRefs","includedFlags","donorFlags","byPath","buildIndexFromTree","donors","donorByPath","leaves","collectLeaves","leaf","donor","zeroStatEntry","projectLeaf","writeSparsePatternText","HEAD_REF","walkSubmodules","walkInTree","pathPrefix","rows","readGitmodules","fullPath","row","buildEntry","childCtx","deriveChildContext","childTree","tryReadTree","nextVisited","treeRelPath","reduceSection","mergeKey","isUnsafeSubmoduleName","DRIVE_LETTER_PREFIX","hasControlChar","_promisor","_hooks","freeze","cwd","commitId"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{T as t,o as e,C as a,g as r,D as n,s,l as i,S as o,B as c,d,f,e as u,r as l,t as h,R as w,c as m,P as p,H as y,b as g,k as v,A as b,v as k,I as $,x as E,Q as D,y as x,G as I,L as M,K as S,N as A,O as L}from"./error-MOmSzp9Z.js";import{o as N,S as O,r as U,p as T,as as _,M as R,N as C,F as H,J as F,x as W,y as P,K as B,a6 as z,b as j,a1 as q,U as G,H as V,ao as Y,ae as X,a2 as K,R as Z,aC as J,aG as Q,a7 as tt,f as et,aH as at,ak as rt,aB as nt,az as st,Z as it,a9 as ot,aI as ct,aK as dt,n as ft,O as ut,ac as lt,T as ht,X as wt,ad as mt,aF as pt,au as yt,j as gt,a0 as vt,u as bt,_ as kt,A as $t,C as Et,aj as Dt,D as xt,aA as It,ax as Mt,am as St,s as At,a8 as Lt,aL as Nt,w as Ot,c as Ut,e as Tt,aD as _t,E as Rt,W as Ct,t as Ht,Y as Ft,aw as Wt,ar as Pt,av as Bt,a5 as zt,a as jt,ai as qt,l as Gt,z as Vt,I as Yt,a3 as Xt,ag as Kt,ah as Zt,af as Jt,Q as Qt,B as te,k as ee,$ as ae,h as re,P as ne,ab as se,a4 as ie,ay as oe,i as ce,an as de,aJ as fe,m as ue,aE as le,V as he}from"./index-BjmofbKE.js";import{withRetry as we,withAuth as me,withLogging as pe}from"../transport/index.js";import{r as ye}from"./readable-stream-CGuf8k1J.js";const ge=e=>new t({code:"INVALID_DIFF_INPUT",reason:e});function ve(t){const e=[];return void 0!==t.baseId&&void 0!==t.baseMode&&e.push({id:t.baseId,mode:t.baseMode,stage:1}),void 0!==t.ourId&&void 0!==t.ourMode&&e.push({id:t.ourId,mode:t.ourMode,stage:2}),void 0!==t.theirId&&void 0!==t.theirMode&&e.push({id:t.theirId,mode:t.theirMode,stage:3}),e}function be(t,e,a){const r=a(e.mode);return{ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:e.mode,uid:r.uid,gid:r.gid,fileSize:r.fileSize,id:e.id,flags:{...O,stage:e.stage},path:t}}const ke=1e5;function $e(t){const e=[];let a=0;for(let r=0;r<t.length;r++)10===t[r]&&(e.push(t.subarray(a,r+1)),a=r+1);return a<t.length&&e.push(t.subarray(a)),e}function Ee(t){return function(t){const e=Math.min(t.length,8e3);for(let a=0;a<e;a++)if(0===t[a])return!0;return!1}(t)||function(t){let e=0,a=0;for(let r=0;r<t.length;r++){if(e++,e>=65536)return!0;if(10===t[r]){if(a++,a>=ke)return!0;e=0}}return e>0&&(a++,a>=ke)}(t)}function De(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!==e[a])return!1;return!0}function xe(t,e,a,r){return r===-a||t[r-1+e]<t[r+1+e]}function Ie(t,e,a,r,n,s){let i=xe(a,r,n,s)?a[s+1+r]:a[s-1+r]+1,o=i-s;for(;i<t.length&&o<e.length&&De(t[i],e[o]);)i++,o++;return{x:i,y:o}}function Me(t){const e=[];let a=0,r=0,n=0;for(;n<t.length;){const s=t[n],i=a,o=r;for(;t[n]===s;)"equal"===s?(a++,r++):"delete"===s?a++:r++,n++;e.push({kind:"equal"===s?"common":"delete"===s?"ours-only":"theirs-only",oursStart:i,oursEnd:a,theirsStart:o,theirsEnd:r})}return e}function Se(t,e){const a=$e(t),r=$e(e),n=a.length,s=r.length;if(0===n&&0===s)return{hunks:[{kind:"common",oursStart:0,oursEnd:0,theirsStart:0,theirsEnd:0}],oursLines:a,theirsLines:r,degraded:!1};const i=function(t,e){const a=t.length,r=e.length;if(a+r>5e4)return;const n=a+r,s=n,i=new Array(2*n+1).fill(0),o=[],c=1e3*n;let d=0;for(let n=0;;n++){const f=2*n+1,u=new Array(f);for(let t=0;t<f;t++)u[t]=i[s-n+t];o.push(u);for(let f=-n;f<=n;f+=2){if(d++,d>c)return;const u=Ie(t,e,i,s,n,f);if(i[f+s]=u.x,u.x>=a&&u.y>=r)return{trace:o,totalD:n}}}}(a,r);return void 0===i?function(t,e){const a=[];return t.length>0&&a.push({kind:"ours-only",oursStart:0,oursEnd:t.length,theirsStart:0,theirsEnd:0}),e.length>0&&a.push({kind:"theirs-only",oursStart:t.length,oursEnd:t.length,theirsStart:0,theirsEnd:e.length}),{hunks:a,oursLines:t,theirsLines:e,degraded:!0}}(a,r):{hunks:Me(function(t,e,a){const r=[];let n=t,s=e;for(let t=a.length-1;t>0;t--){const e=a[t],i=t,o=n-s,c=xe(e,i,t,o)?o+1:o-1,d=e[c+i],f=d-c;for(;n>d&&s>f;)r.push("equal"),n--,s--;r.push(n===d?"insert":"delete"),n===d?s--:n--}for(;n>0;)r.push("equal"),n--;return r.reverse(),r}(n,s,i.trace)),oursLines:a,theirsLines:r,degraded:!1}}const Ae=(t,e,a)=>{let r="unset";for(const n of t)n.directoryOnly&&!a||n.compiled.test(e)&&(r=n.negated?"unignored":"ignored");return r},Le=(t,e)=>{if(""===e)return t;const a=`${e}/`;return t.startsWith(a)?t.slice(a.length):void 0},Ne=t=>{const e=t.startsWith("!"),a=e?t.slice(1):t;return U(a)?{pattern:t,body:a,negated:e,isLiteral:!1,compiled:T(a,{anchored:a.includes("/")})}:{pattern:t,body:a,negated:e,isLiteral:!0,compiled:T(a,{anchored:!0,withDirSuffix:!0})}},Oe=(t,e)=>{let a=!1;for(const r of t)r.compiled.test(e)&&(a=!r.negated);return a},Ue=e=>new t({code:"INVALID_MERGE_TREE",reason:e}),Te=e=>new t({code:"INVALID_MERGE_INPUT",reason:e}),_e=268435456,Re=["<<<<<<<","=======",">>>>>>>","|||||||"],Ce=new TextEncoder;function He(t){return t<=31||t>=127&&t<=159}function Fe(t){return t>=8234&&t<=8238||t>=8294&&t<=8297||8203===t||8204===t||8205===t||8288===t||65279===t}function We(t,e){if(t.length>255)throw Te(`conflict marker ${e} label exceeds maximum length`);if(""===t.trim())throw Te(`conflict marker ${e} label is empty or whitespace-only`);if(function(t){for(let e=0;e<t.length;e++){const a=t.charCodeAt(e);if(He(a)||Fe(a))return!0}return!1}(t))throw Te(`conflict marker ${e} label contains forbidden control character`);if(function(t){for(const e of Re)if(t.includes(e))return!0;return!1}(t))throw Te(`conflict marker ${e} label contains forbidden marker substring`)}function Pe(t){let e=0;for(const a of t)e+=a.length;return e}function Be(t){if(0===t.length)return new Uint8Array(0);const e=Pe(t),a=t[t.length-1],r=0===a.length||10!==a[a.length-1],n=new Uint8Array(e+(r?1:0));let s=0;for(const e of t)n.set(e,s),s+=e.length;return r&&(n[s]=10),n}function ze(t,e,a={}){if("diff3"===a.conflictStyle)throw Te("diff3 conflict style requires base lines — not supported in v1");const r=a.labels?.ours??"ours",n=a.labels?.theirs??"theirs";if(We(r,"ours"),We(n,"theirs"),void 0!==a.labels?.base&&We(a.labels.base,"base"),Pe(t)+Pe(e)>_e)throw Te("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES");const s=Ce.encode(`<<<<<<< ${r}\n`),i=Ce.encode("=======\n"),o=Ce.encode(`>>>>>>> ${n}\n`),c=Be(t),d=Be(e),f=new Uint8Array(s.length+c.length+i.length+d.length+o.length);let u=0;return f.set(s,u),u+=s.length,f.set(c,u),u+=c.length,f.set(i,u),u+=i.length,f.set(d,u),u+=d.length,f.set(o,u),f}function je(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!==e[a])return!1;return!0}function qe(t,e){if(t.length!==e.length)return!1;for(let a=0;a<t.length;a++)if(!je(t[a],e[a]))return!1;return!0}function Ge(t){let e=0;for(const a of t)e+=a.length;const a=new Uint8Array(e);let r=0;for(const e of t)a.set(e,r),r+=e.length;return a}function Ve(t,e){const a=[];let r;const n=()=>{void 0!==r&&(a.push({baseStart:r.baseStart,baseEnd:r.baseEnd,replacement:r.replacement}),r=void 0)};for(const a of t)if("common"!==a.kind)if(void 0===r&&(r={baseStart:a.oursStart,baseEnd:a.oursStart,replacement:[]}),"ours-only"===a.kind)r.baseEnd=Math.max(r.baseEnd,a.oursEnd);else for(let t=a.theirsStart;t<a.theirsEnd;t++)r.replacement.push(e[t]);else n();return n(),a}function Ye(t,e){return t.baseStart===t.baseEnd?e.baseStart===e.baseEnd?t.baseStart===e.baseStart:t.baseStart>=e.baseStart&&t.baseStart<e.baseEnd:e.baseStart===e.baseEnd?e.baseStart>=t.baseStart&&e.baseStart<t.baseEnd:t.baseStart<e.baseEnd&&e.baseStart<t.baseEnd}function Xe(t,e){for(const a of e)if(a.baseStart===t.baseStart&&a.baseEnd===t.baseEnd&&qe(a.replacement,t.replacement))return a}function Ke(t,e){for(const a of e)if(Ye(t,a))return!0;return!1}function Ze(t,e,a){return{status:"conflict",conflictType:"content",markedBytes:ze(t,e,a)}}function Je(t,e){return t.id===e.id&&t.mode===e.mode}function Qe(t,e){if(void 0!==t&&t.entries.size>R)throw Ue(`${e} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`)}function ta(t){return{status:"conflict",conflict:t}}function ea(t,e,a,r){return ta({type:"modify-delete",path:t,baseId:e.id,baseMode:e.mode,...void 0===a?{}:{ourId:a.id,ourMode:a.mode},...void 0===r?{}:{theirId:r.id,theirMode:r.mode}})}function aa(t,e,a,r){return void 0===e?{status:"resolved-known",path:t,id:a.id,mode:a.mode}:Je(e,a)?{status:"resolved-deleted",path:t}:"our"===r?ea(t,e,a,void 0):ea(t,e,void 0,a)}function ra(t,e,a,r,n){return void 0===a&&void 0===r?{status:"resolved-deleted",path:t}:void 0===a?aa(t,e,r,"their"):void 0===r?aa(t,e,a,"our"):void 0===e?function(t,e,a){return Je(e,a)?{status:"resolved-known",path:t,id:e.id,mode:e.mode}:function(t,e,a){return ta({type:"add-add",path:t,ourId:e.id,theirId:a.id,ourMode:e.mode,theirMode:a.mode})}(t,e,a)}(t,a,r):async function(t,e,a,r,n){const s=Je(e,a),i=Je(e,r);if(s&&i)return{status:"unchanged",path:t,id:e.id,mode:e.mode};if(s)return{status:"resolved-known",path:t,id:r.id,mode:r.mode};if(i)return{status:"resolved-known",path:t,id:a.id,mode:a.mode};if(Je(a,r))return{status:"resolved-known",path:t,id:a.id,mode:a.mode};if(!C(a.mode,r.mode)||!C(e.mode,a.mode))return function(t,e,a,r){return ta({type:"type-change",path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode})}(t,e,a,r);const o=function(t,e,a){return e.mode===a.mode?e.mode:e.mode===t.mode?a.mode:e.mode}(e,a,r);return function(t){return t===H.GITLINK}(o)?function(t,e,a,r){return ta({type:"gitlink",path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode})}(t,e,a,r):async function(t,e,a,r,n,s){const i={path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode},o=await s(i,void 0,new Uint8Array(0),new Uint8Array(0));if("clean"===o.status){if(o.bytes.length>_e)throw Te("contentMerger returned oversize clean bytes");return void 0!==o.id?{status:"resolved-known",path:t,id:o.id,mode:n}:{status:"resolved-merged",path:t,bytes:o.bytes,mode:n}}if(o.markedBytes.length>_e)throw Te("contentMerger returned oversize marked bytes");return ta({type:o.conflictType,path:t,baseId:e.id,ourId:a.id,theirId:r.id,baseMode:e.mode,ourMode:a.mode,theirMode:r.mode,conflictContent:o.markedBytes})}(t,e,a,r,o,n)}(t,e,a,r,n)}const na="blob:limit=",sa="tree:",ia=/^(\d+)([kmg])?$/i,oa=/^\d+$/,ca=t=>{if(""===t)throw F(t,"empty");if("blob:none"===t)return{kind:"blob-none"};if(t.startsWith(na))return(t=>{const e=t.slice(11).match(ia);if(null===e)throw F(t,"bad-blob-limit");const a=Number(e[1])*(t=>{switch(t?.toLowerCase()){case"k":return 1024;case"m":return 1048576;case"g":return 1073741824;default:return 1}})(e[2]);if(!Number.isSafeInteger(a))throw F(t,"bad-blob-limit");return{kind:"blob-limit",bytes:a}})(t);if(t.startsWith(sa))return(t=>{const e=t.slice(5);if(!oa.test(e))throw F(t,"bad-tree-depth");const a=Number(e);if(!Number.isSafeInteger(a))throw F(t,"bad-tree-depth");return{kind:"tree-depth",depth:a}})(t);throw F(t,"unknown-kind")},da=t=>{switch(t.kind){case"blob-none":return"blob:none";case"blob-limit":return`${na}${t.bytes}`;case"tree-depth":return`${sa}${t.depth}`}},fa=new TextDecoder("utf-8",{fatal:!1}),ua=new TextEncoder,la=t=>t.endsWith("\n")?t.slice(0,-1):t,ha=t=>{if(t.startsWith("ok "))return{name:t.slice(3),accepted:!0};if(t.startsWith("ng ")){const e=t.slice(3),a=e.indexOf(" ");if(a<0)throw B(t);return{name:e.slice(0,a),accepted:!1,reason:e.slice(a+1)}}throw B(t)},wa=async t=>{const e=await(async t=>{const e=[];for await(const a of t){if("data"!==a.kind)return e;e.push(la(fa.decode(a.payload)))}return e})(t);if(0===e.length)throw B("");const[a,...r]=e,n=(t=>{if("unpack ok"===t)return{ok:!0};if(t.startsWith("unpack "))return{ok:!1,error:t.slice(7)};throw B(t)})(a);return n.ok?{unpackOk:!0,refUpdates:r.map(ha)}:{unpackOk:!1,unpackError:n.error,refUpdates:[]}},ma={second:1,minute:60,hour:3600,day:86400,week:604800,month:2592e3,year:31536e3},pa=/^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/,ya=/^(\d+)[ .]([a-z]+?)s?(?:[ .]ago)?$/;function ga(t,e){const a=t.trim().toLowerCase();return"now"===a?e:"yesterday"===a?e-86400:function(t){const e=pa.exec(t);if(null===e)return;const[,a,r,n,s,i,o]=e,c=Number(a),d=Number(r),f=Number(n),u=void 0===s?0:Number(s),l=void 0===i?0:Number(i),h=void 0===o?0:Number(o);if(d<1||d>12)return;if(f<1||f>function(t,e){return 2===e&&function(t){return t%4==0&&t%100!=0||t%400==0}(t)?29:va[e-1]}(c,d))return;if(u>23)return;if(l>59)return;if(h>59)return;const w=new Date(c,d-1,f,u,l,h);return w.setFullYear(c),Math.floor(w.getTime()/1e3)}(a)??function(t,e){const a=ya.exec(t);if(null===a)return;const[,r,n]=a,s=ma[n];return void 0===s?void 0:e-Number(r)*s}(a,e)}const va=[31,28,31,30,31,30,31,31,30,31,30,31],ba=async(t,e)=>ka(t,""===e?`${t.layout.workDir}/.gitignore`:`${t.layout.workDir}/${e}/.gitignore`),ka=async(a,r)=>{let n;try{n=await a.fs.lstat(r)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)return;throw e}if(!n.isFile||n.isSymbolicLink)return;if(n.size>j)throw e($a(r),n.size,j);const s=await a.fs.readUtf8(r);return q(s)},$a=t=>{const e=t.lastIndexOf("/");return-1===e?t:t.slice(e+1)},Ea=async t=>{const e=await(async t=>{const e=[],a=await(async t=>{const e=await z(t),a=e.core?.excludesFile;if(void 0===a)return;const r=((t,e)=>{if("~"===e)return t.layout.homeDir;if(e.startsWith("~/")){if(void 0===t.layout.homeDir)return;return`${t.layout.homeDir}/${e.slice(2)}`}return e})(t,a);return void 0!==r?ka(t,r):void 0})(t);void 0!==a&&e.push({basedir:"",rules:a});const r=await(async t=>ka(t,`${t.layout.gitDir}/info/exclude`))(t);void 0!==r&&e.push({basedir:"",rules:r});const n=await ba(t,"");void 0!==n&&e.push({basedir:"",rules:n});const s=new Map;return{base:e,loadDirRules:async e=>{const a=s.get(e);if(void 0!==a)return a;const r=await ba(t,e)??[];return s.set(e,r),r}}})(t),a=[...e.base],r=new Set([]);return async(t,n)=>{for(const n of Da(t)){if(r.has(n))continue;r.add(n);const t=await e.loadDirRules(n);t.length>0&&a.push({basedir:n,rules:t})}return"ignored"===((t,e,a)=>{let r="unset";for(const n of t){const t=Le(e,n.basedir);if(void 0===t)continue;const s=Ae(n.rules,t,a);"unset"!==s&&(r=s)}return r})(a,t,n)}},Da=t=>{const e=t.split("/");if(e.length<=1)return[];const a=[];for(let t=1;t<e.length;t+=1)a.push(e.slice(0,t).join("/"));return a},xa=(e,a)=>new t(void 0===a?{code:"RESOURCE_LOCKED",resource:"index",path:e}:{code:"RESOURCE_LOCKED",resource:"index",path:e,mtimeMs:a}),Ia=async(e,a={})=>{const r=`${V(e.layout.gitDir)}${G}`,n=V(e.layout.gitDir),s=a.now??(()=>Date.now()),i=a.breakStaleLockMs;try{await e.fs.writeExclusive(r,new Uint8Array)}catch(a){if(!(a instanceof t)||"FILE_EXISTS"!==a.data.code)throw a;if(void 0===i)throw xa(r,await Ma(e,r));await Sa(e,r,i,s)}return Aa(e,r,n)},Ma=async(t,e)=>{try{return(await t.fs.lstat(e)).mtimeMs}catch{return}},Sa=async(e,a,r,n)=>{const s=await Ma(e,a);if(void 0===s)return void await e.fs.writeExclusive(a,new Uint8Array);const i=n()-s;if(i<0)throw xa(a,s);if(i<r)throw xa(a,s);await e.fs.rm(a);try{await e.fs.writeExclusive(a,new Uint8Array)}catch(r){if(r instanceof t&&"FILE_EXISTS"===r.data.code)throw xa(a,await Ma(e,a));throw r}},Aa=(e,a,r)=>{let n=!1,s=!1;return{release:async()=>{if(!n&&!s){s=!0;try{await e.fs.rm(a)}catch(e){if(!(e instanceof t)||"FILE_NOT_FOUND"!==e.data.code)throw e}}},commit:async t=>{if(n||s)return;const i={entries:[...t],extensions:[]},o=Y(i),c=await e.hash.hash(o),d=new Uint8Array(o.length+c.length);d.set(o,0),d.set(c,o.length),await e.fs.write(a,d),await e.fs.rename(a,r),n=!0}}},La=Z.from("HEAD"),Na=async e=>{const a=`${e.layout.gitDir}/HEAD`;if(!await e.fs.exists(a))throw new t({code:"NOT_A_REPOSITORY",path:e.layout.workDir});return e.layout.bare?e.layout.gitDir:e.layout.workDir},Oa=async(e,a)=>{if(await(async t=>{const e=await z(t);return e.core?.bare??!1})(e))throw(e=>new t({code:"BARE_REPOSITORY",operation:e}))(a)},Ua=async e=>{const a=`${e.layout.gitDir}/HEAD`;let r;try{r=await e.fs.readUtf8(a)}catch(e){if(e instanceof t&&"FILE_NOT_FOUND"===e.data.code)throw X(La);throw e}const n=K(r);return"symbolic"===n.type?{kind:"symbolic",target:n.target}:{kind:"direct",id:n.target}},Ta=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],_a=async(t,e={})=>{const r=await Promise.all(Ta.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<Ta.length;t+=1){const n=Ta[t];if(void 0!==n&&e.except!==n.operation&&!0===r[t])throw a(n.operation)}},Ra=J,Ca=(t,e)=>`${t.layout.workDir}/${e}`,Ha=async(t,e)=>{const a=Ra(e);return t.fs.read(Ca(t,a))},Fa=async(t,e)=>{const a=Ra(e),n=Ca(t,a);let s;try{s=await t.fs.lstat(n)}catch{throw r([a])}if(!s.isFile&&!s.isSymbolicLink)throw r([a]);await t.fs.rm(n)},Wa=new TextEncoder,Pa=t=>{for(const e of t){const t=e.startsWith("!")?e.slice(1):e;Ra(t),Ba(e)}const e=(t=>t.map(Ne))(t),a=e.filter(qa).map(t=>Va(t)),r=e.some(Ga);return{matcher:e,literalMustMatch:a,hasGlob:r}},Ba=t=>{if(Wa.encode(t).byteLength>256)throw s("paths","pattern exceeds max length 256 bytes");if(za(t)>4)throw s("paths","pattern exceeds max **-token count 4")},za=t=>{let e=0,a=0;for(;a<t.length;)"*"!==t[a]||"*"!==t[a+1]?a+=1:(e+=1,a+=2);return e},ja=(t,e)=>{if(0===t.length)return;const a=new Set(e);for(const r of t)if(!a.has(r)&&!e.some(t=>t.startsWith(`${r}/`)))throw n(r)},qa=t=>!t.negated&&t.isLiteral,Ga=t=>!t.negated&&!t.isLiteral,Va=t=>t.body,Ya=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Xa=async(t,e,a={})=>{if(await Na(t),await Oa(t,"add"),await _a(t,{except:"merge"}),!0===a.all){if(0!==e.length)throw s("all","pathspec must be empty when all=true");return tr(t,a)}if(0===e.length)throw i();return Ka(t,e,a)},Ka=async(t,e,a)=>{const{matcher:r,literalMustMatch:n,hasGlob:s}=Pa(e);return!s&&await Ja(t,n)?Za(t,n,a):Qa(t,r,n,a)},Za=async(t,e,a)=>{const r=await Ia(t,void 0!==a.breakStaleLockMs?{breakStaleLockMs:a.breakStaleLockMs}:{});try{const a=await nr(t),s=new Map(a),i=[],o=[];for(const r of e){const e=await sr(t,r);if("missing"===e)throw n(r);const c=a.get(r);s.set(r,e),void 0===c?i.push(r):c.id===e.id&&c.mode===e.mode||o.push(r)}return await r.commit(Array.from(s.values())),{added:i,modified:o,removed:[]}}finally{await r.release()}},Ja=async(t,e)=>{if(0===e.length)return!1;for(const a of e){const e=await t.fs.lstat(`${t.layout.workDir}/${a}`).catch(()=>{});if(void 0===e)return!1;if(e.isDirectory&&!e.isSymbolicLink)return!1}return!0},Qa=async(t,e,a,r)=>{const n=await Ea(t),s=async(t,a)=>!!await n(t,a)||!a&&!Oe(e,t),i=await Ia(t,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const e=await nr(t),r=new Map(e),n=[],o=[],c=[],d=new Set;for await(const a of Q(t,{ignore:s})){const s=await rr(t,a,e,d);void 0!==s&&(n.push(s.path),r.set(s.path,s.entry),"added"===s.kind?o.push(s.path):"modified"===s.kind&&c.push(s.path))}return ja(a,n),o.sort(),c.sort(),await i.commit(Array.from(r.values())),{added:o,modified:c,removed:[]}}finally{await i.release()}},tr=async(t,e,a)=>{const r=await Ea(t),n=await Ia(t,void 0!==e.breakStaleLockMs?{breakStaleLockMs:e.breakStaleLockMs}:{});try{const e=await nr(t),a=new Map(e),s=new Set,i=[],o=[];for await(const n of Q(t,{ignore:r})){const r=await rr(t,n,e,s);void 0!==r&&(a.set(r.path,r.entry),"added"===r.kind?i.push(r.path):"modified"===r.kind&&o.push(r.path))}const c=await er(e,s,r);for(const t of c)a.delete(t);return i.sort(),o.sort(),c.sort(),await n.commit(Array.from(a.values())),{added:i,modified:o,removed:c}}finally{await n.release()}},er=async(t,e,a)=>{const r=[];for(const[n,s]of t)e.has(n)||s.flags.skipWorktree||await ar(n,a)||r.push(n);return r},ar=async(t,e)=>{if(await e(t,!1))return!0;const a=t.split("/");for(let t=1;t<a.length;t+=1){const r=a.slice(0,t).join("/");if(await e(r,!0))return!0}return!1},rr=async(t,e,a,r)=>{const{path:n,stat:s}=e;if(r.add(n),s.size>et)throw o(n,s.size,et);const i=await ir(t,n,s),c=a.get(n);return void 0===c?{kind:"added",path:n,entry:i}:c.id!==i.id||c.mode!==i.mode?{kind:"modified",path:n,entry:i}:{kind:"unchanged",path:n,entry:i}},nr=async e=>{try{const t=await tt(e),a=new Map;for(const e of t.entries)a.set(e.path,e);return a}catch(e){if(e instanceof t&&Ya.has(e.data.code))return new Map;throw e}},sr=async(t,e)=>{const a=await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{});return void 0===a?"missing":ir(t,e,a)},ir=async(t,e,a)=>{const r=await t.fs.lstat(`${t.layout.workDir}/${e}`);if(r.isSymbolicLink!==a.isSymbolicLink||r.isDirectory!==a.isDirectory||r.isFile!==a.isFile)throw c();if(r.size>et)throw o(e,r.size,et);const n=r.isSymbolicLink?"120000":73&r.mode?"100755":"100644",s=await or(t,e,r),i=await at(t,{type:"blob",id:"",content:s});return cr(r,n,i,e)},or=async(t,e,a)=>{if(a.isSymbolicLink){const a=(new TextEncoder).encode(await t.fs.readlink(`${t.layout.workDir}/${e}`));if(a.byteLength>et)throw o(e,a.byteLength,et);return a}return Ha(t,e)},cr=(t,e,a,r)=>({ctimeSeconds:Math.floor(t.ctimeMs/1e3),ctimeNanoseconds:0,mtimeSeconds:Math.floor(t.mtimeMs/1e3),mtimeNanoseconds:0,dev:t.dev,ino:t.ino,mode:e,uid:t.uid,gid:t.gid,fileSize:t.size,id:a,flags:O,path:r}),dr="refs/heads/",fr=async(t,e)=>(await Na(t),"list"===e.kind?ur(t):"create"===e.kind?hr(t,e):"delete"===e.kind?wr(t,e):mr(t,e)),ur=async t=>{const e=`${t.layout.gitDir}/refs/heads`;if(!await t.fs.exists(e))return{kind:"list",branches:[]};const a=await Ua(t),r="symbolic"===a.kind&&a.target.startsWith(dr)?a.target:void 0,n=await t.fs.readdir(e),s=[];for(const e of n){if(!e.isFile)continue;const a=`${dr}${e.name}`,n=await rt(t,a);s.push({name:a,id:n,current:a===r})}return s.sort((t,e)=>lr(t.name,e.name)),{kind:"list",branches:s}},lr=(t,e)=>t<e?-1:t>e?1:0,hr=async(e,a)=>{const r=nt(`${dr}${a.name}`),n=a.startPoint??"HEAD",s=await pr(e,n),i=`branch: Created from ${n}`;try{await st(e,r,s,!0===a.force?{reflogMessage:i}:{expected:"absent",reflogMessage:i})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw d(r);throw e}return{kind:"create",name:r,id:s}},wr=async(t,e)=>{const a=nt(`${dr}${e.name}`),r=await Ua(t);if("symbolic"===r.kind&&r.target===a)throw f(a);if(!await t.fs.exists(`${t.layout.gitDir}/${a}`))throw u(a);return await st(t,a,it,{delete:!0}),{kind:"delete",name:a}},mr=async(e,a)=>{const r=nt(`${dr}${a.from}`),n=nt(`${dr}${a.to}`),s=await rt(e,r),i=`branch: renamed ${r} to ${n}`,o=await ot(e,r);try{await st(e,n,s,!0===a.force?{reflogMessage:i}:{expected:"absent",reflogMessage:i})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw d(n);throw e}o.length>0&&await ct(e,n,[...o,...await ot(e,n)]),await st(e,r,it,{delete:!0});const c=await Ua(e);return"symbolic"===c.kind&&c.target===r&&await dt(e,"HEAD",n),{kind:"rename",from:r,to:n}},pr=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a="HEAD"===e?["HEAD"]:[`${dr}${e}`,e];for(const e of a)try{return await rt(t,e)}catch{}throw u(e)},yr=t=>"string"==typeof t?ut.from(t):t,gr=async(t,e)=>{await Na(t);const a=e.ids.map(yr),r=void 0===e.maxBytes?void 0:{maxBytes:e.maxBytes},n=[];for await(const e of ft(t,a,r))n.push(e);return{kind:"batch",entries:n}},vr="refs/heads/",br="checkout:materialize",kr=async(t,e)=>{if("HEAD"===e){const e=await rt(t,"HEAD");return(await lt(t,e)).id}return(await lt(t,e)).id},$r=async(t,e)=>{await Na(t),await Oa(t,"checkout"),await _a(t);const a=(t=>"target"in t&&void 0!==t.target)(e),r=(t=>"paths"in t&&void 0!==t.paths)(e);if(a&&r)throw s("paths","cannot be combined with target");if(!a&&!r)throw s("target","either target or paths must be provided");t.progress.start(br);try{return r?await(async(t,e)=>{if(0===e.paths.length)throw s("paths","must not be empty");const a=e.source??"index",{matcher:r,literalMustMatch:n}=Pa(e.paths),i=(await(async(t,e)=>{if("index"===e)return(await tt(t)).entries.map(t=>t.path);const a=await kr(t,e),r=[];for await(const e of pt(t,a))e.mode!==H.DIRECTORY&&r.push(e.path);return r})(t,a)).filter(t=>Oe(r,t));ja(n,i);const o=new Set(i);if(0===o.size)return{branch:void 0,id:await rt(t,"HEAD"),detached:!1,changedPaths:0};const c="index"===a?await(async(t,e)=>{const a=await tt(t),r=await yt(t,a.entries);return wt(t,{targetTree:r,currentIndex:a,force:!0,forceRewriteAll:!0,paths:e})})(t,o):await(async(t,e,a)=>{const r=await Ia(t);try{const n=await tt(t),s=await wt(t,{targetTree:e,currentIndex:n,force:!0,forceRewriteAll:!0,paths:a});return await r.commit(s.newIndexEntries),s}finally{await r.release()}})(t,await kr(t,a),o);return{branch:void 0,id:await rt(t,"HEAD"),detached:!1,changedPaths:c.written+c.deleted}})(t,e):await(async(t,e)=>{const a=!0===e.detach||/^[0-9a-f]{40}$/.test(e.target),r=await Ua(t),n=await rt(t,"HEAD");let s,i;if(a)i=await(async(t,e)=>/^[0-9a-f]{40}$/.test(e)?e:rt(t,e))(t,e.target);else{if(s=nt(`${vr}${e.target}`),!await t.fs.exists(`${t.layout.gitDir}/${s}`))throw u(s);i=await rt(t,s)}const o=await lt(t,i),c=await ht(t),d=await Ia(t);let f;try{const a=await tt(t);f=await wt(t,{targetTree:o.id,currentIndex:a,force:e.force??!1,...void 0!==c?{sparse:c}:{}}),await d.commit(f.newIndexEntries)}finally{await d.release()}const l=(t=>{if("symbolic"!==t.kind)return t.id.slice(0,7);if(t.target.startsWith(vr))return t.target.slice(11);const e=t.target.lastIndexOf("/");return-1===e?t.target:t.target.slice(e+1)})(r);return a?(await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${i}\n`),await mt(t,"HEAD",n,i,`checkout: moving from ${l} to ${i.slice(0,7)}`),{branch:void 0,id:i,detached:!0,changedPaths:f.written+f.deleted}):(await dt(t,"HEAD",s),await mt(t,"HEAD",n,i,`checkout: moving from ${l} to ${e.target}`),{branch:s,id:i,detached:!1,changedPaths:f.written+f.deleted})})(t,e)}finally{t.progress.end(br)}},Er=async(t,e)=>{const a=nt(e.initialBranch),r=t.layout.gitDir;try{await t.fs.mkdir(r),await t.fs.writeUtf8(`${r}/HEAD`,`ref: refs/heads/${a}\n`),await t.fs.writeUtf8(`${r}/config`,(n=e.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${n?"true":"false"}\n`)),await t.fs.mkdir(`${r}/refs/heads`),await t.fs.mkdir(`${r}/refs/tags`),await t.fs.mkdir(`${r}/objects/info`),await t.fs.mkdir(`${r}/objects/pack`),await t.fs.writeUtf8(`${r}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await t.fs.writeUtf8(`${r}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(e){throw await t.fs.rmRecursive(r).catch(()=>{}),e}var n;return{gitDir:r,initialBranch:a,bare:e.bare}},Dr={attempts:3,backoff:"exponential",baseMs:250,maxDelayMs:5e3},xr=(t,e={})=>{const a=void 0!==e.logger?Ir(e.logger):void 0;let r=t.transport;return r=we(e.retry??Dr)(r),void 0!==e.auth&&(r=me(e.auth)(r)),void 0!==a&&(r=pe({logger:a})(r)),r},Ir=t=>({log:e=>t.log(Mr(e))}),Mr=t=>"request"===t.kind||"response"===t.kind?{...t,url:Ar(t.url),headers:Sr(t.headers)}:{...t,url:Ar(t.url),errorMessage:Ar(t.errorMessage)},Sr=t=>{const e={};for(const[a,r]of Object.entries(t))e[a]=Ar(r);return e},Ar=t=>{let e="";for(let a=0;a<t.length;a+=1){const r=t.charCodeAt(a);e+=9===r||10===r?t[a]:r<32||r>126?`\\x${r.toString(16).padStart(2,"0").toUpperCase()}`:t[a]}return e},Lr={"git-upload-pack":"application/x-git-upload-pack-advertisement","git-receive-pack":"application/x-git-receive-pack-advertisement"},Nr=async(t,e,a,r)=>{const n=gt(a,r),s=await e.request({url:n,method:"GET",headers:{accept:Lr[r]},...void 0!==t.signal?{signal:t.signal}:{}});if(200!==s.statusCode)throw l(s.statusCode,`${r} discovery returned ${s.statusCode}`);const i=bt(ye(s.body));return vt(i,r)},Or=async(t,e,a)=>Nr(t,e,a,"git-upload-pack"),Ur=t=>{const e=Et.filter(t=>"multi_ack_detailed"!==t&&"thin-pack"!==t&&"no-progress"!==t&&t!==$t);return[...kt(t,e),$t]},Tr=t=>{const e=new Set,a=[];for(const r of t)e.has(r.id)||(e.add(r.id),a.push(r.id));return a},_r=t=>t.includes("filter"),Rr=async(t,e)=>{Cr(t);const a=Hr(t);Fr(a,e.allowInsecure??!1),Wr(a);const r=await e.resolver(a.hostname);return{url:t,pinnedAddress:Pr(r,e.allowPrivateNetworks??!1)}},Cr=t=>{for(let e=0;e<t.length;e+=1){const a=t.charCodeAt(e);if(10===a||13===a)throw h("contains forbidden control character")}},Hr=t=>{try{return new URL(t)}catch{throw h("not a valid URL")}},Fr=(t,e)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!e))throw w(a.replace(":",""))},Wr=t=>{if(""!==t.hash)throw h("URL fragment is not allowed")},Pr=(t,e)=>{for(const a of t)if(e||!Br(a))return a;if(0===t.length)throw m("<unresolved>","no DNS records returned");throw m(t[0],"all resolved addresses are in a blocked range")},Br=t=>t.includes(":")?jr(t):zr(t),zr=t=>{const e=(t=>{const e=t.split(".");if(4!==e.length)return;const a=[];for(const t of e){if(!/^\d{1,3}$/.test(t))return;const e=Number(t);if(e>255)return;a.push(e)}return a})(t);if(void 0===e)return!1;const[a,r]=e;return 0===a||10===a||100===a&&r>=64&&r<=127||127===a||169===a&&254===r||172===a&&r>=16&&r<=31||192===a&&168===r||a>=224},jr=t=>{const e=t.toLowerCase(),a=e.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==a?.[1])return zr(a[1]);const r=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==r?.[1]&&void 0!==r[2]){const t=parseInt(r[1],16),e=parseInt(r[2],16);return zr(`${t>>8}.${255&t}.${e>>8}.${255&e}`)}return!!("::1"===e||"::"===e||e.startsWith("fe80:")||e.startsWith("fe80::")||e.startsWith("ff")||e.startsWith("fc")||e.startsWith("fd"))},qr="clone:discover",Gr=async(t,e)=>{if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw p(t.layout.workDir);if(""===e.url)throw y();const a=void 0!==e.filter?da(ca(e.filter)):void 0;t.progress.start(qr);try{void 0!==e.resolver&&await Rr(e.url,{resolver:e.resolver,...void 0!==e.allowInsecure?{allowInsecure:e.allowInsecure}:{},...void 0!==e.allowPrivateNetworks?{allowPrivateNetworks:e.allowPrivateNetworks}:{}});const r=await Er(t,{initialBranch:e.initialBranch??"main",bare:e.bare??!1});try{return await Vr(t,e,r.gitDir,a)}catch(e){throw await t.fs.rmRecursive(t.layout.gitDir).catch(()=>{}),e}}finally{t.progress.end(qr)}},Vr=async(t,e,a,r)=>{const n=xr(t,{...void 0!==t.config?.auth?{auth:t.config.auth}:{}}),s=await Or(t,n,e.url);if(0===s.refs.length)throw y();if(void 0!==r&&!_r(s.capabilities))throw Dt();const i=Ur(s.capabilities),o=Tr(s.refs),c=await xt(t,n,{wants:o,haves:[],capabilities:i,url:e.url,progressOp:"clone:write-objects",...void 0!==e.depth?{depth:e.depth}:{},...void 0!==r?{filter:r,promisor:!0}:{}});c.shallow.length>0&&await It(t,{shallow:c.shallow,unshallow:c.unshallow});const d=await Xr(t,s,e.url),f=await Jr(t,s,e.url);return void 0!==r&&await Yr(t,e.url,r),{path:a,head:f,fetchedRefs:d}},Yr=async(t,e,a)=>{await Mt(t,[{section:"core",key:"repositoryformatversion",value:"1"},{section:"remote",subsection:"origin",key:"url",value:e},{section:"remote",subsection:"origin",key:"fetch",value:"+refs/heads/*:refs/remotes/origin/*"},{section:"remote",subsection:"origin",key:"promisor",value:"true"},{section:"remote",subsection:"origin",key:"partialclonefilter",value:a},{section:"extensions",key:"partialClone",value:"origin"}])},Xr=async(t,e,a)=>{const r=Zr(e),n=[];for(const s of e.refs)if("HEAD"!==s.name){if(s.name.startsWith("refs/heads/")){const e=s.name.slice(11),i=`refs/remotes/origin/${e}`;if(await Kr(t,i,s.id,a),n.push({name:i,id:s.id}),void 0!==r&&e===r){const e=s.name;await Kr(t,e,s.id,a),n.push({name:e,id:s.id})}continue}if(s.name.startsWith("refs/tags/")){const e=s.name;await Kr(t,e,s.id,a),n.push({name:e,id:s.id});continue}t.logger?.debug?.("clone: skipping unsupported ref namespace",{name:s.name})}return n},Kr=async(t,e,a,r)=>{const n=`${t.layout.gitDir}/${e}`;await t.fs.writeUtf8(n,`${a}\n`),await mt(t,e,it,a,`clone: from ${r}`)},Zr=t=>{const e=t.capabilities.find(t=>t.startsWith("symref=HEAD:refs/heads/"));if(void 0!==e)return e.slice(23)},Jr=async(t,e,a)=>{const r=Zr(e),n=e.head?.id;if(void 0!==r){const e=`refs/heads/${r}`;return await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`ref: ${e}\n`),await Qr(t,n,a),e}if(void 0!==e.head)return await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${e.head.id}\n`),void await Qr(t,n,a)},Qr=async(t,e,a)=>{void 0!==e&&await mt(t,"HEAD",it,e,`clone: from ${a}`)},tn=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw g()},en=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.author)return t.author;if(void 0!==t.configUser)return t.configUser;throw g()},an=(t,e)=>{const a=t.trim();if(""===a&&!e.allowEmpty)throw v();return a},rn=t=>`${t.layout.gitDir}/MERGE_HEAD`,nn=t=>`${t.layout.gitDir}/MERGE_MSG`,sn=async(t,e)=>{await Na(t),await Oa(t,"commit");const a=await(async t=>{const e=rn(t);if(!await t.fs.exists(e))return;const a=(await t.fs.readUtf8(e)).trim();return 0!==a.length?ut.from(a):void 0})(t);await _a(t,void 0!==a?{except:"merge"}:{});const r=e.noVerify??!1;await(async(t,e)=>{e||await St(t,"pre-commit")})(t,r);const n=await on(t,e,a),s=await z(t),i=un(s.user),o=tn(ln(e.author,i)),c=en(hn(e.committer,o,i)),d=await tt(t);fn(d.entries);const f=await pn(t,d.entries),u=await Ua(t),l="symbolic"===u.kind?await wn(t,u.target):u.id,h=dn(l,a);if(!e.allowEmpty&&void 0!==l&&void 0===a&&await mn(t,l)===f)throw b();const w=await(async(t,e,a)=>{if(a.noVerify||void 0===t.hooks)return e;const r=`${t.layout.gitDir}/COMMIT_EDITMSG`;await t.fs.writeUtf8(r,e),await St(t,"commit-msg",{args:[r]});const n=await t.fs.readUtf8(r);return an(n,{allowEmpty:a.allowEmptyMessage})})(t,n,{noVerify:r,allowEmptyMessage:e.allowEmptyMessage??!1}),m={tree:f,parents:h,author:o,committer:c,message:w,extraHeaders:[]},p=await At(t,m),y="symbolic"===u.kind?u.target:void 0,g=cn(w,l,a);return void 0!==y?await st(t,y,p,void 0!==l?{expected:l,reflogMessage:g}:{reflogMessage:g}):(await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${p}\n`),await mt(t,"HEAD",l??it,p,g)),void 0!==a&&await(async t=>{for(const e of[rn(t),nn(t)])await t.fs.exists(e)&&await t.fs.rm(e)})(t),{id:p,tree:f,branch:y,parents:h}},on=async(t,e,a)=>{if(e.message.length>0||void 0===a)return an(e.message,{allowEmpty:e.allowEmptyMessage??!1});const r=await(async t=>{const e=nn(t);if(await t.fs.exists(e))return t.fs.readUtf8(e)})(t);return an(r??"",{allowEmpty:e.allowEmptyMessage??!1})},cn=(t,e,a)=>{const r=t.split("\n")[0];return void 0===e?`commit (initial): ${r}`:void 0!==a?`commit (merge): ${r}`:`commit: ${r}`},dn=(t,e)=>{const a=[];return void 0!==t&&a.push(t),void 0!==e&&a.push(e),a},fn=t=>{const e=new Set;for(const a of t)0!==a.flags.stage&&e.add(a.path);if(e.size>0)throw k(e.size,[...e])},un=t=>{if(void 0!==t)return{name:t.name,email:t.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}},ln=(t,e)=>{const a={};return void 0!==t&&(a.explicit=t),void 0!==e&&(a.configUser=e),a},hn=(t,e,a)=>{const r={};return void 0!==t&&(r.explicit=t),void 0!==e&&(r.author=e),void 0!==a&&(r.configUser=a),r},wn=async(t,e)=>{try{return await rt(t,e)}catch{return}},mn=async(t,e)=>{const a=await Lt(t,e);return"commit"!==a.type?it:a.data.tree},pn=async(t,e)=>{const a={files:new Map,subdirs:new Map};for(const t of e)yn(a,t.path.split("/"),t);return gn(t,a)},yn=(t,e,a)=>{if(1===e.length)return void t.files.set(e[0],{id:a.id,mode:a.mode});const[r,...n]=e,s=r;let i=t.subdirs.get(s);void 0===i&&(i={files:new Map,subdirs:new Map},t.subdirs.set(s,i)),yn(i,n,a)},gn=async(t,e)=>{const a=[];for(const[t,r]of e.files)a.push({mode:r.mode,name:t,id:r.id});const r=await Promise.all(Array.from(e.subdirs).map(async([e,a])=>({name:e,id:await gn(t,a)})));for(const{name:t,id:e}of r)a.push({mode:"40000",name:t,id:e});return Nt(t,a)},vn=async(t,e={})=>{await Na(t);const a=await bn(t,e.from??"HEAD"),r=void 0!==e.to?await bn(t,e.to):void 0;return Ot(t,a,r,!0===e.detectRenames?{detectRenames:!0}:{})},bn=async(t,e)=>{const a=/^[0-9a-f]{40}$/.test(e)?e:await rt(t,nt(e)),r=await Lt(t,a);return"commit"===r.type?r.data.tree:a},kn="fetch:negotiate",$n=async(t,e={})=>{await Na(t);const a=e.remote??"origin",{url:r,filter:n}=await En(t,a);t.progress.start(kn);try{const s=xr(t,void 0!==t.config?.auth?{auth:t.config.auth}:{}),i=await Or(t,s,r);if(0===i.refs.length)throw y();if(void 0!==n&&!_r(i.capabilities))throw Dt();const o=Ur(i.capabilities),c=Tr(i.refs),d=await Dn(t,a),f=await xt(t,s,{wants:c,haves:d,capabilities:o,url:r,progressOp:"fetch:write-objects",...void 0!==e.depth?{depth:e.depth}:{},...void 0!==n?{filter:n,promisor:!0}:{}});(f.shallow.length>0||f.unshallow.length>0)&&await It(t,{shallow:f.shallow,unshallow:f.unshallow});return{remote:a,url:r,updatedRefs:await An(t,a,i),prunedRefs:!0===e.prune?await Un(t,a,i):[],shallow:f.shallow,unshallow:f.unshallow}}finally{t.progress.end(kn)}},En=async(t,e)=>{const a=await z(t),r=a.remote?.get(e);if(void 0===r?.url||""===r.url)throw $(e);const n=void 0!==r.partialCloneFilter?da(ca(r.partialCloneFilter)):void 0;return{url:r.url,filter:n}},Dn=async(t,e)=>{const a=await xn(t,e);if(0===a.length)return[];const r=new Set,n=[];for(const t of a)if(!r.has(t)&&(r.add(t),n.push(t),n.length>=Ut))return n;const s=a.slice(0,Tt);for await(const e of _t(t,{from:s,ignoreMissing:!0,verifyHash:!1}))if(!r.has(e.id)&&(r.add(e.id),n.push(e.id),n.length>=Ut))break;return n},xn=async(t,e)=>{const a=[],r=[`refs/remotes/${e}`,"refs/tags"];for(const e of r){const r=`${t.layout.gitDir}/${e}`;await t.fs.exists(r)&&await In(t,r,a)}const n=`refs/remotes/${e}/`,s=await Rt(t).getPackedRefs();for(const t of s.entries)(t.name.startsWith(n)||t.name.startsWith("refs/tags/"))&&a.push(t.id);return a},In=async(t,e,a)=>{const r=await t.fs.readdir(e);for(const n of r){const r=`${e}/${n.name}`;if(n.isDirectory){await In(t,r,a);continue}const s=(await t.fs.readUtf8(r)).trim();Sn(s)&&a.push(s)}},Mn=/^[0-9a-f]{40}([0-9a-f]{24})?$/i,Sn=t=>Mn.test(t),An=async(t,e,a)=>{const r=[];for(const n of a.refs){const a=Ln(e,n);if(void 0===a)continue;const s=await On(t,a);s!==n.id?(await st(t,a,n.id,{reflogMessage:`fetch ${e}: storing head`}),r.push({name:a,oldId:s,newId:n.id})):r.push({name:a,oldId:s,newId:n.id})}return r},Ln=(t,e)=>{if("HEAD"!==e.name&&Nn(e.name)){if(e.name.startsWith("refs/heads/")){const a=`refs/remotes/${t}/${e.name.slice(11)}`;if(!Nn(a))return;return a}return e.name.startsWith("refs/tags/")?e.name:void 0}},Nn=t=>{try{return nt(t),!0}catch{return!1}},On=async(t,e)=>{nt(e);const a=`${t.layout.gitDir}/${e}`;if(!await t.fs.exists(a))return;const r=(await t.fs.readUtf8(a)).trim();return Sn(r)?r:void 0},Un=async(t,e,a)=>{const r=new Set(a.refs.filter(t=>t.name.startsWith("refs/heads/")).map(t=>t.name.slice(11))),n=`${t.layout.gitDir}/refs/remotes/${e}`;if(!await t.fs.exists(n))return[];const s=[];return await Tn(t,n,"",r,e,s),s},Tn=async(t,e,a,r,n,s)=>{const i=await t.fs.readdir(e);for(const o of i){const i=`${e}/${o.name}`,c=""===a?o.name:`${a}/${o.name}`;if(o.isDirectory){await Tn(t,i,c,r,n,s);continue}if(r.has(c))continue;const d=`refs/remotes/${n}/${c}`;if(!Nn(d)){t.logger?.warn?.("fetch.prune: skipping unsafe ref name",{name:d});continue}const f=d;try{await st(t,f,it,{delete:!0})}catch(e){if(_n(e)){t.logger?.warn?.("fetch.prune: skipping packed-only ref",{name:f});continue}throw e}s.push(f)}},_n=e=>e instanceof t&&"UNSUPPORTED_OPERATION"===e.data.code&&"delete-packed-ref"===e.data.operation,Rn=async(t,e,a)=>!!await t.fs.exists(Ct(t.layout.gitDir,a))||void 0!==await e.lookup(a),Cn=async(e,a)=>{await Na(e);const r=await z(e),n=r.extensions?.partialClone;if(void 0===n)return{kind:"no-promisor"};const s=r.remote?.get(n)?.url;if(void 0===s||""===s)throw $(n);const i=await(async(t,e)=>{const a=Ht(t),r=new Set,n=[];for(const s of e)r.has(s)||(r.add(s),await Rn(t,a,s)||n.push(s));return n})(e,a);if(0===i.length)return{kind:"fetched",remote:n,requested:a.length,fetched:0};const o=xr(e,void 0!==e.config?.auth?{auth:e.config.auth}:{}),c=await Or(e,o,s),d=Ur(c.capabilities);try{await xt(e,o,{wants:i,haves:[],capabilities:d,url:s,progressOp:"fetch-missing:write-objects",promisor:!0})}catch(e){if(!(e=>e instanceof t&&"FILE_EXISTS"===e.data.code)(e))throw e}return{kind:"fetched",remote:n,requested:a.length,fetched:i.length}},Hn=async(t,e)=>{const a=await Cn(t,e.oids);if("no-promisor"===a.kind)throw E();return{remote:a.remote,requested:a.requested,fetched:a.fetched}},Fn=t=>({fetch:async e=>{const a=await Cn(t,e);return"no-promisor"===a.kind?{attempted:!1,requested:e.length,fetched:0}:{attempted:!0,requested:a.requested,fetched:a.fetched}}}),Wn=async(e,a={})=>{const r=a.initialBranch??"main",n=a.bare??!1;if(await e.fs.exists(`${e.layout.gitDir}/HEAD`))throw new t({code:"ALREADY_INITIALIZED",path:e.layout.gitDir});const s=await Er(e,{initialBranch:r,bare:n});return{path:s.gitDir,initialBranch:s.initialBranch,bare:s.bare}},Pn=async(t,e={})=>{await Na(t);const a=await Bn(t,e.from??"HEAD"),r=await zn(t,e.excluding??[]),n=e.before,s=[];let i=0;for await(const o of _t(t,{from:[a],until:r,order:"first-parent"}))if(!(void 0!==n&&o.data.committer.timestamp>=n.getTime()/1e3)&&(s.push({id:o.id,tree:o.data.tree,parents:o.data.parents,author:o.data.author,committer:o.data.committer,message:o.data.message}),i+=1,void 0!==e.limit&&i>=e.limit))break;return s},Bn=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a=[e,`refs/heads/${e}`,`refs/tags/${e}`];for(const e of a)try{return await rt(t,nt(e))}catch{}return rt(t,nt(e))},zn=async(t,e)=>{const a=[];for(const r of e)if(/^[0-9a-f]{40}$/.test(r))a.push(r);else try{a.push(await rt(t,nt(r)))}catch{}return a},jn=async(t,e)=>{const a=new Map;for await(const r of pt(t,e))r.mode!==H.DIRECTORY&&a.set(r.path,{id:r.id,mode:r.mode});return{entries:a}},qn=async(t,e)=>{await Na(t),await Oa(t,"merge"),await _a(t);const a=await Ua(t);if("symbolic"!==a.kind)throw D("merge","cannot merge with detached HEAD");const r=await rt(t,a.target),n=await ms(t,e.target);if(r===n)return{kind:"up-to-date",id:r};const s=await Ft(t,r,n);if(s===n)return{kind:"up-to-date",id:r};if(s===r&&!0!==e.noFastForward)return await st(t,a.target,n,{expected:r,reflogMessage:`merge ${e.target}: Fast-forward`}),{kind:"fast-forward",id:n,branch:a.target};if(!0===e.fastForwardOnly)throw x(a.target,r,n);return Yn(t,e,a.target,r,n,s)},Gn="merge:write-files",Vn=new Set(["rename-rename","gitlink"]),Yn=async(t,e,a,r,n,s)=>{t.progress.start(Gn);try{const i=await Kn(t,r,n,s);return"conflict"===i.kind?ts(t,e,i,r,n):Xn(t,e,a,r,n,i.tree)}finally{t.progress.end(Gn)}},Xn=async(t,e,a,r,n,s)=>{const i=await hs(t,e),o={tree:s,parents:[r,n],author:i,committer:ws(e,i),message:an(e.message??`Merge ${e.target}`,{allowEmpty:!1}),extraHeaders:[]},c=await At(t,o);return await st(t,a,c,{expected:r,reflogMessage:`merge ${e.target}: Merge made by the 'tsgit' strategy.`}),{kind:"merge",id:c,branch:a,parents:[r,n]}},Kn=async(t,e,a,r)=>{const n=await ps(t,e),s=await ps(t,a),i=void 0!==r?await ps(t,r):void 0,[o,c,d]=await Promise.all([jn(t,n),jn(t,s),void 0!==i?jn(t,i):Promise.resolve(void 0)]),f=Zn(t),u=await async function(t,e,a,r){Qe(t,"base"),Qe(e,"ours"),Qe(a,"theirs");const n=function(t,e,a){const r=new Set;for(const n of[t,e,a])if(void 0!==n)for(const t of n.entries.keys())r.add(t);if(r.size>R)throw Ue("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES");return r}(t,e,a),s=_([...n],t=>t),i=[];for(const n of s){const s=ra(n,t?.entries.get(n),e?.entries.get(n),a?.entries.get(n),r),o=s instanceof Promise?await s:s;i.push(o)}const o=function(t){const e=[];for(const a of t)"conflict"===a.status&&e.push(a.conflict);return e}(i);return{outcomes:i,conflicts:o,cleanMerge:0===o.length}}(d,o,c,f);return u.cleanMerge?{kind:"clean",tree:await Jn(t,u.outcomes)}:{kind:"conflict",outcomes:u.outcomes,conflicts:u.conflicts}},Zn=t=>async(e,a,r,n)=>{const[s,i,o]=await Promise.all([zt(t,e.ourId,{maxBytes:_e}),zt(t,e.theirId,{maxBytes:_e}),void 0!==e.baseId?zt(t,e.baseId,{maxBytes:_e}):Promise.resolve(void 0)]);return function(t,e,a,r={}){if(Ee(e)||Ee(a)||void 0!==t&&Ee(t))return{status:"conflict",conflictType:"binary",markedBytes:e};if(void 0===t)return je(e,a)?{status:"clean",bytes:e}:Ze($e(e),$e(a),r);if(je(e,t))return{status:"clean",bytes:a};if(je(a,t))return{status:"clean",bytes:e};if(je(e,a))return{status:"clean",bytes:e};const n=Se(t,e),s=Se(t,a);if(n.degraded||s.degraded)return Ze($e(e),$e(a),r);const i=function(t,e){const a=[],r=new Set;for(const n of t){const t=Xe(n,e);if(void 0===t){if(Ke(n,e))return;a.push(n)}else r.add(t),a.push(n)}for(const t of e)r.has(t)||a.push(t);return a.sort((t,e)=>t.baseStart-e.baseStart),{changes:a}}(Ve(n.hunks,n.theirsLines),Ve(s.hunks,s.theirsLines));if(void 0===i)return Ze($e(e),$e(a),r);return{status:"clean",bytes:Ge(function(t,e){const a=[];let r=0;for(const n of e.changes){for(let e=r;e<n.baseStart;e++)a.push(t[e]);for(const t of n.replacement)a.push(t);r=n.baseEnd}for(let e=r;e<t.length;e++)a.push(t[e]);return a}(n.oursLines,i))}}(o?.content,s.content,i.content)},Jn=async(t,e)=>{const a=await(async(t,e)=>{const a=[];for(const r of e)if("resolved-deleted"!==r.status&&"conflict"!==r.status){if("resolved-merged"===r.status){const e=await at(t,{type:"blob",content:r.bytes,id:""});a.push({path:r.path,id:e,mode:r.mode});continue}a.push({path:r.path,id:r.id,mode:r.mode})}return a})(t,e);return Qn(t,a)},Qn=async(t,e,a=0)=>{if(a>4096)throw Bt(a);const{files:r,subdirs:n}=(t=>{const e=[],a=new Map;for(const r of t){const t=r.path.indexOf("/");if(-1===t){e.push(r);continue}const n=r.path.slice(0,t),s={path:r.path.slice(t+1),id:r.id,mode:r.mode},i=a.get(n);void 0===i?a.set(n,[s]):i.push(s)}return{files:e,subdirs:a}})(e),s=await Promise.all(Array.from(n,async([e,r])=>({name:e,id:await Qn(t,r,a+1),mode:H.DIRECTORY}))),i=r.map(t=>({name:t.path,id:t.id,mode:t.mode}));return Nt(t,[...i,...s])},ts=async(t,e,a,r,n)=>{es(a.conflicts);const s=await ht(t),i=await Ia(t);try{await rs(t,a.outcomes,a.conflicts,s),await(async(t,e)=>{await t.fs.writeUtf8((t=>`${t.layout.gitDir}/ORIG_HEAD`)(t),`${e}\n`)})(t,r),await(async(t,e)=>{await t.fs.writeUtf8(rn(t),`${e}\n`)})(t,n);const o=an(e.message??`Merge ${e.target}`,{allowEmpty:!1});await(async(t,e)=>{await t.fs.writeUtf8(nn(t),e)})(t,o);const c=ls(a.outcomes,a.conflicts,s);await i.commit(c)}finally{await i.release()}return{kind:"conflict",conflicts:a.conflicts.map(t=>({path:t.path,type:t.type})),mergeHead:n,origHead:r}},es=t=>{for(const e of t)if(Vn.has(e.type))throw D("merge",`conflict type '${e.type}' not supported in v1 (path=${e.path})`)},as=(t,e)=>void 0!==t&&!t(e),rs=async(t,e,a,r)=>{await ns(e,32,e=>ss(t,e,r)),await ns(a,32,e=>is(t,e))},ns=async(t,e,a)=>{let r=0;const n=[],s=async()=>{for(;r<t.length;){const e=t[r++];if(void 0===e)break;await a(e)}},i=Math.min(e,t.length);for(let t=0;t<i;t++)n.push(s());await Promise.all(n)},ss=async(t,e,a)=>{if("unchanged"===e.status||"resolved-known"===e.status){if(as(a,e.path))return;const r=await zt(t,e.id,{maxBytes:_e});return void await cs(t,e.path,r.content)}"resolved-merged"!==e.status?"resolved-deleted"===e.status&&await ds(t,e.path):await cs(t,e.path,e.bytes)},is=async(t,e)=>{const a=await os(t,e);void 0!==a&&await cs(t,e.path,a)},os=async(t,e)=>{if("content"===e.type&&void 0!==e.conflictContent)return e.conflictContent;if("binary"===e.type&&void 0!==e.ourId)return(await zt(t,e.ourId,{maxBytes:_e})).content;if(("add-add"===e.type||"type-change"===e.type)&&void 0!==e.ourId)return(await zt(t,e.ourId,{maxBytes:_e})).content;if("modify-delete"===e.type){const a=e.ourId??e.theirId;if(void 0!==a)return(await zt(t,a,{maxBytes:_e})).content}if("content"===e.type&&void 0!==e.ourId&&void 0!==e.theirId){const[a,r]=await Promise.all([zt(t,e.ourId,{maxBytes:_e}),zt(t,e.theirId,{maxBytes:_e})]);return ze([a.content],[r.content])}},cs=async(t,e,a)=>{const r=`${t.layout.workDir}/${e}`,n=fs(r);void 0!==n&&await t.fs.mkdir(n),await t.fs.write(r,a)},ds=async(t,e)=>{const a=`${t.layout.workDir}/${e}`;await t.fs.exists(a)&&await t.fs.rm(a)},fs=t=>{const e=t.lastIndexOf("/");if(!(e<=0))return t.slice(0,e)},us=t=>({ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:t,uid:0,gid:0,fileSize:0}),ls=(t,e,a)=>{const r=[];for(const e of t)"unchanged"!==e.status&&"resolved-known"!==e.status||r.push(as(a,e.path)?Pt({path:e.path,id:e.id,mode:e.mode}):{...us(e.mode),id:e.id,flags:O,path:e.path});const n=function(t,e){const a=new Set;for(const e of t){if(a.has(e.path))throw ge("duplicate conflict path");a.add(e.path)}const r=[];for(const a of t)for(const t of ve(a))r.push(be(a.path,t,e));return r.sort((t,e)=>{const a=N(t.path,e.path);return 0!==a?a:t.flags.stage-e.flags.stage}),r}(e,us),s=[...r,...n];return s.sort((t,e)=>t.path<e.path?-1:t.path>e.path?1:t.flags.stage-e.flags.stage),s},hs=async(t,e)=>{const a=await z(t),r=a.user?{name:a.user.name,email:a.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,n={};return void 0!==e.author&&(n.explicit=e.author),void 0!==r&&(n.configUser=r),tn(n)},ws=(t,e)=>{const a={author:e};return void 0!==t.committer&&(a.explicit=t.committer),en(a)},ms=async(t,e)=>/^[0-9a-f]{40}$/.test(e)?e:rt(t,`refs/heads/${e}`),ps=async(t,e)=>{const a=await Lt(t,e);if("commit"!==a.type)throw Wt("commit",a.type,e);return a.data.tree},ys=t=>"HEAD"===t||t.includes("/")?t:`refs/heads/${t}`,gs=t=>{if(""===t)throw qt(t,"refspec must not be empty");let e=t,a="normal";if(e.startsWith("+")&&(a="force",e=e.slice(1)),""===e)throw qt(t,"refspec must not be empty after force prefix");const r=vs(e,":");if(r>1)throw qt(t,"refspec must contain at most one colon");if(0===r){const t=ys(e);return{force:a,src:t,dst:t,isDelete:!1}}const n=e.indexOf(":"),s=e.slice(0,n),i=e.slice(n+1);if(""===i)throw qt(t,"destination must not be empty");const o=ys(i);if("HEAD"===o)throw qt(t,"destination must not be HEAD");return""===s?{force:a,src:"",dst:o,isDelete:!0}:{force:a,src:ys(s),dst:o,isDelete:!1}},vs=(t,e)=>{let a=0;for(let r=0;r<t.length;r+=1)t[r]===e&&(a+=1);return a},bs="push:enumerate-objects",ks="push:upload",$s=ut.from("0".repeat(40)),Es="refs/heads/",Ds=new Set(["side-band-64k","side-band"]),xs=async(t,e={})=>{await Na(t),t.progress.start(bs);try{const a=e.remote??"origin",r=await As(t,a),n=await Ls(t,e.refspecs),s=xr(t,void 0!==t.config?.auth?{auth:t.config.auth}:{}),i=await(async(t,e,a)=>Nr(t,e,a,"git-receive-pack"))(t,s,r),o=(await Ns(t,n,i,a,e)).filter(t=>t.localOid!==t.remoteOid);return 0===o.length?{remote:a,url:r,pushedRefs:[]}:(await Is(t,e.noVerify??!1,a,r,o),{remote:a,url:r,pushedRefs:await Hs(t,s,r,i,o,a)})}finally{t.progress.end(bs)}},Is=async(t,e,a,r,n)=>{if(e)return;const s=n.map(Ms).join("");await St(t,"pre-push",{args:[a,r],stdin:s})},Ms=t=>`${t.parsed.isDelete?"(delete)":t.parsed.src} ${t.localOid} ${t.parsed.dst} ${t.remoteOid}\n`,Ss=/^[A-Za-z0-9._-]+$/,As=async(t,e)=>{if(!Ss.test(e))throw s("remote",`invalid remote name: ${e}`);const a=await z(t),r=a.remote?.get(e);if(void 0===r?.url)throw $(e);return r.url},Ls=async(t,e)=>{if(void 0!==e&&e.length>0)return e.map(gs);const a=await Ua(t);if("symbolic"!==a.kind)throw s("refspecs","no-default-refspec (HEAD is detached)");const r=a.target;return[gs(`${r}:${r}`)]},Ns=async(t,e,a,r,n)=>{const s=Os(a.refs),i=[];for(const a of e)i.push(await Us(t,a,s,r,n));return i},Os=t=>{const e=new Map;for(const a of t)e.set(a.name,a.id);return e},Us=async(t,e,a,r,n)=>{const i=a.get(e.dst)??$s;if(e.isDelete){if(i===$s)throw s("refspecs",`delete target ${e.dst} is not advertised`);return{parsed:e,localOid:$s,remoteOid:i}}const o=await rt(t,e.src);return await Ts(t,e,o,i,r,n),{parsed:e,localOid:o,remoteOid:i}},Ts=async(t,e,a,r,n,s)=>{const i=await _s(t,e,n,s);if(void 0===i){if("force"!==e.force&&!0!==s.force&&r!==$s&&!await Rs(t,r,a))throw x(e.dst,a,r)}else if(i!==r)throw I(e.dst,"lease-mismatch",Cs())},_s=async(t,e,a,r)=>{if(void 0===r.forceWithLease)return;if("auto"!==r.forceWithLease)return r.forceWithLease;if(!e.dst.startsWith(Es))throw s("forceWithLease","lease-on-non-branch");const n=e.dst.slice(11);return rt(t,`refs/remotes/${a}/${n}`)},Rs=async(t,e,a)=>{for await(const r of _t(t,{from:[a],ignoreMissing:!0}))if(r.id===e)return!0;return!1},Cs=()=>({unpackOk:!0,refUpdates:[]}),Hs=async(t,e,a,r,n,s)=>{const i=n.filter(t=>!t.parsed.isDelete).map(t=>t.localOid),o=r.refs.map(t=>t.id),c=await Fs(t,i,o),d=await Gt(t,{oids:c}),f=(t=>{const e=jt.filter(t=>t!==$t);return[...kt(t,e),$t]})(r.capabilities),u=(t=>{if(0===t.updates.length)throw W();const e=t.updates.map((e,a)=>((t,e)=>{const a=0===e.length?"":`\0${e.join(" ")}`;return ua.encode(`${t.oldId} ${t.newId} ${t.name}${a}\n`)})(e,0===a?t.capabilities:[])),a=P(e),r=new Uint8Array(a.byteLength+t.packfile.byteLength);return r.set(a,0),r.set(t.packfile,a.byteLength),r})({updates:n.map(Ws),capabilities:f,packfile:d.bytes}),l=await Ps(t,e,a,u),h=await zs(t,l,f);if(!h.unpackOk)throw I(n[0]?.parsed.dst,h.unpackError??"unpack failed",h);return await qs(t,n,h.refUpdates,s)},Fs=async(t,e,a)=>{if(0===e.length)return[];const r=[];for await(const n of Vt(t,{wants:e,haves:a}))r.push(n);return r},Ws=t=>({name:t.parsed.dst,oldId:t.remoteOid,newId:t.localOid}),Ps=async(t,e,a,r)=>{t.progress.start(ks);try{const n=Bs(a),s=await e.request({url:n,method:"POST",headers:{"content-type":"application/x-git-receive-pack-request",accept:"application/x-git-receive-pack-result"},body:r,...void 0!==t.signal?{signal:t.signal}:{}});if(200!==s.statusCode)throw l(s.statusCode,`git-receive-pack returned ${s.statusCode}`);return s}finally{t.progress.end(ks)}},Bs=t=>{let e;try{e=new URL(t)}catch{throw Yt("invalid URL")}if(""!==e.hash)throw Yt("fragment must not be set");const a=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname;return`${e.protocol}//${e.host}${a}/git-receive-pack${e.search}`},zs=async(t,e,a)=>{const r=ye(e.body),n=bt(r);if(js(a)){const e=Xt(n,{onProgress:e=>t.progress.update(ks,0,void 0,M(e))});return wa(bt(e))}return wa(n)},js=t=>t.some(t=>Ds.has(t)),qs=async(t,e,a,r)=>{const n=new Map;for(const t of a)n.set(t.name,t);const s=[];for(const a of e){const e=n.get(a.parsed.dst),i=!0===e?.accepted;i&&await Gs(t,a,r),s.push({name:a.parsed.dst,oldId:a.remoteOid,newId:a.localOid,status:i?"ok":"rejected",...void 0!==e?.reason?{reason:e.reason}:{}})}return s},Gs=async(t,e,a)=>{if(!e.parsed.dst.startsWith(Es))return;if(e.parsed.isDelete)return;const r=`refs/remotes/${a}/${e.parsed.dst.slice(11)}`;Vs(r)&&await st(t,r,e.localOid,{reflogMessage:"update by push"})},Vs=t=>{try{return nt(t),!0}catch{return!1}},Ys=t=>nt(t),Xs=async(t,e={})=>(await Na(t),"exists"===e.action?Zs(t,e.ref):"delete"===e.action?Js(t,e):"expire"===e.action?ti(t,e):Ks(t,e.ref??"HEAD")),Ks=async(t,e)=>{const a=Ys(e),r=await ot(t,a),n=r.length-1,s=r.map((t,e)=>({index:e,selector:`${a}@{${e}}`,entry:r[n-e]}));return{kind:"show",ref:a,entries:s}},Zs=async(t,e)=>({kind:"exists",exists:await Kt(t,Ys(e))}),Js=async(t,e)=>{const a=Ys(e.ref);if(!await Kt(t,a))throw Zt(a);const r=await ot(t,a);if(!Number.isInteger(e.index)||e.index<0)throw Jt(a,e.index,r.length);const n=r.length-1-e.index;if(n<0)throw Jt(a,e.index,r.length);const s=r[n],i=Qs(r,n,!0===e.rewrite);return await ct(t,a,i),{kind:"delete",removed:s}},Qs=(t,e,a)=>{const r=t[e],n=t[e+1];return t.filter((t,a)=>a!==e).map(t=>a&&t===n?{...t,oldId:r.oldId}:t)},ti=async(t,e)=>{const a=Math.floor(Date.now()/1e3),r=ei(e.expire??"90.days.ago",a),n=ei(e.expireUnreachable??"30.days.ago",a),s=await ri(t),i=!0===e.all?await Qt(t):[Ys(e.ref??"HEAD")];let o=0,c=0;for(const e of i){const a=await ot(t,e),i=a.filter(t=>ai(t,s,r,n));o+=a.length-i.length,c+=i.length,i.length!==a.length&&await ct(t,e,i)}return{kind:"expire",removed:o,kept:c}},ei=(t,e)=>{const a=ga(t,e);if(void 0===a)throw S(t);return a},ai=(t,e,a,r)=>{const n=e.has(t.newId)?a:r;return t.identity.timestamp>=n},ri=async t=>{const e=await ni(t),a=new Set;if(0===e.length)return a;for await(const r of _t(t,{from:e,ignoreMissing:!0}))a.add(r.id);return a},ni=async t=>{const e=new Set;for(const a of await te(t)){const r=await si(t,a);void 0!==r&&e.add(r)}return[...e]},si=async(e,a)=>{try{return await rt(e,a)}catch(e){if(e instanceof t)return;throw e}},ii=async(t,e)=>{await Na(t),"hard"===e.mode&&await Oa(t,"reset --hard"),await _a(t);const a=await di(t,e.target);"mixed"===e.mode?await oi(t,a):"hard"===e.mode&&await ci(t,a);const r=await Ua(t),n=`reset: moving to ${e.target}`;return"symbolic"===r.kind?(await st(t,r.target,a,{reflogMessage:n}),{mode:e.mode,id:a,branch:r.target}):(await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${a}\n`),await mt(t,"HEAD",r.id,a,n),{mode:e.mode,id:a,branch:void 0})},oi=async(t,e)=>{const a=await Lt(t,e);if("commit"!==a.type)throw Wt("commit",a.type,e);const r=await ht(t),n=await Ia(t);try{const e=await tt(t),s=await ee(t,{targetTree:a.data.tree,currentIndex:e,...void 0!==r?{sparse:r}:{}});await n.commit(s)}finally{await n.release()}},ci=async(t,e)=>{const a=await Lt(t,e);if("commit"!==a.type)throw Wt("commit",a.type,e);const r=await ht(t),n=await Ia(t);try{const e=await tt(t),s=await wt(t,{targetTree:a.data.tree,currentIndex:e,force:!0,forceRewriteAll:!0,...void 0!==r?{sparse:r}:{}});(s.written>0||s.deleted>0||void 0!==r)&&await n.commit(s.newIndexEntries)}finally{await n.release()}},di=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return e;const a="HEAD"===e?["HEAD"]:[e,`refs/heads/${e}`,`refs/tags/${e}`];for(const e of a)try{return await rt(t,e)}catch{}throw S(e)},fi=new Set(["commit","tree","blob","tag"]),ui=/^:(\d):(.+)$/,li=/^[0-9a-f]{1,6}$/,hi=t=>{throw S(t)},wi=/^\d+$/,mi=t=>{for(let e=0;e<t.length;e+=1){const a=t[e];if("~"===a||"^"===a)return e}return-1},pi=(t,e)=>{const a=[];let r=e;for(;r<t.length;){const e=t[r];if("~"===e){const e=yi(t,r);a.push(e.op),r=e.next}else if("^"===e){const e=gi(t,r);a.push(e.op),r=e.next}else hi(t)}return a},yi=(t,e)=>{let a=e+1;for(;a<t.length&&vi(t.charCodeAt(a));)a+=1;return a===e+1&&hi(t),{op:{kind:"ancestor",n:Number(t.slice(e+1,a))},next:a}},gi=(t,e)=>{if("{"===t[e+1]){const a=t.indexOf("}",e+2);-1===a&&hi(t);const r=t.slice(e+2,a);return fi.has(r)||hi(t),{op:{kind:"peel",target:r},next:a+1}}let a=e+1;for(;a<t.length&&vi(t.charCodeAt(a));)a+=1;const r=t.slice(e+1,a);return{op:{kind:"parent",n:""===r?1:Number(r)},next:a}},vi=t=>t>=48&&t<=57,bi=async(t,e)=>{await Na(t);const a=(""===(r=e)&&hi(r),r.startsWith(":")?(t=>{const e=ui.exec(t);null===e&&hi(t);const a=e[2],r=Number(e[1]);return r>3&&hi(t),{kind:"index-stage",stage:r,path:a}})(r):r.includes("@{")?(t=>{const e=t.indexOf("@{"),a=t.indexOf("}",e+2),r=t.slice(0,e),n=t.slice(e+2,a);return""===n&&hi(t),{kind:"ref-or-hex",base:r,reflog:wi.test(n)?{kind:"index",n:Number(n)}:{kind:"date",raw:n},operations:pi(t.slice(a+1),0)}})(r):(t=>{const e=mi(t),a=-1===e?t:t.slice(0,e);return""===a&&hi(t),li.test(a)&&-1===e&&hi(t),{kind:"ref-or-hex",base:a,operations:-1===e?[]:pi(t,e)}})(r));var r;return ki(t,a,e)},ki=async(t,e,a)=>{if("index-stage"===e.kind)return Ti(t,e);const r=Math.floor(Date.now()/1e3);let n=void 0!==e.reflog?await Di(t,e.base,e.reflog,r,a):await $i(t,e.base);for(const a of e.operations)n=await Ni(t,n,a);return n},$i=async(t,e)=>{if(/^[0-9a-f]{40}$/.test(e))return ut.from(e);for(const a of Ei(e))try{return await rt(t,a)}catch{}throw ae(e)},Ei=t=>[t,`refs/heads/${t}`,`refs/tags/${t}`,`refs/remotes/${t}`],Di=async(t,e,a,r,n)=>{const s=""===e?await xi(t):await Ii(t,e),i=await ot(t,s);if(0===i.length)throw S(n);return"index"===a.kind?Ai(i,a.n,s):Li(i,a.raw,r,n)},xi=async t=>{const e=await Rt(t).resolveDirect("HEAD");return"symbolic"===e.kind?e.target:"HEAD"},Ii=async(t,e)=>{const a=Mi(e),r=Ei(a);for(const e of r)if(await Kt(t,e))return e;for(const e of r)if(await Si(t,e))return e;return a},Mi=t=>{try{return nt(t)}catch{throw S(t)}},Si=async(t,e)=>{try{return await rt(t,e),!0}catch{return!1}},Ai=(t,e,a)=>{const r=t[t.length-1-e];if(void 0===r)throw Jt(a,e,t.length);return r.newId},Li=(t,e,a,r)=>{const n=ga(e,a);if(void 0===n)throw S(r);for(let e=t.length-1;e>=0;e-=1){const a=t[e];if(a.identity.timestamp<=n)return a.newId}return t[0].oldId},Ni=async(t,e,a)=>{if("parent"===a.kind)return Oi(t,e,a.n);if("ancestor"===a.kind){let r=e;for(let e=0;e<a.n;e+=1)r=await Oi(t,r,1);return r}return Ui(t,e,a.target)},Oi=async(t,e,a)=>{const r=await Lt(t,e);if("commit"!==r.type)throw ae(e);const n=r.data.parents[a-1];if(void 0===n)throw ae(e);return n},Ui=async(t,e,a)=>{let r=e;for(let e=0;e<5;e+=1){const e=await Lt(t,r);if(e.type===a)return r;if("tag"!==e.type){if("tree"===a&&"commit"===e.type)return e.data.tree;throw ae(r)}r=e.data.object}throw ae(r)},Ti=async(t,e)=>{const a=await tt(t);for(const t of a.entries)if(t.path===e.path&&t.flags.stage===e.stage)return t.id;throw ae(`${e.stage}:${e.path}`)},_i=async(e,a,r={})=>{if(await Na(e),await Oa(e,"rm"),await _a(e),0===a.length)throw i();const{matcher:n,literalMustMatch:s}=Pa(a),o=await Ia(e,void 0!==r.breakStaleLockMs?{breakStaleLockMs:r.breakStaleLockMs}:{});try{const a=await tt(e).catch(e=>{if(e instanceof t&&("FILE_NOT_FOUND"===(a=e.data.code)||"INVALID_INDEX_HEADER"===a||"INVALID_INDEX_ENTRY"===a))return{entries:[]};var a;throw e}),i=new Map;for(const t of a.entries)i.set(t.path,t);const c=[];for(const[t]of i)Oe(n,t)&&c.push(t);ja(s,c);for(const t of c)i.delete(t);if(!r.cached)for(const a of c)await Fa(e,a).catch(e=>{if(!(e instanceof t&&"FILE_NOT_FOUND"===e.data.code))throw e});return await o.commit(Array.from(i.values())),{removed:c}}finally{await o.release()}},Ri=(t,e)=>`${t}/${e}`,Ci=(t,e)=>void 0===t||t(e),Hi=t=>({kind:"delete",path:t.path,mode:t.mode,id:void 0,previousId:t.id,previousMode:t.mode}),Fi=t=>({kind:"add",path:t.path,mode:t.mode,id:t.id,previousId:void 0,previousMode:void 0}),Wi=t=>({kind:"noop",path:t.path,mode:t.mode,id:t.id,previousId:t.id,previousMode:t.mode}),Pi={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,uid:0,gid:0,fileSize:0},Bi=t=>({...Pi,mode:t.mode,id:t.id,flags:{...O,skipWorktree:!0},path:t.path}),zi=t=>t.flags.skipWorktree?{...t,flags:{...t.flags,skipWorktree:!1}}:t,ji=async(t,e)=>{const a=t.layout.workDir,r=await Ia(t);try{const n=(await tt(t)).entries.filter(t=>0===t.flags.stage),s=await(async(t,e,a,r)=>{const n=[],s=[],i=[];for(const o of a){if(Ci(r.matcher,o.path)){n.push(o);continue}const a=Ri(e,o.path),c=await t.fs.exists(a);c&&await ne(t,a,o.id)&&!0!==r.force?i.push(o):s.push({entry:o,present:c})}return{included:n,removable:s,retained:i}})(t,a,n,e),i=await(async(t,e,a)=>{const r=[];for(const{entry:t,present:e}of a.removable)r.push(e?Hi(t):Wi(t));for(const n of a.included){const a=await t.fs.exists(Ri(e,n.path));r.push(a?Wi(n):Fi(n))}const n={add:0,update:0,delete:0,noop:0};for(const t of r)n[t.kind]+=1;return{entries:r,stats:n}})(t,a,s),o=await re(t,{changeset:i,force:!0,workdir:a}),c=((t,e)=>{const a=new Map;for(const t of e)a.set(t.path,t);const r=[];for(const e of t.included)r.push(a.get(e.path)??zi(e));for(const{entry:e}of t.removable)r.push(Bi(e));for(const e of t.retained)r.push(zi(e));return r})(s,o.writtenEntries);return await r.commit(c),{materialized:o.written,removed:o.deleted,retained:s.retained.map(t=>t.path)}}finally{await r.release()}},qi=async(t,e)=>(await(async t=>{await Na(t),await Oa(t,"sparse-checkout"),await _a(t)})(t),"list"===e.action?Gi(t):"set"===e.action?Xi(t,e):"add"===e.action?Ki(t,e):"reapply"===e.action?Zi(t,e):Ji(t,e)),Gi=async t=>{const e=await z(t);if(!0!==e.core?.sparseCheckout)return{kind:"list",cone:!1,patterns:[]};const a=!0===e.core.sparseCheckoutCone,r=await se(t)??"";return"cone"===(n=ie(r,a).spec).mode?{kind:"list",cone:!0,patterns:[...n.recursive].sort()}:{kind:"list",cone:!1,patterns:n.rules.map(t=>t.source)};var n},Vi=(t,e)=>void 0===e?{matcher:t}:{matcher:t,force:e},Yi=async(t,e,a,r)=>{const n=await ji(t,Vi(ue(e),r));return await fe(t,a),await oe(t,{sparseCheckout:"true",sparseCheckoutCone:"cone"===e.mode?"true":"false"}),eo("cone"===e.mode,n)},Xi=async(t,e)=>{if(0===e.patterns.length)throw s("patterns","set requires at least one pattern");const a=await z(t),r=e.cone??a.core?.sparseCheckoutCone??!0,{spec:n,text:i}=Qi(r,e.patterns);return Yi(t,n,i,e.force)},Ki=async(t,e)=>{if(0===e.patterns.length)throw s("patterns","add requires at least one pattern");const a=await z(t);if(!0!==a.core?.sparseCheckout)throw s("action","add requires sparse checkout to be enabled");const r=!0===a.core.sparseCheckoutCone,n=await se(t)??"",{spec:i,text:o}=to(r,n,e.patterns);return Yi(t,i,o,e.force)},Zi=async(t,e)=>{const a=await ht(t);if(void 0===a)throw s("action","reapply requires sparse checkout to be enabled");const r=await z(t),n=await ji(t,Vi(a,e.force));return eo(!0===r.core?.sparseCheckoutCone,n)},Ji=async(t,e)=>{const a=await ji(t,Vi(void 0,e.force));return await oe(t,{sparseCheckout:"false"}),eo(!1,a)},Qi=(t,e)=>{if(t){const t=ce(e);return{spec:t,text:de(t)}}const a=e.join("\n");return{spec:ie(a,!1).spec,text:a}},to=(t,e,a)=>{if(t){const t=ie(e,!0).spec,r="cone"===t.mode?[...t.recursive,...a]:a,n=ce(r);return{spec:n,text:de(n)}}const r=(""===e?a:[e,...a]).join("\n");return{spec:ie(r,!1).spec,text:r}},eo=(t,e)=>({kind:"applied",cone:t,materialized:e.materialized,removed:e.removed,retained:e.retained}),ao="status:scan",ro=async t=>{await Na(t);const e=await Ua(t),a="symbolic"===e.kind?e.target:void 0,r="direct"===e.kind,n=await tt(t).catch(()=>({entries:[]})),s=new Map;for(const t of n.entries)s.set(t.path,t);t.progress.start(ao);try{const e=((t,e)=>{let a=0,r=0;return{tick:()=>{a+=1;const n=Math.floor(a/100);n>r&&(r=n,t.update(e,a))}}})(t.progress,ao),n=(await Promise.all(Array.from(s).map(async([a,r])=>{const n=await so(t,a,r);return e.tick(),n}))).filter(t=>void 0!==t),i=await Ea(t),o=[];for await(const{path:e}of Q(t,{ignore:i}))s.has(e)||o.push({kind:"untracked",path:e});o.sort(no);const c=[...n,...o];return{branch:a,detached:r,indexChanges:[],workingTreeChanges:c,clean:0===c.length}}finally{t.progress.end(ao)}},no=(t,e)=>t.path<e.path?-1:1,so=async(t,e,a)=>{if(!a.flags.skipWorktree)return void 0===await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{})?{kind:"deleted",path:e}:await oo(t,e,a)?{kind:"modified",path:e}:void 0},io=new TextEncoder,oo=async(t,e,a)=>{try{const r=await Ha(t,Ra(e)),n=io.encode(`blob ${r.byteLength}\0`),s=new Uint8Array(n.byteLength+r.byteLength);return s.set(n,0),s.set(r,n.byteLength),await t.hash.hashHex(s)!==a.id}catch{return!0}},co=async(t,e={})=>{await Na(t);const a=(t=>he(t)?ut.from(t):nt(t))(e.ref??"HEAD"),r=!0===e.recursive,n=[];for await(const s of le(t,{ref:a,recursive:r,...void 0!==e.maxDepth?{maxDepth:e.maxDepth}:{}}))n.push(s);return{kind:"list",entries:n}},fo="refs/tags/",uo=async(t,e)=>(await Na(t),"list"===e.kind?lo(t):"create"===e.kind?ho(t,e):wo(t,e)),lo=async t=>{const e=`${t.layout.gitDir}/refs/tags`;if(!await t.fs.exists(e))return{kind:"list",tags:[]};const a=await t.fs.readdir(e),r=[];for(const e of a){if(!e.isFile)continue;const a=`${fo}${e.name}`,n=await rt(t,a);r.push({name:a,id:n})}return r.sort((t,e)=>t.name<e.name?-1:1),{kind:"list",tags:r}},ho=async(e,a)=>{const r=nt(`${fo}${a.name}`),n=void 0!==a.target?a.target:await mo(e),s=/^[0-9a-f]{40}$/.test(n)?n:await rt(e,n),i=`tag: ${a.name}`;try{await st(e,r,s,!0===a.force?{reflogMessage:i}:{expected:"absent",reflogMessage:i})}catch(e){if(e instanceof t&&"REF_UPDATE_CONFLICT"===e.data.code)throw A(r);throw e}return{kind:"create",name:r,id:s}},wo=async(t,e)=>{const a=nt(`${fo}${e.name}`);if(!await t.fs.exists(`${t.layout.gitDir}/${a}`))throw L(a);return await st(t,a,it,{delete:!0}),{kind:"delete",name:a}},mo=async t=>{const e=await Ua(t);return"direct"===e.kind?e.id:rt(t,e.target)};export{Xa as a,fr as b,gr as c,$r as d,Gr as e,sn as f,Fn as g,vn as h,$n as i,Hn as j,Wn as k,Pn as l,qn as m,ii as n,bi as o,xs as p,_i as q,Xs as r,qi as s,ro as t,co as u,uo as v,Rr as w};
2
- //# sourceMappingURL=index-Jh5R-UmU.js.map