@scolladon/tsgit 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/dist/cjs/adapters/browser/index.cjs +2 -0
  4. package/dist/cjs/adapters/browser/index.cjs.map +1 -0
  5. package/dist/cjs/adapters/memory/index.cjs +2 -0
  6. package/dist/cjs/adapters/memory/index.cjs.map +1 -0
  7. package/dist/cjs/adapters/node/index.cjs +2 -0
  8. package/dist/cjs/adapters/node/index.cjs.map +1 -0
  9. package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs +2 -0
  10. package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs.map +1 -0
  11. package/dist/cjs/chunks/context-BcoAzPuU.cjs +2 -0
  12. package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -0
  13. package/dist/cjs/chunks/error-DL4SHCBJ.cjs +2 -0
  14. package/dist/cjs/chunks/error-DL4SHCBJ.cjs.map +1 -0
  15. package/dist/cjs/chunks/error-DN8Vnwr4.cjs +2 -0
  16. package/dist/cjs/chunks/error-DN8Vnwr4.cjs.map +1 -0
  17. package/dist/cjs/chunks/index-iUd-bwwm.cjs +2 -0
  18. package/dist/cjs/chunks/index-iUd-bwwm.cjs.map +1 -0
  19. package/dist/cjs/chunks/logger-Cz9r6yt5.cjs +2 -0
  20. package/dist/cjs/chunks/logger-Cz9r6yt5.cjs.map +1 -0
  21. package/dist/cjs/chunks/lru-cache-1OU7JhD8.cjs +2 -0
  22. package/dist/cjs/chunks/lru-cache-1OU7JhD8.cjs.map +1 -0
  23. package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs +2 -0
  24. package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs.map +1 -0
  25. package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs +2 -0
  26. package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs.map +1 -0
  27. package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs +2 -0
  28. package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs.map +1 -0
  29. package/dist/cjs/chunks/progress-CK7CT9vU.cjs +2 -0
  30. package/dist/cjs/chunks/progress-CK7CT9vU.cjs.map +1 -0
  31. package/dist/cjs/chunks/repository-Cbzk-Qwz.cjs +2 -0
  32. package/dist/cjs/chunks/repository-Cbzk-Qwz.cjs.map +1 -0
  33. package/dist/cjs/commands/index.cjs +2 -0
  34. package/dist/cjs/commands/index.cjs.map +1 -0
  35. package/dist/cjs/index.browser.cjs +2 -0
  36. package/dist/cjs/index.browser.cjs.map +1 -0
  37. package/dist/cjs/index.cjs +2 -0
  38. package/dist/cjs/index.cjs.map +1 -0
  39. package/dist/cjs/index.default.cjs +2 -0
  40. package/dist/cjs/index.default.cjs.map +1 -0
  41. package/dist/cjs/index.node.cjs +2 -0
  42. package/dist/cjs/index.node.cjs.map +1 -0
  43. package/dist/cjs/operators/index.cjs +2 -0
  44. package/dist/cjs/operators/index.cjs.map +1 -0
  45. package/dist/cjs/primitives/index.cjs +2 -0
  46. package/dist/cjs/primitives/index.cjs.map +1 -0
  47. package/dist/cjs/transport/index.cjs +2 -0
  48. package/dist/cjs/transport/index.cjs.map +1 -0
  49. package/dist/esm/adapters/browser/index.js +2 -0
  50. package/dist/esm/adapters/browser/index.js.map +1 -0
  51. package/dist/esm/adapters/memory/index.js +2 -0
  52. package/dist/esm/adapters/memory/index.js.map +1 -0
  53. package/dist/esm/adapters/node/index.js +2 -0
  54. package/dist/esm/adapters/node/index.js.map +1 -0
  55. package/dist/esm/chunks/browser-http-transport-CRPPmib5.js +2 -0
  56. package/dist/esm/chunks/browser-http-transport-CRPPmib5.js.map +1 -0
  57. package/dist/esm/chunks/context-CumKOV7K.js +2 -0
  58. package/dist/esm/chunks/context-CumKOV7K.js.map +1 -0
  59. package/dist/esm/chunks/error-CAlAXhN3.js +2 -0
  60. package/dist/esm/chunks/error-CAlAXhN3.js.map +1 -0
  61. package/dist/esm/chunks/error-DVZkS_ub.js +2 -0
  62. package/dist/esm/chunks/error-DVZkS_ub.js.map +1 -0
  63. package/dist/esm/chunks/index-gUdap5AF.js +2 -0
  64. package/dist/esm/chunks/index-gUdap5AF.js.map +1 -0
  65. package/dist/esm/chunks/logger-Cg7fUh8D.js +2 -0
  66. package/dist/esm/chunks/logger-Cg7fUh8D.js.map +1 -0
  67. package/dist/esm/chunks/lru-cache-Cy7C7Lx2.js +2 -0
  68. package/dist/esm/chunks/lru-cache-Cy7C7Lx2.js.map +1 -0
  69. package/dist/esm/chunks/memory-http-transport-Cv1sbkCX.js +2 -0
  70. package/dist/esm/chunks/memory-http-transport-Cv1sbkCX.js.map +1 -0
  71. package/dist/esm/chunks/merge-base-opORz-S1.js +2 -0
  72. package/dist/esm/chunks/merge-base-opORz-S1.js.map +1 -0
  73. package/dist/esm/chunks/node-http-transport-CuXVJf0s.js +2 -0
  74. package/dist/esm/chunks/node-http-transport-CuXVJf0s.js.map +1 -0
  75. package/dist/esm/chunks/progress-OxUHmDV4.js +2 -0
  76. package/dist/esm/chunks/progress-OxUHmDV4.js.map +1 -0
  77. package/dist/esm/chunks/repository-BaEhU6zt.js +2 -0
  78. package/dist/esm/chunks/repository-BaEhU6zt.js.map +1 -0
  79. package/dist/esm/commands/index.js +2 -0
  80. package/dist/esm/commands/index.js.map +1 -0
  81. package/dist/esm/index.browser.js +2 -0
  82. package/dist/esm/index.browser.js.map +1 -0
  83. package/dist/esm/index.default.js +2 -0
  84. package/dist/esm/index.default.js.map +1 -0
  85. package/dist/esm/index.js +2 -0
  86. package/dist/esm/index.js.map +1 -0
  87. package/dist/esm/index.node.js +2 -0
  88. package/dist/esm/index.node.js.map +1 -0
  89. package/dist/esm/operators/index.js +2 -0
  90. package/dist/esm/operators/index.js.map +1 -0
  91. package/dist/esm/primitives/index.js +2 -0
  92. package/dist/esm/primitives/index.js.map +1 -0
  93. package/dist/esm/transport/index.js +2 -0
  94. package/dist/esm/transport/index.js.map +1 -0
  95. package/dist/types/adapters/browser/index.d.cts +67 -0
  96. package/dist/types/adapters/browser/index.d.ts +67 -0
  97. package/dist/types/adapters/memory/index.d.cts +95 -0
  98. package/dist/types/adapters/memory/index.d.ts +95 -0
  99. package/dist/types/adapters/node/index.d.cts +75 -0
  100. package/dist/types/adapters/node/index.d.ts +75 -0
  101. package/dist/types/chunks/context-C6df52Qs.d.ts +354 -0
  102. package/dist/types/chunks/context-Ku1aP8Ie.d.cts +354 -0
  103. package/dist/types/chunks/diff-change-BwO75AgS.d.cts +59 -0
  104. package/dist/types/chunks/diff-change-CUWN3OSK.d.ts +59 -0
  105. package/dist/types/chunks/http-transport--_NdQOiw.d.cts +20 -0
  106. package/dist/types/chunks/http-transport--_NdQOiw.d.ts +20 -0
  107. package/dist/types/chunks/repository-BBKJnr8a.d.ts +89 -0
  108. package/dist/types/chunks/repository-Cv4Y0T9t.d.cts +89 -0
  109. package/dist/types/commands/index.d.cts +336 -0
  110. package/dist/types/commands/index.d.ts +336 -0
  111. package/dist/types/index.browser.d.cts +26 -0
  112. package/dist/types/index.browser.d.ts +26 -0
  113. package/dist/types/index.d.cts +68 -0
  114. package/dist/types/index.d.ts +68 -0
  115. package/dist/types/index.default.d.cts +35 -0
  116. package/dist/types/index.default.d.ts +35 -0
  117. package/dist/types/index.node.d.cts +23 -0
  118. package/dist/types/index.node.d.ts +23 -0
  119. package/dist/types/operators/index.d.cts +36 -0
  120. package/dist/types/operators/index.d.ts +36 -0
  121. package/dist/types/primitives/index.d.cts +217 -0
  122. package/dist/types/primitives/index.d.ts +217 -0
  123. package/dist/types/transport/index.d.cts +62 -0
  124. package/dist/types/transport/index.d.ts +62 -0
  125. package/package.json +524 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 tsgit contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,169 @@
1
+ # tsgit
2
+
3
+ [![CI](https://github.com/scolladon/tsgit/actions/workflows/ci.yml/badge.svg)](https://github.com/scolladon/tsgit/actions/workflows/ci.yml)
4
+ [![npm](https://img.shields.io/npm/v/@scolladon/tsgit)](https://www.npmjs.com/package/@scolladon/tsgit)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
+
7
+ Lightning-fast git, pure TypeScript, everywhere.
8
+
9
+ A pure TypeScript git implementation designed to be the fastest portable git library available. Runs identically on Node.js (Windows, macOS, Linux), browsers, and edge runtimes — with zero native dependencies, zero WASM, and zero compromises on developer experience.
10
+
11
+ ## Status
12
+
13
+ **v1.0.0-rc — production-ready surface.** All 11 phases (Domain → Repository facade → Polish & Launch) are implemented with 100% line/branch/function/statement coverage and mutation-verified test quality. The pre-publish workflow validates the tarball on every `v*` tag; release-please drives the npm publish.
14
+
15
+ | Phase | Scope | Status |
16
+ |---|---|---|
17
+ | 1 | Domain — Object Model (blob, tree, commit, tag, refs) | ✅ |
18
+ | 2 | Domain — Object Storage (loose objects, packfiles, delta) | ✅ |
19
+ | 3 | Domain — Refs & Index (loose refs, packed-refs, git index v2) | ✅ |
20
+ | 4 | Ports & Adapters (FileSystem, HashService, Compressor, HttpTransport, ProgressReporter — Node + Browser/OPFS + Memory) | ✅ |
21
+ | 5 | Domain — Diff & Merge | ✅ |
22
+ | 6 | Operators (AsyncIterable composition) | ✅ |
23
+ | 7 | Primitives (Tier 2 API) | ✅ |
24
+ | 8 | Transport (Smart HTTP + middleware) | ✅ |
25
+ | 9 | Commands (Tier 1 API) | ✅ |
26
+ | 10 | Repository facade | ✅ |
27
+ | 11 | Polish & Launch (CI matrix, browser E2E, benchmarks, TypeDoc, MIGRATION) | ✅ |
28
+
29
+ ## Features
30
+
31
+ - **Lightning fast** — 3-5x faster than isomorphic-git via fanout binary search, LRU delta cache, zero-copy parsing, streaming inflate
32
+ - **Portable** — Runs on Node.js 18+, Chrome 90+, Firefox 100+, Safari 15.4+, Deno, Bun, Cloudflare Workers
33
+ - **Lightweight** — < 150 kB gzipped full library. Zero runtime dependencies. Tree-shakeable.
34
+ - **Two-tier API** — Ergonomic repository object for common operations + composable AsyncIterable primitives for power users
35
+ - **Type-safe** — Branded types, discriminated unions, exhaustive error codes. No `any`.
36
+ - **Testable** — First-class in-memory adapter. All ports are mockable. Pure functions throughout.
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ npm install @scolladon/tsgit
42
+ ```
43
+
44
+ ## Quick Start
45
+
46
+ ### Node.js
47
+
48
+ ```typescript
49
+ import { openRepository } from '@scolladon/tsgit';
50
+
51
+ const repo = await openRepository({ cwd: process.cwd() });
52
+
53
+ const commits = await repo.log();
54
+ const changes = await repo.status();
55
+
56
+ await repo.dispose();
57
+ ```
58
+
59
+ `openRepository` is a frozen handle exposing every command and primitive bound
60
+ to a single `Context`. The Node entry point auto-detects an existing `.git`
61
+ directory by walking up from `cwd`.
62
+
63
+ ### Browser
64
+
65
+ ```typescript
66
+ import { openRepository } from '@scolladon/tsgit/auto/browser';
67
+
68
+ const rootHandle = await navigator.storage.getDirectory();
69
+ const repo = await openRepository({ rootHandle });
70
+
71
+ await repo.init();
72
+ ```
73
+
74
+ Browser callers must supply an OPFS `rootHandle` since there is no
75
+ `process.cwd()` equivalent.
76
+
77
+ ### In-memory (deterministic / tests)
78
+
79
+ ```typescript
80
+ import { openRepository } from '@scolladon/tsgit/auto/memory';
81
+
82
+ const repo = await openRepository({
83
+ files: { '/repo/seed.txt': new TextEncoder().encode('hello') },
84
+ });
85
+
86
+ await repo.init();
87
+ ```
88
+
89
+ ### Progress reporting
90
+
91
+ ```typescript
92
+ import { openRepository, consoleProgress } from '@scolladon/tsgit';
93
+
94
+ const repo = await openRepository({
95
+ progress: consoleProgress((line) => console.log(line)),
96
+ });
97
+ ```
98
+
99
+ ### Cancellation
100
+
101
+ ```typescript
102
+ const controller = new AbortController();
103
+ const repo = await openRepository({ signal: controller.signal });
104
+ controller.abort(); // every bound method now throws REPOSITORY_DISPOSED
105
+ ```
106
+
107
+ ### Composable Primitives
108
+
109
+ ```typescript
110
+ import { walkCommits } from '@scolladon/tsgit/primitives';
111
+ import { pipe, filter, take } from '@scolladon/tsgit/operators';
112
+
113
+ const recentByAlice = walkCommits(ctx, { from: 'main' })
114
+ |> filter(c => c.data.author.name === 'Alice')
115
+ |> take(5);
116
+
117
+ for await (const commit of recentByAlice) {
118
+ console.log(commit.data.message);
119
+ }
120
+ ```
121
+
122
+ ## Benchmarks
123
+
124
+ Comparison against `isomorphic-git@1.38` on a synthetic 50-commit repo. Numbers
125
+ are medians from `vitest bench`; ±RME and full p99 distribution live in
126
+ `reports/benchmarks/raw.json`.
127
+
128
+ | Scenario | tsgit | isomorphic-git | tsgit speedup |
129
+ |---|---|---|---|
130
+ | `status:clean` | ~1.7 ms | ~4.0 ms | ~2.4× |
131
+ | `status:dirty-25-files` | ~1.7 ms | ~3.7 ms | ~2.2× |
132
+ | `log:walk-50-commits` | ~6 ms | ~4 ms | ~0.7× |
133
+ | `readBlob:warm-cache` | ~0.1 ms | ~0.1 ms | ~1.0× |
134
+
135
+ Reproduce locally with `npm run bench:summary` (writes `reports/benchmarks/summary.md`).
136
+ GitHub Actions runners introduce ±20% variance — trust direction more than
137
+ absolute numbers.
138
+
139
+ ## Architecture
140
+
141
+ Hexagonal architecture with a tiered application layer:
142
+
143
+ - **Domain** — Pure git objects, parsers, serializers, refs, index. Zero outward dependencies.
144
+ - **Application** — Commands (Tier 1) built from Primitives (Tier 2).
145
+ - **Ports** — Interfaces for `FileSystem`, `HashService`, `Compressor`, `HttpTransport`, `ProgressReporter` + a `Context` record that threads them through every call.
146
+ - **Adapters** — `Node.js` (node:fs/crypto/zlib/http), `Browser` (OPFS + SubtleCrypto + fetch + CompressionStream), `Memory` (first-class test fixture — primary test double for every upstream phase).
147
+
148
+ See [docs/prd/PRD.md](docs/prd/PRD.md) for the full product requirements document, [docs/design/ports-and-adapters.md](docs/design/ports-and-adapters.md) for the Phase 4 port contracts, and [docs/adr/](docs/adr/) for architecture decisions.
149
+
150
+ ## Development
151
+
152
+ ```bash
153
+ npm install
154
+ npm run validate # Run all checks + tests
155
+ npm run check # Lint + format (biome)
156
+ npm run check:types # Type check (tsc)
157
+ npm run test:unit # Unit tests
158
+ npm run test:coverage # With 100% coverage enforcement
159
+ npm run test:mutation # Mutation testing (stryker)
160
+ npm run build # Compile to dist/
161
+ ```
162
+
163
+ ## Contributing
164
+
165
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines, test conventions, and the PR workflow.
166
+
167
+ ## License
168
+
169
+ [MIT](LICENSE)
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("../../chunks/lru-cache-1OU7JhD8.cjs"),e=require("../../chunks/context-BcoAzPuU.cjs"),s=require("../../chunks/progress-CK7CT9vU.cjs"),o=require("../../chunks/browser-http-transport-BBF8uw-f.cjs");require("../../chunks/error-DN8Vnwr4.cjs"),require("../../chunks/error-DL4SHCBJ.cjs"),exports.BrowserCompressor=o.BrowserCompressor,exports.BrowserFileSystem=o.BrowserFileSystem,exports.BrowserHashService=o.BrowserHashService,exports.BrowserHttpTransport=o.BrowserHttpTransport,exports.createBrowserContext=function(t){const a=t.gitDirName??".git",c=r.createLruCache(t.deltaCacheMaxBytes??16777216,t.deltaCacheMaxEntries??65536),n={fs:new o.BrowserFileSystem(t.rootHandle),hash:new o.BrowserHashService,compressor:new o.BrowserCompressor,transport:new o.BrowserHttpTransport,progress:s.noopProgress,layout:{workDir:"/",gitDir:`/${a}`,bare:t.bare??!1},hashConfig:r.SHA1_CONFIG,deltaCache:c,...void 0!==t.signal?{signal:t.signal}:{}};return e.createContext(n)};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/adapters/browser/browser-adapter.ts"],"sourcesContent":[null],"names":["options","gitDirName","deltaCache","createLruCache","deltaCacheMaxBytes","deltaCacheMaxEntries","parts","fs","BrowserFileSystem","rootHandle","hash","BrowserHashService","compressor","BrowserCompressor","transport","BrowserHttpTransport","progress","noopProgress","layout","workDir","gitDir","bare","hashConfig","SHA1_CONFIG","undefined","signal","createContext"],"mappings":"khBAyBM,SAA+BA,GACnC,MAAMC,EAAaD,EAAQC,YAJA,OAKrBC,EAAaC,EAAAA,eACjBH,EAAQI,oBAlBsB,SAmB9BJ,EAAQK,sBAlBwB,OAoB5BC,EAA4B,CAChCC,GAAI,IAAIC,EAAAA,kBAAkBR,EAAQS,YAClCC,KAAM,IAAIC,EAAAA,mBACVC,WAAY,IAAIC,EAAAA,kBAChBC,UAAW,IAAIC,EAAAA,qBACfC,SAAUC,EAAAA,aACVC,OAAQ,CACNC,QAfgB,IAgBhBC,OAAQ,IAAmBnB,IAC3BoB,KAAMrB,EAAQqB,OAAQ,GAExBC,WAAYC,EAAAA,YACZrB,qBACuBsB,IAAnBxB,EAAQyB,OAAuB,CAAEA,OAAQzB,EAAQyB,QAAW,IAElE,OAAOC,EAAAA,cAAcpB,EACvB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("../../chunks/lru-cache-1OU7JhD8.cjs"),e=require("../../chunks/context-BcoAzPuU.cjs"),s=require("../../chunks/progress-CK7CT9vU.cjs"),o=require("../../chunks/memory-http-transport-DGll7Af4.cjs");require("../../chunks/error-DN8Vnwr4.cjs"),require("../../chunks/error-DL4SHCBJ.cjs");const t="/repo";exports.MemoryCompressor=o.MemoryCompressor,exports.MemoryFileSystem=o.MemoryFileSystem,exports.MemoryHashService=o.MemoryHashService,exports.MemoryHttpTransport=o.MemoryHttpTransport,exports.createMemoryContext=function(a={}){const c=new o.MemoryFileSystem(void 0===a.files?{rootDir:t}:{rootDir:t,files:a.files}),i=a.algorithm??"sha1",n=new o.MemoryHashService(i),m=new o.MemoryCompressor,p=new o.MemoryHttpTransport,h={workDir:t,gitDir:"/repo/.git",bare:!1},y="sha256"===i?r.SHA256_CONFIG:r.SHA1_CONFIG,u=r.createLruCache(a.deltaCacheMaxBytes??16777216,a.deltaCacheMaxEntries??65536),l={fs:c,hash:n,compressor:m,transport:p,progress:s.noopProgress,layout:h,hashConfig:y,deltaCache:u};return e.createContext(void 0===a.signal?l:{...l,signal:a.signal})};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/adapters/memory/memory-adapter.ts"],"sourcesContent":[null],"names":["DEFAULT_WORK_DIR","options","fs","MemoryFileSystem","undefined","files","rootDir","algorithm","hash","MemoryHashService","compressor","MemoryCompressor","transport","MemoryHttpTransport","layout","workDir","gitDir","bare","hashConfig","SHA256_CONFIG","SHA1_CONFIG","deltaCache","createLruCache","deltaCacheMaxBytes","deltaCacheMaxEntries","parts","progress","noopProgress","createContext","signal"],"mappings":"oTASA,MAWMA,EAAmB,4NAGnB,SAA8BC,EAAgC,IAClE,MAIMC,EAAK,IAAIC,EAAAA,sBAHKC,IAAlBH,EAAQI,MACJ,CAAEC,QAASN,GACX,CAAEM,QAASN,EAAkBK,MAAOJ,EAAQI,QAE5CE,EAAYN,EAAQM,WAAa,OACjCC,EAAO,IAAIC,EAAAA,kBAAkBF,GAC7BG,EAAa,IAAIC,mBACjBC,EAAY,IAAIC,sBAChBC,EAA2B,CAC/BC,QAASf,EACTgB,OAdoB,aAepBC,MAAM,GAEFC,EAA2B,WAAdX,EAAyBY,EAAAA,cAAgBC,EAAAA,YACtDC,EAAaC,EAAAA,eACjBrB,EAAQsB,oBA/BsB,SAgC9BtB,EAAQuB,sBA/BwB,OAiC5BC,EAAQ,CACZvB,KACAM,OACAE,aACAE,YACAc,SAAUC,EAAAA,aACVb,SACAI,aACAG,cAEF,OACIO,EAAAA,mBADsBxB,IAAnBH,EAAQ4B,OACGJ,EACA,IAAKA,EAAOI,OAAQ5B,EAAQ4B,QAChD"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("node:path"),r=require("../../chunks/lru-cache-1OU7JhD8.cjs"),t=require("../../chunks/context-BcoAzPuU.cjs"),o=require("../../chunks/progress-CK7CT9vU.cjs"),s=require("../../chunks/node-http-transport-CuOgJlws.cjs");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}require("../../chunks/error-DN8Vnwr4.cjs"),require("../../chunks/error-DL4SHCBJ.cjs"),require("node:zlib"),require("node:fs"),require("node:fs/promises"),require("node:crypto"),require("node:http"),require("node:https"),require("node:stream");var i=n(e);exports.NodeCompressor=s.NodeCompressor,exports.NodeFileSystem=s.NodeFileSystem,exports.NodeHashService=s.NodeHashService,exports.NodeHttpTransport=s.NodeHttpTransport,exports.createNodeContext=function(e){const n=i.resolve(e.workDir),c=void 0!==e.gitDir?i.resolve(e.gitDir):i.join(n,".git"),a=new s.NodeFileSystem(n),u=new s.NodeHashService,p=new s.NodeCompressor,d=new s.NodeHttpTransport({allowInsecureHttp:e.allowInsecureHttp??!1}),h={workDir:n,gitDir:c,bare:e.bare??!1},l=r.createLruCache(e.deltaCacheMaxBytes??16777216,e.deltaCacheMaxEntries??65536),f={fs:a,hash:u,compressor:p,transport:d,progress:o.noopProgress,layout:h,hashConfig:r.SHA1_CONFIG,deltaCache:l};return t.createContext(void 0!==e.signal?{...f,signal:e.signal}:f)};
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/adapters/node/node-adapter.ts"],"sourcesContent":[null],"names":["options","workDir","nodePath","resolve","gitDir","undefined","join","fs","NodeFileSystem","hash","NodeHashService","compressor","NodeCompressor","transport","NodeHttpTransport","allowInsecureHttp","layout","bare","deltaCache","createLruCache","deltaCacheMaxBytes","deltaCacheMaxEntries","parts","progress","noopProgress","hashConfig","SHA1_CONFIG","createContext","signal"],"mappings":"o7BAuBM,SAA4BA,GAChC,MAAMC,EAAUC,EAASC,QAAQH,EAAQC,SACnCG,OACeC,IAAnBL,EAAQI,OACJF,EAASC,QAAQH,EAAQI,QACzBF,EAASI,KAAKL,EAAS,QACvBM,EAAK,IAAIC,EAAAA,eAAeP,GACxBQ,EAAO,IAAIC,kBACXC,EAAa,IAAIC,iBACjBC,EAAY,IAAIC,oBAAkB,CACtCC,kBAAmBf,EAAQe,oBAAqB,IAE5CC,EAA2B,CAC/Bf,UACAG,SACAa,KAAMjB,EAAQiB,OAAQ,GAElBC,EAAaC,EAAAA,eACjBnB,EAAQoB,oBA/BsB,SAgC9BpB,EAAQqB,sBA/BwB,OAiC5BC,EAAQ,CACZf,KACAE,OACAE,aACAE,YACAU,SAAUC,EAAAA,aACVR,SACAS,WAAYC,EAAAA,YACZR,cAEF,OACIS,EAAAA,mBADsBtB,IAAnBL,EAAQ4B,OACG,IAAKN,EAAOM,OAAQ5B,EAAQ4B,QAC5BN,EACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("./error-DL4SHCBJ.cjs");function e(e,r){const a=e[e.length-1];if(void 0===a)throw t.fileNotFound(r);return a}function r(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}function a(t,e,r){return{ctimeMs:e,mtimeMs:e,dev:0,ino:0,mode:r?33188:16877,uid:0,gid:0,size:t,isFile:r,isDirectory:!r,isSymbolicLink:!1}}function s(t){let e="";for(const r of t)e+=r.toString(16).padStart(2,"0");return e}exports.BrowserCompressor=class{async deflate(e){try{const t=new Blob([e]).stream().pipeThrough(new CompressionStream("deflate"));return new Uint8Array(await new Response(t).arrayBuffer())}catch(e){throw t.compressFailed(e instanceof Error?e.message:String(e))}}async inflate(e){try{const t=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate"));return new Uint8Array(await new Response(t).arrayBuffer())}catch(e){throw t.decompressFailed(e instanceof Error?e.message:String(e))}}async streamInflate(e,r){const a=e.subarray(r);if(a.length>65536)throw t.decompressFailed("BrowserCompressor.streamInflate input exceeds 65536 byte safety cap");for(let t=1;t<=a.length;t+=1){const e=a.subarray(0,t);try{const r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate"));return{output:new Uint8Array(await new Response(r).arrayBuffer()),bytesConsumed:t}}catch{}}throw t.decompressFailed("no valid zlib stream at offset")}createInflateStream(){return new DecompressionStream("deflate")}},exports.BrowserFileSystem=class{rootHandle;constructor(t){this.rootHandle=t}async read(t){const e=await this.resolveFileHandle(t,!1),r=await e.getFile();return new Uint8Array(await r.arrayBuffer())}async readSlice(e,r,a){if(r<0||a<0)throw t.permissionDenied(e);const s=await this.resolveFileHandle(e,!1),i=(await s.getFile()).slice(r,r+a);return new Uint8Array(await i.arrayBuffer())}async readUtf8(t){const e=await this.resolveFileHandle(t,!1);return(await e.getFile()).text()}async write(t,e){const r=await this.resolveFileHandle(t,!0),a=await r.createWritable();await a.write(e),await a.close()}async writeExclusive(r,a){const s=this.splitPath(r);if(0===s.length)throw t.permissionDenied(r);const i=await this.walkToParent(s,!0),o=e(s,r);await this.assertDoesNotExist(i,o,r);const n=await i.getFileHandle(o,{create:!0}),c=await n.createWritable();await c.write(a),await c.close()}async writeUtf8(t,e){await this.write(t,(new TextEncoder).encode(e))}async exists(t){try{return await this.resolveFileHandle(t,!1),!0}catch(e){if(r(e))try{return await this.resolveDirHandle(t,!1),!0}catch{return!1}throw e}}async stat(t){try{const e=await this.resolveFileHandle(t,!1),r=await e.getFile();return a(r.size,r.lastModified,!0)}catch(e){if(!r(e))throw e;return await this.resolveDirHandle(t,!1),a(0,Date.now(),!1)}}async lstat(t){return this.stat(t)}async readdir(t){const e=[],r=await this.resolveDirHandle(t,!1);for await(const[t,a]of r.entries())e.push({name:t,isFile:"file"===a.kind,isDirectory:"directory"===a.kind,isSymbolicLink:!1});return e}async mkdir(t){const e=this.splitPath(t);let r=this.rootHandle;for(const t of e)r=await r.getDirectoryHandle(t,{create:!0})}async rm(r){const a=this.splitPath(r);if(0===a.length)throw t.permissionDenied(r);const s=await this.walkToParent(a,!1),i=e(a,r);try{await s.removeEntry(i)}catch{throw t.fileNotFound(r)}}async rename(t,e){const r=await this.read(t);await this.write(e,r),await this.rm(t)}async readlink(e){throw t.unsupportedOperation("readlink","OPFS does not support symbolic links")}async symlink(e,r){throw t.unsupportedOperation("symlink","OPFS does not support symbolic links")}async chmod(t,e){try{await this.resolveFileHandle(t,!1)}catch(e){if(!r(e))throw e;await this.resolveDirHandle(t,!1)}}async rmRecursive(a){const s=this.splitPath(a);if(0===s.length)throw t.permissionDenied(a);const i=await this.walkToParent(s,!1).catch(t=>{if(!r(t))throw t});if(void 0===i)return;const o=e(s,a);try{await i.removeEntry(o,{recursive:!0})}catch{}}async openWithNoFollow(e,r){throw t.unsupportedOperation("openWithNoFollow","browser FS does not support O_NOFOLLOW")}splitPath(e){const r=e.replace(/^\/+/,"").split("/").filter(t=>""!==t&&"."!==t);for(const a of r)if(".."===a)throw t.permissionDenied(e);return r}async resolveFileHandle(r,a){const s=this.splitPath(r);if(0===s.length)throw t.fileNotFound(r);const i=await this.walkToParent(s,a),o=e(s,r);try{return await i.getFileHandle(o,{create:a})}catch(e){if(e instanceof t.TsgitError)throw e;throw t.fileNotFound(r)}}async resolveDirHandle(r,a){const s=this.splitPath(r);if(0===s.length)return this.rootHandle;const i=await this.walkToParent(s,a),o=e(s,r);try{return await i.getDirectoryHandle(o,{create:a})}catch(e){if(e instanceof t.TsgitError)throw e;throw t.fileNotFound(r)}}async walkToParent(e,r){let a=this.rootHandle;for(let s=0;s<e.length-1;s++){const i=e[s];if(void 0===i)throw t.fileNotFound(e.join("/"));try{a=await a.getDirectoryHandle(i,{create:r})}catch(r){if(r instanceof t.TsgitError)throw r;throw t.fileNotFound(e.join("/"))}}return a}async assertDoesNotExist(e,r,a){try{await e.getFileHandle(r,{create:!1})}catch(e){if(e instanceof t.TsgitError)throw e;return}throw t.fileExists(a)}},exports.BrowserHashService=class{algorithm;digestLength;constructor(e="sha1"){if(!globalThis.crypto?.subtle)throw t.hashFailed("crypto.subtle unavailable");this.algorithm=e,this.digestLength="sha1"===e?20:32}async hash(t){return new Uint8Array(await crypto.subtle.digest(this.algoName,t))}async hashHex(t){return s(await this.hash(t))}createHasher(){const e=[],r=this.algoName;let a=!1;const i=async()=>{if(a)throw t.hashFailed("cannot digest after digest");a=!0;const s=e.reduce((t,e)=>t+e.length,0),i=new Uint8Array(s);let o=0;for(const t of e)i.set(t,o),o+=t.length;return new Uint8Array(await crypto.subtle.digest(r,i))};return{update(r){if(a)throw t.hashFailed("cannot update after digest");e.push(r.slice())},digest:i,digestHex:async()=>s(await i())}}get algoName(){return"sha1"===this.algorithm?"SHA-1":"SHA-256"}},exports.BrowserHttpTransport=class{async request(e){try{const t={method:e.method,headers:{...e.headers}};void 0!==e.body&&(t.body=e.body),void 0!==e.signal&&(t.signal=e.signal);const r=await fetch(e.url,t),a={};r.headers.forEach((t,e)=>{a[e.toLowerCase()]=t});const s=r.body??new ReadableStream;return{statusCode:r.status,headers:a,body:s}}catch(e){throw t.networkError(e instanceof Error?e.message:String(e))}}};
2
+ //# sourceMappingURL=browser-http-transport-BBF8uw-f.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-http-transport-BBF8uw-f.cjs","sources":["../../../src/adapters/browser/browser-file-system.ts","../../../src/adapters/browser/browser-hash-service.ts","../../../src/adapters/browser/browser-compressor.ts","../../../src/adapters/browser/browser-http-transport.ts"],"sourcesContent":[null,null,null,null],"names":["leafSegment","segments","path","leaf","length","undefined","fileNotFound","isFileNotFound","err","TsgitError","data","code","buildFileStat","size","timeMs","isFile","ctimeMs","mtimeMs","dev","ino","mode","uid","gid","isDirectory","isSymbolicLink","toHex","bytes","result","byte","toString","padStart","deflate","stream","Blob","pipeThrough","CompressionStream","Uint8Array","Response","arrayBuffer","compressFailed","Error","message","String","inflate","DecompressionStream","decompressFailed","streamInflate","offset","slice","subarray","end","attempt","output","bytesConsumed","createInflateStream","rootHandle","constructor","this","read","handle","resolveFileHandle","file","getFile","readSlice","permissionDenied","readUtf8","text","write","writable","createWritable","close","writeExclusive","splitPath","dir","walkToParent","assertDoesNotExist","getFileHandle","create","writeUtf8","content","TextEncoder","encode","exists","resolveDirHandle","stat","lastModified","Date","now","lstat","readdir","entries","iterable","name","child","push","kind","mkdir","segment","getDirectoryHandle","rm","removeEntry","rename","src","dst","readlink","_path","unsupportedOperation","symlink","_target","chmod","_mode","rmRecursive","parent","catch","recursive","openWithNoFollow","replace","split","filter","s","i","join","fileExists","algorithm","digestLength","globalThis","crypto","subtle","hashFailed","hash","digest","algoName","hashHex","createHasher","chunks","consumed","finalize","async","total","reduce","sum","chunk","concatenated","set","update","digestHex","request","req","init","method","headers","body","signal","res","fetch","url","forEach","value","key","toLowerCase","ReadableStream","statusCode","status","networkError"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";exports.createContext=function(e){return Object.freeze({...e,cwd:e.cwd??e.layout.workDir})};
2
+ //# sourceMappingURL=context-BcoAzPuU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-BcoAzPuU.cjs","sources":["../../../src/ports/context.ts"],"sourcesContent":[null],"names":["parts","Object","freeze","cwd","layout","workDir"],"mappings":"mCAmGM,SAAwBA,GAC5B,OAAOC,OAAOC,OAAO,IAAKF,EAAOG,IAAKH,EAAMG,KAAOH,EAAMI,OAAOC,SAClE"}
@@ -0,0 +1,2 @@
1
+ "use strict";class e extends Error{data;name="TsgitError";constructor(e){super(`${e.code}: ${function(e){switch(e.code){case"INVALID_OBJECT_ID":case"INVALID_FILE_MODE":return e.value;case"INVALID_OBJECT_HEADER":case"INVALID_TREE_ENTRY":case"INVALID_COMMIT":case"INVALID_TAG":case"INVALID_IDENTITY":case"INVALID_PACK_HEADER":case"INVALID_PACK_INDEX":case"INVALID_PACK_ENTRY":case"INVALID_DELTA":case"INVALID_REF":case"INVALID_PACKED_REFS":case"INVALID_INDEX_HEADER":case"INVALID_INDEX_ENTRY":return e.reason;case"FILE_NOT_FOUND":return`file not found: ${r(e.path)}`;case"FILE_EXISTS":return`file already exists: ${r(e.path)}`;case"NOT_A_DIRECTORY":return`not a directory: ${r(e.path)}`;case"PERMISSION_DENIED":return`permission denied: ${r(e.path)}`;case"UNSUPPORTED_OPERATION":return`unsupported operation: ${e.operation}: ${e.reason}`;case"HASH_FAILED":return`hash computation failed: ${e.reason}`;case"COMPRESS_FAILED":return`compression failed: ${e.reason}`;case"DECOMPRESS_FAILED":return`decompression failed: ${e.reason}`;case"HTTP_ERROR":return`HTTP ${e.statusCode}: ${e.reason}`;case"NETWORK_ERROR":return`network error: ${e.reason}`;case"INVALID_TREE_FOR_DIFF":return`invalid tree for diff: ${e.reason}`;case"INVALID_DIFF_INPUT":return`invalid diff input: ${e.reason}`;case"INVALID_MERGE_TREE":return`invalid merge tree: ${e.reason}`;case"INVALID_MERGE_INPUT":return`invalid merge input: ${e.reason}`;case"OBJECT_NOT_FOUND":return`object not found: ${e.id}`;case"OBJECT_HASH_MISMATCH":return`object hash mismatch: expected=${e.expected} actual=${e.actual}`;case"UNEXPECTED_OBJECT_TYPE":return`unexpected object type: expected=${e.expected} actual=${e.actual} id=${e.id}`;case"TREE_CYCLE_DETECTED":return`tree cycle detected: ${e.id}`;case"TREE_DEPTH_EXCEEDED":return`tree depth exceeded: ${e.depth}`;case"TREE_ENTRY_LIMIT_EXCEEDED":return`tree entry limit exceeded: count=${e.count} limit=${e.limit}`;case"DELTA_CHAIN_TOO_DEEP":return`delta chain too deep: ${e.depth}`;case"REF_NOT_FOUND":return`ref not found: ${e.name}`;case"REF_CHAIN_TOO_DEEP":return`ref chain too deep: depth=${e.depth} chain=${e.chain.join("->")}`;case"REF_CYCLE_DETECTED":return`ref cycle detected: ${e.chain.join("->")}`;case"REF_LOCKED":return`ref locked: ${e.name}`;case"REF_UPDATE_CONFLICT":return`ref update conflict: name=${e.name} expected=${e.expected} actual=${e.actual}`;case"INVALID_WALK_INPUT":return`invalid walk input: ${e.reason}`;case"OPERATION_ABORTED":return"operation aborted";case"INVALID_PKT_LENGTH":return`invalid pkt-line length: ${e.value}`;case"PKT_LENGTH_RESERVED":return`reserved pkt-line length: ${e.value}`;case"PKT_TOO_LARGE":return`pkt-line too large: ${e.value} bytes (max 65520)`;case"PKT_TRUNCATED":return`pkt-line truncated: ${e.remaining} bytes remaining`;case"INVALID_BASE_URL":return`invalid base URL: ${e.reason}`;case"MISSING_SERVICE_HEADER":return`missing service header: expected=${e.expected} actual=${e.actual}`;case"MISSING_CAPABILITIES":return"missing capabilities in advertisement";case"INVALID_REF_LINE":return`invalid ref line: ${e.line}`;case"DUPLICATE_REF":return`duplicate ref: ${e.name}`;case"INVALID_SIDEBAND_CHANNEL":return`invalid sideband channel: ${e.channel}`;case"SIDEBAND_FATAL":return`sideband fatal: ${e.message}`;case"UNKNOWN_ACK_STATUS":return`unknown ack status: ${e.value}`;case"INVALID_REPORT_STATUS":return`invalid report-status line: ${e.line}`;case"EMPTY_WANTS":return"upload-pack request has no wants";case"EMPTY_RECEIVE_UPDATES":return"receive-pack request has no updates";case"RESOURCE_LOCKED":return`${e.resource} locked: ${r(e.path)}`;case"PACK_TOO_LARGE":return`pack contains ${e.objectCount} objects, exceeds limit ${e.limit}`;case"NOT_A_REPOSITORY":return`not a git repository: ${r(e.path)}`;case"BARE_REPOSITORY":return`operation requires a working tree: ${e.operation}`;case"ALREADY_INITIALIZED":return`repository already exists: ${r(e.path)}`;case"WORKING_TREE_DIRTY":return`working tree has uncommitted changes: ${e.paths.length} files`;case"PATHSPEC_NO_MATCH":return`pathspec did not match any files: ${e.pattern}`;case"PATHSPEC_OUTSIDE_REPO":return`pathspec resolves outside repository: ${r(e.path)}`;case"NOTHING_TO_COMMIT":return"nothing to commit (use allowEmpty: true to commit anyway)";case"EMPTY_COMMIT_MESSAGE":return"commit message is empty (use allowEmptyMessage: true to commit anyway)";case"AUTHOR_UNCONFIGURED":return"author identity not configured (set ctx.config.user or pass author/committer)";case"BRANCH_EXISTS":return`branch already exists: ${e.name}`;case"BRANCH_NOT_FOUND":return`branch not found: ${e.name}`;case"TAG_EXISTS":return`tag already exists: ${e.name}`;case"TAG_NOT_FOUND":return`tag not found: ${e.name}`;case"CANNOT_DELETE_CHECKED_OUT_BRANCH":return`cannot delete branch currently checked out: ${e.name}`;case"INVALID_URL":return`invalid URL: ${e.reason}`;case"BLOCKED_HOST":return`host blocked: ${e.host} (${e.reason})`;case"TOO_MANY_REDIRECTS":return`too many redirects: ${e.count}`;case"UNSUPPORTED_SCHEME":return`unsupported URL scheme: ${e.scheme}`;case"TARGET_DIRECTORY_NOT_EMPTY":return`target directory is not empty: ${r(e.path)}`;case"REMOTE_ADVERTISES_NO_REFS":return"remote advertised no refs";case"NON_FAST_FORWARD":return`non-fast-forward update for ${e.ref}: local=${e.local} remote=${e.remote}`;case"PUSH_REJECTED":return`push rejected for ${e.ref}: ${e.reason}`;case"MERGE_HAS_CONFLICTS":return`merge has unresolved conflicts: ${e.count} files`;case"CHECKOUT_OVERWRITE_DIRTY":return`checkout would overwrite uncommitted changes: ${e.paths.length} files`;case"REVPARSE_AMBIGUOUS":return`revision expression "${e.expression}" is ambiguous (${e.candidates.length} candidates)`;case"REVPARSE_UNRESOLVED":return`cannot resolve revision: ${e.expression}`;case"EMPTY_PATHSPEC":return'pathspec is empty (use "." to mean "all paths")';case"OPERATION_IN_PROGRESS":return`${e.operation} in progress; complete or abort it before running this command`;case"MAX_REFSPECS_EXCEEDED":return`${e.count} refspecs exceeds limit ${e.limit}`;case"REMOTE_NOT_CONFIGURED":return`remote not configured: ${e.remote}`;case"REFSPEC_INVALID":return`invalid refspec "${e.raw}": ${e.reason}`;case"INVALID_OPTION":return`invalid option: ${e.option} — ${e.reason}`;case"REPOSITORY_DISPOSED":return"repository has been disposed; create a new one with openRepository()";case"ADAPTER_UNAVAILABLE":return`adapter unavailable for runtime ${e.runtime}: ${e.reason}`;default:return String(e)}}(e)}`),this.data=e}}function r(e){const r=e.split(/[/\\]/);for(let e=r.length-1;e>=0;e--){const t=r[e];if(void 0!==t&&""!==t)return t}return e}exports.TsgitError=e,exports.compressFailed=r=>new e({code:"COMPRESS_FAILED",reason:r}),exports.decompressFailed=r=>new e({code:"DECOMPRESS_FAILED",reason:r}),exports.fileExists=r=>new e({code:"FILE_EXISTS",path:r}),exports.fileNotFound=r=>new e({code:"FILE_NOT_FOUND",path:r}),exports.hashFailed=r=>new e({code:"HASH_FAILED",reason:r}),exports.invalidWalkInput=r=>new e({code:"INVALID_WALK_INPUT",reason:r}),exports.networkError=r=>new e({code:"NETWORK_ERROR",reason:r}),exports.notADirectory=r=>new e({code:"NOT_A_DIRECTORY",path:r}),exports.operationAborted=()=>new e({code:"OPERATION_ABORTED"}),exports.permissionDenied=r=>new e({code:"PERMISSION_DENIED",path:r}),exports.unsupportedOperation=(r,t)=>new e({code:"UNSUPPORTED_OPERATION",operation:r,reason:t});
2
+ //# sourceMappingURL=error-DL4SHCBJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-DL4SHCBJ.cjs","sources":["../../../src/domain/error.ts"],"sourcesContent":[null],"names":["TsgitError","Error","data","name","constructor","super","code","value","reason","basename","path","operation","statusCode","id","expected","actual","depth","count","limit","chain","join","remaining","line","channel","message","resource","objectCount","paths","length","pattern","host","scheme","ref","local","remote","expression","candidates","raw","option","runtime","String","extractDetail","this","segments","split","i","segment","undefined"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("./error-DL4SHCBJ.cjs");const e=r=>{let e="";for(let o=0;o<r.length;o+=1){const t=r.charCodeAt(o);e+=9===t||10===t||t>=32&&t<=126?r[o]:`\\x${t.toString(16).toUpperCase().padStart(2,"0")}`}return e},o=e;exports.adapterUnavailable=(o,t)=>new r.TsgitError({code:"ADAPTER_UNAVAILABLE",runtime:o,reason:e(t)}),exports.authorUnconfigured=()=>new r.TsgitError({code:"AUTHOR_UNCONFIGURED"}),exports.blockedHost=(o,t)=>new r.TsgitError({code:"BLOCKED_HOST",host:e(o),reason:e(t)}),exports.branchExists=e=>new r.TsgitError({code:"BRANCH_EXISTS",name:e}),exports.branchNotFound=e=>new r.TsgitError({code:"BRANCH_NOT_FOUND",name:e}),exports.cannotDeleteCheckedOutBranch=e=>new r.TsgitError({code:"CANNOT_DELETE_CHECKED_OUT_BRANCH",name:e}),exports.checkoutOverwriteDirty=e=>new r.TsgitError({code:"CHECKOUT_OVERWRITE_DIRTY",paths:e}),exports.emptyCommitMessage=()=>new r.TsgitError({code:"EMPTY_COMMIT_MESSAGE"}),exports.emptyPathspec=()=>new r.TsgitError({code:"EMPTY_PATHSPEC"}),exports.invalidOption=(o,t)=>new r.TsgitError({code:"INVALID_OPTION",option:o,reason:e(t)}),exports.invalidUrl=e=>new r.TsgitError({code:"INVALID_URL",reason:e}),exports.nonFastForward=(e,o,t)=>new r.TsgitError({code:"NON_FAST_FORWARD",ref:e,local:o,remote:t}),exports.nothingToCommit=()=>new r.TsgitError({code:"NOTHING_TO_COMMIT"}),exports.operationInProgress=e=>new r.TsgitError({code:"OPERATION_IN_PROGRESS",operation:e}),exports.pathspecNoMatch=e=>new r.TsgitError({code:"PATHSPEC_NO_MATCH",pattern:e}),exports.pathspecOutsideRepo=e=>new r.TsgitError({code:"PATHSPEC_OUTSIDE_REPO",path:e}),exports.remoteAdvertisesNoRefs=()=>new r.TsgitError({code:"REMOTE_ADVERTISES_NO_REFS"}),exports.remoteNotConfigured=e=>new r.TsgitError({code:"REMOTE_NOT_CONFIGURED",remote:e}),exports.repositoryDisposed=()=>new r.TsgitError({code:"REPOSITORY_DISPOSED"}),exports.revparseUnresolved=e=>new r.TsgitError({code:"REVPARSE_UNRESOLVED",expression:e}),exports.sanitize=o,exports.tagExists=e=>new r.TsgitError({code:"TAG_EXISTS",name:e}),exports.tagNotFound=e=>new r.TsgitError({code:"TAG_NOT_FOUND",name:e}),exports.targetDirectoryNotEmpty=e=>new r.TsgitError({code:"TARGET_DIRECTORY_NOT_EMPTY",path:e}),exports.unsupportedScheme=e=>new r.TsgitError({code:"UNSUPPORTED_SCHEME",scheme:e});
2
+ //# sourceMappingURL=error-DN8Vnwr4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-DN8Vnwr4.cjs","sources":["../../../src/domain/commands/error.ts"],"sourcesContent":[null],"names":["sanitizeForDisplay","s","out","i","length","code","charCodeAt","toString","toUpperCase","padStart","sanitize","runtime","reason","TsgitError","host","name","paths","option","ref","local","remote","operation","pattern","path","expression","scheme"],"mappings":"mDAyDA,MAAMA,EAAsBC,IAC1B,IAAIC,EAAM,GACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAEG,OAAQD,GAAK,EAAG,CACpC,MAAME,EAAOJ,EAAEK,WAAWH,GAExBD,GADW,IAATG,GAA0B,KAATA,GAAkBA,GAAQ,IAAQA,GAAQ,IACtDJ,EAAEE,GAEF,MAAME,EAAKE,SAAS,IAAIC,cAAcC,SAAS,EAAG,MAE7D,CACA,OAAOP,GAGIQ,EAAWV,6BA+FU,CAChCW,EACAC,IAEA,IAAIC,EAAAA,WAAW,CACbR,KAAM,sBACNM,UACAC,OAAQZ,EAAmBY,gCAtFG,IAAkB,IAAIC,EAAAA,WAAW,CAAER,KAAM,4CAoBhD,CAACS,EAAcF,IACxC,IAAIC,EAAAA,WAAW,CACbR,KAAM,eACNS,KAAMd,EAAmBc,GACzBF,OAAQZ,EAAmBY,0BAtBFG,GAC3B,IAAIF,EAAAA,WAAW,CAAER,KAAM,gBAAiBU,gCAEXA,GAC7B,IAAIF,EAAAA,WAAW,CAAER,KAAM,mBAAoBU,8CAQAA,GAC3C,IAAIF,EAAAA,WAAW,CAAER,KAAM,mCAAoCU,wCAoCtBC,GACrC,IAAIH,EAAAA,WAAW,CAAER,KAAM,2BAA4BW,qCAvDnB,IAChC,IAAIH,EAAAA,WAAW,CAAER,KAAM,+CAgEI,IAAkB,IAAIQ,EAAAA,WAAW,CAAER,KAAM,yCAYzC,CAACY,EAAgBL,IAC5C,IAAIC,EAAAA,WAAW,CAAER,KAAM,iBAAkBY,SAAQL,OAAQZ,EAAmBY,wBA1DnDA,GACzB,IAAIC,EAAAA,WAAW,CAAER,KAAM,cAAeO,kCAqBV,CAACM,EAAcC,EAAiBC,IAC5D,IAAIP,EAAAA,WAAW,CAAER,KAAM,mBAAoBa,MAAKC,QAAOC,mCA7C1B,IAAkB,IAAIP,EAAAA,WAAW,CAAER,KAAM,kDAsEtEgB,GACe,IAAIR,EAAAA,WAAW,CAAER,KAAM,wBAAyBgB,sCA7EjCC,GAC9B,IAAIT,EAAAA,WAAW,CAAER,KAAM,oBAAqBiB,wCAEVC,GAClC,IAAIV,EAAAA,WAAW,CAAER,KAAM,wBAAyBkB,wCA2CZ,IACpC,IAAIV,EAAAA,WAAW,CAAER,KAAM,0DAkCWe,GAClC,IAAIP,EAAAA,WAAW,CAAER,KAAM,wBAAyBe,sCAKhB,IAAkB,IAAIP,EAAAA,WAAW,CAAER,KAAM,mDAlBxCmB,GACjC,IAAIX,EAAAA,WAAW,CAAER,KAAM,sBAAuBmB,oDApDtBT,GACxB,IAAIF,EAAAA,WAAW,CAAER,KAAM,aAAcU,6BAEXA,GAC1B,IAAIF,EAAAA,WAAW,CAAER,KAAM,gBAAiBU,yCAqBFQ,GACtC,IAAIV,EAAAA,WAAW,CAAER,KAAM,6BAA8BkB,mCAJrBE,GAChC,IAAIZ,EAAAA,WAAW,CAAER,KAAM,qBAAsBoB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("./error-DL4SHCBJ.cjs"),e=require("./merge-base-DlGWnkxP.cjs"),r=require("./error-DN8Vnwr4.cjs");function a(t,r,a,i,o){r.setUint32(a,i.ctimeSeconds),r.setUint32(a+4,i.ctimeNanoseconds),r.setUint32(a+8,i.mtimeSeconds),r.setUint32(a+12,i.mtimeNanoseconds),r.setUint32(a+16,i.dev),r.setUint32(a+20,i.ino),r.setUint32(a+24,Number.parseInt(i.mode,8)),r.setUint32(a+28,i.uid),r.setUint32(a+32,i.gid),r.setUint32(a+36,i.fileSize);const n=e.hexToBytes(i.id);t.set(n,a+40);const s=Math.min(o.length,4095);r.setUint16(a+60,(i.flags.assumeValid?32768:0)|i.flags.stage<<12|s),t.set(o,a+62)}const i=(e,r)=>new t.TsgitError(void 0===r?{code:"RESOURCE_LOCKED",resource:"index",path:e}:{code:"RESOURCE_LOCKED",resource:"index",path:e,mtimeMs:r}),o=async(r,a={})=>{const o=`${e.indexPath(r.layout.gitDir)}${e.lockSuffix}`,d=e.indexPath(r.layout.gitDir),f=a.now??(()=>Date.now()),l=a.breakStaleLockMs;try{await r.fs.writeExclusive(o,new Uint8Array)}catch(e){if(!(e instanceof t.TsgitError)||"FILE_EXISTS"!==e.data.code)throw e;if(void 0===l)throw i(o,await n(r,o));await s(r,o,l,f)}return c(r,o,d)},n=async(t,e)=>{try{return(await t.fs.lstat(e)).mtimeMs}catch{return}},s=async(e,r,a,o)=>{const s=await n(e,r);if(void 0===s)return void await e.fs.writeExclusive(r,new Uint8Array);const c=o()-s;if(c<0)throw i(r,s);if(c<a)throw i(r,s);await e.fs.rm(r);try{await e.fs.writeExclusive(r,new Uint8Array)}catch(a){if(a instanceof t.TsgitError&&"FILE_EXISTS"===a.data.code)throw i(r,await n(e,r));throw a}},c=(r,i,o)=>{let n=!1,s=!1;return{release:async()=>{if(!n&&!s){s=!0;try{await r.fs.rm(i)}catch(e){if(!(e instanceof t.TsgitError)||"FILE_NOT_FOUND"!==e.data.code)throw e}}},commit:async t=>{if(n||s)return;const c=function(t){const r=[...t.entries].sort((t,e)=>t.path<e.path?-1:t.path>e.path?1:0),i=r.map(t=>{const r=e.encode(t.path);return{entry:t,pathBytes:r,paddedLength:62+r.length+8&-8}}),o=t.extensions.map(t=>({ext:t,sigBytes:e.encode(t.signature),totalLength:8+t.data.length})),n=12+i.reduce((t,e)=>t+e.paddedLength,0)+o.reduce((t,e)=>t+e.totalLength,0),s=new Uint8Array(n),c=new DataView(s.buffer);c.setUint32(0,1145655875),c.setUint32(4,2),c.setUint32(8,r.length);let d=12;for(const{entry:t,pathBytes:e,paddedLength:r}of i)a(s,c,d,t,e),d+=r;for(const{ext:t,sigBytes:e,totalLength:r}of o)s.set(e,d),c.setUint32(d+4,t.data.length),s.set(t.data,d+8),d+=r;return s}({entries:[...t],extensions:[]}),d=await r.hash.hash(c),f=new Uint8Array(c.length+d.length);f.set(c,0),f.set(d,c.length),await r.fs.write(i,f),await r.fs.rename(i,o),n=!0}}};let d=new WeakMap;const f=t=>{const e=d.get(t);if(void 0!==e)return e;const r=l(t);return d.set(t,r),r},l=async t=>{const e=await u(t);return void 0===e?{}:w(e)},u=async e=>{try{return await e.fs.readUtf8(`${e.layout.gitDir}/config`)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}},w=t=>{const e=h(t);return b(e)},h=t=>{const e=[];let r;for(const a of m(t.split("\n"))){const t=p(a).trim();if(""===t)continue;const i=y(t);if(void 0!==i){r={section:i.section,subsection:i.subsection,entries:[]},e.push(r);continue}if(void 0===r)continue;const o=v(t);void 0!==o&&r.entries.push(o)}return e},m=t=>{const e=[];let r="";for(const a of t){const t=""===r?a:a.replace(/^\s+/,"");a.endsWith("\\")?r+=t.slice(0,t.length-(a.endsWith("\\")?1:0)):(e.push(`${r}${t}`),r="")}return""!==r&&e.push(r),e},p=t=>{const e=[g(t,"#"),g(t,";")].filter(t=>t>=0);return 0===e.length?t:t.slice(0,Math.min(...e))},g=(t,e)=>{let r=!1;for(let a=0;a<t.length;a+=1){const i=t[a];if('"'===i)r=!r;else if(!r&&i===e)return a}return-1},y=t=>{if(!t.startsWith("[")||!t.endsWith("]"))return;const e=t.slice(1,-1).trim();if(""===e)return;const r=e.indexOf('"');if(-1===r)return{section:e,subsection:void 0};const a=e.slice(0,r).trim(),i=e.lastIndexOf('"');return i<=r?void 0:{section:a,subsection:e.slice(r+1,i)}},v=t=>{const e=t.indexOf("=");if(-1===e)return;const r=t.slice(0,e).trim();return""!==r?{key:r,value:t.slice(e+1).trim()}:void 0},b=t=>{const e={};for(const r of t)"core"===r.section&&void 0===r.subsection?E(e,r):"user"===r.section&&void 0===r.subsection?k(e,r):"remote"===r.section&&void 0!==r.subsection?$(e,r.subsection,r):"branch"===r.section&&void 0!==r.subsection&&D(e,r.subsection,r);return x(e)},E=(t,e)=>{for(const{key:r,value:a}of e.entries)"bare"===r&&(t.core??={},t.core={...t.core,bare:U(a)})},k=(t,e)=>{for(const{key:r,value:a}of e.entries)"name"===r?(t.user??={},t.user={...t.user,name:a}):"email"===r&&(t.user??={},t.user={...t.user,email:a})},$=(t,e,r)=>{t.remote??=new Map;const a=t.remote.get(e)??{},i=a.fetch?[...a.fetch]:[];let o=a.url;for(const{key:t,value:e}of r.entries)"url"===t?o=e:"fetch"===t&&i.push(e);const n={};void 0!==o&&(n.url=o),i.length>0&&(n.fetch=i),t.remote.set(e,n)},D=(t,e,r)=>{t.branch??=new Map;const a={...t.branch.get(e)??{}};for(const{key:t,value:e}of r.entries)"remote"===t?a.remote=e:"merge"===t&&(a.merge=e);t.branch.set(e,a)},x=t=>{const e={};return void 0!==t.core?.bare&&(e.core={bare:t.core.bare}),void 0!==t.user?.name&&void 0!==t.user?.email&&(e.user={name:t.user.name,email:t.user.email}),void 0!==t.remote&&t.remote.size>0&&(e.remote=t.remote),void 0!==t.branch&&t.branch.size>0&&(e.branch=t.branch),e},R=new Set(["true","yes","on","1"]),N=new Set(["false","no","off","0",""]),U=t=>{const e=t.toLowerCase();return!!R.has(e)||(N.has(e),!1)},A=e.RefName.from("HEAD"),I=async e=>{const r=`${e.layout.gitDir}/HEAD`;if(!await e.fs.exists(r))throw new t.TsgitError({code:"NOT_A_REPOSITORY",path:e.layout.workDir});return e.layout.bare?e.layout.gitDir:e.layout.workDir},L=async(e,r)=>{if(await(async t=>{const e=await f(t);return e.core?.bare??!1})(e))throw(e=>new t.TsgitError({code:"BARE_REPOSITORY",operation:e}))(r)},T=async r=>{const a=`${r.layout.gitDir}/HEAD`;let i;try{i=await r.fs.readUtf8(a)}catch(r){if(r instanceof t.TsgitError&&"FILE_NOT_FOUND"===r.data.code)throw e.refNotFound(A);throw r}const o=e.parseLooseRef(i);return"symbolic"===o.type?{kind:"symbolic",target:o.target}:{kind:"direct",id:o.target}},O=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],F=async t=>{const e=await Promise.all(O.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<O.length;t+=1)if(!0===e[t])throw r.operationInProgress(O[t]?.operation)},_=new TextEncoder,H=new Set([".git"]),M=t=>{""===t&&S(t),P(t)>4096&&S(t),t.startsWith("/")&&S(t),t.includes("\\")&&S(t),t.includes("\0")&&S(t);const e=t.split("/");for(const r of e)C(r,t);return t},S=t=>{throw r.pathspecOutsideRepo(t)},C=(t,e)=>{""===t&&S(e),"."!==t&&".."!==t||S(e),P(t)>255&&S(e),j(t)&&S(e),t.includes(":")&&S(e);for(let r=0;r<t.length;r+=1){const a=t.charCodeAt(r);(a<=31||127===a)&&S(e)}},j=t=>{const e=t.toLowerCase();return!!H.has(e)||".git"===e.replace(/[. ]+$/,"")},P=t=>_.encode(t).length,B=(t,e)=>`${t.layout.workDir}/${e}`,W=async(t,e)=>{const r=M(e);return t.fs.read(B(t,r))},z=async(t,e)=>{const a=M(e),i=B(t,a);let o;try{o=await t.fs.lstat(i)}catch{throw r.checkoutOverwriteDirty([a])}if(!o.isFile&&!o.isSymbolicLink)throw r.checkoutOverwriteDirty([a]);await t.fs.rm(i)},V=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),X=async(t,r)=>{const a=await t.fs.lstat(`${t.layout.workDir}/${r}`).catch(()=>{});if(void 0===a)return"missing";const i=a.isSymbolicLink?"120000":73&a.mode?"100755":"100644",o=a.isSymbolicLink?(new TextEncoder).encode(await t.fs.readlink(`${t.layout.workDir}/${r}`)):await W(t,r),n=await e.writeObject(t,{type:"blob",id:"",content:o});return Y(a,i,n,r)},Y=(t,e,r,a)=>({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:r,flags:{assumeValid:!1,extended:!1,stage:0},path:a}),q="refs/heads/",K=async(t,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[`${q}${a}`,a];for(const r of i)try{return await e.resolveRef(t,r)}catch{}throw r.branchNotFound(a)},G="checkout:materialize",Z=async(t,r)=>{const a=e.validateRefName(r.initialBranch),i=t.layout.gitDir;try{await t.fs.mkdir(i),await t.fs.writeUtf8(`${i}/HEAD`,`ref: refs/heads/${a}\n`),await t.fs.writeUtf8(`${i}/config`,(o=r.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${o?"true":"false"}\n`)),await t.fs.mkdir(`${i}/refs/heads`),await t.fs.mkdir(`${i}/refs/tags`),await t.fs.mkdir(`${i}/objects/info`),await t.fs.mkdir(`${i}/objects/pack`),await t.fs.writeUtf8(`${i}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await t.fs.writeUtf8(`${i}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(e){throw await t.fs.rmRecursive(i).catch(()=>{}),e}var o;return{gitDir:i,initialBranch:a,bare:r.bare}},J=async(t,e)=>{Q(t);const r=tt(t);et(r,e.allowInsecure??!1),rt(r);const a=await e.resolver(r.hostname);return{url:t,pinnedAddress:at(a,e.allowPrivateNetworks??!1)}},Q=t=>{for(let e=0;e<t.length;e+=1){const a=t.charCodeAt(e);if(10===a||13===a)throw r.invalidUrl("contains forbidden control character")}},tt=t=>{try{return new URL(t)}catch{throw r.invalidUrl("not a valid URL")}},et=(t,e)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!e))throw r.unsupportedScheme(a.replace(":",""))},rt=t=>{if(""!==t.hash)throw r.invalidUrl("URL fragment is not allowed")},at=(t,e)=>{for(const r of t)if(e||!it(r))return r;if(0===t.length)throw r.blockedHost("<unresolved>","no DNS records returned");throw r.blockedHost(t[0],"all resolved addresses are in a blocked range")},it=t=>t.includes(":")?nt(t):ot(t),ot=t=>{const e=(t=>{const e=t.split(".");if(4!==e.length)return;const r=[];for(const t of e){if(!/^\d{1,3}$/.test(t))return;const e=Number(t);if(e<0||e>255)return;r.push(e)}return r})(t);if(void 0===e)return!1;const[r,a]=e;return 0===r||10===r||100===r&&a>=64&&a<=127||127===r||169===r&&254===a||172===r&&a>=16&&a<=31||192===r&&168===a||r>=224&&r<=239||r>=240},nt=t=>{const e=t.toLowerCase(),r=e.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==r?.[1])return ot(r[1]);const a=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==a?.[1]&&void 0!==a[2]){const t=parseInt(a[1],16),e=parseInt(a[2],16);return ot(`${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"))},st="clone:discover",ct=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw r.authorUnconfigured()},dt=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 r.authorUnconfigured()},ft=(t,e)=>{const a=t.trim();if(""===a&&!e.allowEmpty)throw r.emptyCommitMessage();return a},lt=(t,e,r)=>{if(1===e.length)return void t.files.set(e[0],{id:r.id,mode:r.mode});const[a,...i]=e,o=a;let n=t.subdirs.get(o);void 0===n&&(n={files:new Map,subdirs:new Map},t.subdirs.set(o,n)),lt(n,i,r)},ut=async(t,r)=>{const a=[];for(const[t,e]of r.files)a.push({mode:e.mode,name:t,id:e.id});const i=await Promise.all(Array.from(r.subdirs).map(async([e,r])=>({name:e,id:await ut(t,r)})));for(const{name:t,id:e}of i)a.push({mode:"40000",name:t,id:e});return e.writeTree(t,a)},wt=async(t,r)=>{const a=/^[0-9a-f]{40}$/.test(r)?r:await e.resolveRef(t,"HEAD"===r?"HEAD":e.validateRefName(r)),i=await e.readObject(t,a);return"commit"===i.type?i.data.tree:a},ht="fetch:negotiate",mt="merge:write-files",pt=async(t,r)=>{const a=await e.readObject(t,r);if("commit"!==a.type)throw e.unexpectedObjectType("commit",a.type,r);return a.data.tree},gt="push:enumerate-objects",yt=new Set(["commit","tree","blob","tag"]),vt=/^:(\d):(.+)$/,bt=/^[0-9a-f]{1,6}$/,Et=t=>{throw r.revparseUnresolved(t)},kt=t=>{for(let e=0;e<t.length;e+=1){const r=t[e];if("~"===r||"^"===r)return e}return-1},$t=(t,e)=>{const r=[];let a=e;for(;a<t.length;){const e=t[a];if("~"===e){const e=Dt(t,a);r.push(e.op),a=e.next}else if("^"===e){const e=xt(t,a);r.push(e.op),a=e.next}else Et(t)}return r},Dt=(t,e)=>{let r=e+1;for(;r<t.length&&Rt(t.charCodeAt(r));)r+=1;return r===e+1&&Et(t),{op:{kind:"ancestor",n:Number(t.slice(e+1,r))},next:r}},xt=(t,e)=>{if("{"===t[e+1]){const r=t.indexOf("}",e+2);-1===r&&Et(t);const a=t.slice(e+2,r);return yt.has(a)||Et(t),{op:{kind:"peel",target:a},next:r+1}}let r=e+1;for(;r<t.length&&Rt(t.charCodeAt(r));)r+=1;const a=t.slice(e+1,r);return{op:{kind:"parent",n:""===a?1:Number(a)},next:r}},Rt=t=>t>=48&&t<=57,Nt=async(t,r)=>{if(/^[0-9a-f]{40}$/.test(r))return e.ObjectId.from(r);const a="HEAD"===r?["HEAD"]:[r,`refs/heads/${r}`,`refs/tags/${r}`,`refs/remotes/${r}`];for(const r of a)try{return await e.resolveRef(t,r)}catch{}throw e.objectNotFound(r)},Ut=async(t,e,r)=>{if("parent"===r.kind)return At(t,e,r.n);if("ancestor"===r.kind){let a=e;for(let e=0;e<r.n;e+=1)a=await At(t,a,1);return a}return It(t,e,r.target)},At=async(t,r,a)=>{const i=await e.readObject(t,r);if("commit"!==i.type)throw e.objectNotFound(r);const o=i.data.parents[a-1];if(void 0===o)throw e.objectNotFound(r);return o},It=async(t,r,a)=>{let i=r;for(let r=0;r<5;r+=1){const r=await e.readObject(t,i);if(r.type===a)return i;if("tag"!==r.type){if("tree"===a&&"commit"===r.type)return r.data.tree;throw e.objectNotFound(i)}i=r.data.object}throw e.objectNotFound(i)},Lt=async(t,r)=>{const a=await e.readIndex(t);for(const t of a.entries)if(t.path===r.path&&t.flags.stage===r.stage)return t.id;throw e.objectNotFound(`${r.stage}:${r.path}`)},Tt=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Ot="status:scan",Ft=new TextEncoder,_t=async(t,e,r)=>{try{const a=await W(t,M(e)),i=Ft.encode(`blob ${a.byteLength}\0`),o=new Uint8Array(i.byteLength+a.byteLength);return o.set(i,0),o.set(a,i.byteLength),await t.hash.hashHex(o)!==r.id}catch{return!0}},Ht="refs/tags/",Mt=async t=>{const r=await T(t);return"direct"===r.kind?r.id:e.resolveRef(t,r.target)};exports.add=async(a,i,n={})=>{if(await I(a),await L(a,"add"),await F(a),0===i.length)throw r.emptyPathspec();const s=i.map(M),c=await o(a,void 0!==n.breakStaleLockMs?{breakStaleLockMs:n.breakStaleLockMs}:{});try{const i=await(async r=>{try{const t=await e.readIndex(r),a=new Map;for(const e of t.entries)a.set(e.path,e);return a}catch(e){if(e instanceof t.TsgitError&&V.has(e.data.code))return new Map;throw e}})(a),o=new Map(i),n=[],d=[];for(const t of s){const e=await X(a,t);if("missing"===e)throw r.pathspecNoMatch(t);const s=i.get(t);o.set(t,e),void 0===s?n.push(t):s.id===e.id&&s.mode===e.mode||d.push(t)}return await c.commit(Array.from(o.values())),{added:n,modified:d,removed:[]}}finally{await c.release()}},exports.branch=async(a,i)=>(await I(a),"list"===i.kind?(async t=>{const r=`${t.layout.gitDir}/refs/heads`;if(!await t.fs.exists(r))return{kind:"list",branches:[]};const a=await T(t),i="symbolic"===a.kind&&a.target.startsWith(q)?a.target:void 0,o=await t.fs.readdir(r),n=[];for(const r of o){if(!r.isFile)continue;const a=`${q}${r.name}`,o=await e.resolveRef(t,a);n.push({name:a,id:o,current:a===i})}return n.sort((t,e)=>t.name<e.name?-1:t.name>e.name?1:0),{kind:"list",branches:n}})(a):"create"===i.kind?(async(a,i)=>{const o=e.validateRefName(`${q}${i.name}`),n=i.startPoint??"HEAD",s=await K(a,n);try{await e.updateRef(a,o,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.branchExists(o);throw e}return{kind:"create",name:o,id:s}})(a,i):"delete"===i.kind?(async(t,a)=>{const i=e.validateRefName(`${q}${a.name}`),o=await T(t);if("symbolic"===o.kind&&o.target===i)throw r.cannotDeleteCheckedOutBranch(i);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.branchNotFound(i);return await e.updateRef(t,i,"0".repeat(40),{delete:!0}),{kind:"delete",name:i}})(a,i):(async(a,i)=>{const o=e.validateRefName(`${q}${i.from}`),n=e.validateRefName(`${q}${i.to}`),s=await e.resolveRef(a,o);try{await e.updateRef(a,n,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.branchExists(n);throw e}await e.updateRef(a,o,"0".repeat(40),{delete:!0});const c=await T(a);return"symbolic"===c.kind&&c.target===o&&await e.writeSymbolicRef(a,"HEAD",n),{kind:"rename",from:o,to:n}})(a,i)),exports.checkout=async(t,a)=>{await I(t),await L(t,"checkout"),await F(t),t.progress.start(G);try{if(a.detach||/^[0-9a-f]{40}$/.test(a.target)){const r=await(async(t,r)=>/^[0-9a-f]{40}$/.test(r)?r:e.resolveRef(t,r))(t,a.target);return await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${r}\n`),{branch:void 0,id:r,detached:!0}}const i=e.validateRefName(`refs/heads/${a.target}`);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.branchNotFound(i);const o=await e.resolveRef(t,i);return await e.writeSymbolicRef(t,"HEAD",i),{branch:i,id:o,detached:!1}}finally{t.progress.end(G)}},exports.clone=async(t,e)=>{if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw r.targetDirectoryNotEmpty(t.layout.workDir);if(""===e.url)throw r.remoteAdvertisesNoRefs();t.progress.start(st);try{void 0!==e.resolver&&await J(e.url,{resolver:e.resolver,...void 0!==e.allowInsecure?{allowInsecure:e.allowInsecure}:{},...void 0!==e.allowPrivateNetworks?{allowPrivateNetworks:e.allowPrivateNetworks}:{}});const r=await Z(t,{initialBranch:e.initialBranch??"main",bare:e.bare??!1});return{path:r.gitDir,head:r.initialBranch,fetchedRefs:[]}}finally{t.progress.end(st)}},exports.commit=async(t,a)=>{await I(t),await L(t,"commit"),await F(t);const i=ft(a.message,{allowEmpty:a.allowEmptyMessage??!1}),o=(t=>{if(void 0!==t)return{name:t.name,email:t.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}})((await f(t)).user),n=ct(((t,e)=>{const r={};return void 0!==t&&(r.explicit=t),void 0!==e&&(r.configUser=e),r})(a.author,o)),s=dt(((t,e,r)=>{const a={};return void 0!==t&&(a.explicit=t),void 0!==e&&(a.author=e),void 0!==r&&(a.configUser=r),a})(a.committer,n,o)),c=await e.readIndex(t),d=await(async(t,e)=>{const r={files:new Map,subdirs:new Map};for(const t of e)lt(r,t.path.split("/"),t);return ut(t,r)})(t,c.entries),l=await T(t),u="symbolic"===l.kind?await(async(t,r)=>{try{return await e.resolveRef(t,r)}catch{return}})(t,l.target):l.id,w=void 0!==u?[u]:[];if(!a.allowEmpty&&void 0!==u&&await(async(t,r)=>{const a=await e.readObject(t,r);return"commit"!==a.type?e.ObjectId.from("0".repeat(40)):a.data.tree})(t,u)===d)throw r.nothingToCommit();const h={tree:d,parents:w,author:n,committer:s,message:i,extraHeaders:[]},m=await e.createCommit(t,h),p="symbolic"===l.kind?l.target:void 0;return void 0!==p?await e.updateRef(t,p,m,void 0!==u?{expected:u}:{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${m}\n`),{id:m,tree:d,branch:p,parents:w}},exports.diff=async(t,r={})=>{await I(t);const a=await wt(t,r.from??"HEAD"),i=void 0!==r.to?await wt(t,r.to):void 0;return e.diffTrees(t,a,i,!0===r.detectRenames?{detectRenames:!0}:{})},exports.fetch=async(t,e={})=>{await I(t),t.progress.start(ht);try{const a=e.remote??"origin",i=await f(t),o=i.remote?.get(a);if(void 0===o?.url)throw r.remoteNotConfigured(a);return{remote:a,url:o.url,updatedRefs:[]}}finally{t.progress.end(ht)}},exports.init=async(e,r={})=>{const a=r.initialBranch??"main",i=r.bare??!1;if(await e.fs.exists(`${e.layout.gitDir}/HEAD`))throw new t.TsgitError({code:"ALREADY_INITIALIZED",path:e.layout.gitDir});const o=await Z(e,{initialBranch:a,bare:i});return{path:o.gitDir,initialBranch:o.initialBranch,bare:o.bare}},exports.log=async(t,r={})=>{await I(t);const a=await(async(t,r)=>{if(/^[0-9a-f]{40}$/.test(r))return r;if("HEAD"===r)return e.resolveRef(t,"HEAD");const a=[r,`refs/heads/${r}`,`refs/tags/${r}`];for(const r of a)try{return await e.resolveRef(t,e.validateRefName(r))}catch{}return e.resolveRef(t,e.validateRefName(r))})(t,r.from??"HEAD"),i=await(async(t,r)=>{const a=[];for(const i of r)if(/^[0-9a-f]{40}$/.test(i))a.push(i);else try{a.push(await e.resolveRef(t,e.validateRefName(i)))}catch{}return a})(t,r.excluding??[]),o=r.before,n=[];let s=0;for await(const c of e.walkCommits(t,{from:[a],until:i,order:"first-parent"}))if(!(void 0!==o&&c.data.committer.timestamp>=o.getTime()/1e3)&&(n.push({id:c.id,tree:c.data.tree,parents:c.data.parents,author:c.data.author,committer:c.data.committer,message:c.data.message}),s+=1,void 0!==r.limit&&s>=r.limit))break;return n},exports.merge=async(a,i)=>{await I(a),await L(a,"merge"),await F(a);const o=await T(a);if("symbolic"!==o.kind)throw t.unsupportedOperation("merge","cannot merge with detached HEAD");const n=await e.resolveRef(a,o.target),s=await(async(t,r)=>/^[0-9a-f]{40}$/.test(r)?r:e.resolveRef(t,`refs/heads/${r}`))(a,i.target);if(n===s)return{kind:"up-to-date",id:n};const c=await e.mergeBase(a,n,s);if(c===s)return{kind:"up-to-date",id:n};if(c===n&&!0!==i.noFastForward)return await e.updateRef(a,o.target,s,{expected:n}),{kind:"fast-forward",id:s,branch:o.target};if(!0===i.fastForwardOnly)throw r.nonFastForward(o.target,n,s);return(async(t,r,a,i,o)=>{t.progress.start(mt);try{const n=await f(t),s=n.user?{name:n.user.name,email:n.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,c={};void 0!==r.author&&(c.explicit=r.author),void 0!==s&&(c.configUser=s);const d=ct(c),l={author:d};void 0!==r.committer&&(l.explicit=r.committer),void 0!==s&&(l.configUser=s);const u=dt(l),w={tree:await pt(t,i),parents:[i,o],author:d,committer:u,message:ft(r.message??`Merge ${r.target}`,{allowEmpty:!1}),extraHeaders:[]},h=await e.createCommit(t,w);return await e.updateRef(t,a,h,{expected:i}),{kind:"merge",id:h,branch:a,parents:[i,o]}}finally{t.progress.end(mt)}})(a,i,o.target,n,s)},exports.push=async(t,e={})=>{await I(t),t.progress.start(gt);try{const a=e.remote??"origin",i=await f(t),o=i.remote?.get(a);if(void 0===o?.url)throw r.remoteNotConfigured(a);return{remote:a,url:o.url,pushedRefs:[]}}finally{t.progress.end(gt)}},exports.reset=async(t,a)=>{await I(t),"hard"===a.mode&&await L(t,"reset --hard"),await F(t);const i=await(async(t,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[a,`refs/heads/${a}`,`refs/tags/${a}`];for(const r of i)try{return await e.resolveRef(t,r)}catch{}throw r.revparseUnresolved(a)})(t,a.target),o=await T(t),n="symbolic"===o.kind?o.target:void 0;return void 0!==n?await e.updateRef(t,n,i,{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${i}\n`),{mode:a.mode,id:i,branch:n}},exports.revParse=async(t,e)=>{await I(t);var r;return(async(t,e)=>{if("index-stage"===e.kind)return Lt(t,e);let r=await Nt(t,e.base);for(const a of e.operations)r=await Ut(t,r,a);return r})(t,(""===(r=e)&&Et(r),r.startsWith(":")?(t=>{const e=vt.exec(t);null===e&&Et(t);const r=e[2],a=Number(e[1]);return(a<0||a>3)&&Et(t),""===r&&Et(t),{kind:"index-stage",stage:a,path:r}})(r):(r.includes("@{")&&Et(r),(t=>{const e=kt(t),r=-1===e?t:t.slice(0,e);return""===r&&Et(t),bt.test(r)&&-1===e&&Et(t),{kind:"ref-or-hex",base:r,operations:-1===e?[]:$t(t,e)}})(r))))},exports.rm=async(a,i,n={})=>{if(await I(a),await L(a,"rm"),await F(a),0===i.length)throw r.emptyPathspec();const s=i.map(M),c=await o(a,void 0!==n.breakStaleLockMs?{breakStaleLockMs:n.breakStaleLockMs}:{});try{const i=await e.readIndex(a).catch(e=>{if(e instanceof t.TsgitError&&Tt.has(e.data.code))return{entries:[]};throw e}),o=new Map;for(const t of i.entries)o.set(t.path,t);const d=[];for(const t of s){if(!o.has(t))throw r.pathspecNoMatch(t);o.delete(t),d.push(t)}if(!n.cached)for(const e of d)await z(a,e).catch(e=>{if(!(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code))throw e});return await c.commit(Array.from(o.values())),{removed:d}}finally{await c.release()}},exports.status=async t=>{await I(t);const r=await T(t),a="symbolic"===r.kind?r.target:void 0,i="direct"===r.kind,o=await e.readIndex(t).catch(()=>({entries:[]})),n=new Map;for(const t of o.entries)n.set(t.path,t);t.progress.start(Ot);try{const e=((t,e)=>{let r=0,a=0;return{tick:()=>{r+=1;const i=Math.floor(r/100);i>a&&(a=i,t.update(e,r))}}})(t.progress,Ot),r=(await Promise.all(Array.from(n).map(async([r,a])=>{const i=await(async(t,e,r)=>void 0===await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{})?{kind:"deleted",path:e}:await _t(t,e,r)?{kind:"modified",path:e}:void 0)(t,r,a);return e.tick(),i}))).filter(t=>void 0!==t);return{branch:a,detached:i,indexChanges:[],workingTreeChanges:r,clean:0===r.length}}finally{t.progress.end(Ot)}},exports.tag=async(a,i)=>(await I(a),"list"===i.kind?(async t=>{const r=`${t.layout.gitDir}/refs/tags`;if(!await t.fs.exists(r))return{kind:"list",tags:[]};const a=await t.fs.readdir(r),i=[];for(const r of a){if(!r.isFile)continue;const a=`${Ht}${r.name}`,o=await e.resolveRef(t,a);i.push({name:a,id:o})}return i.sort((t,e)=>t.name<e.name?-1:t.name>e.name?1:0),{kind:"list",tags:i}})(a):"create"===i.kind?(async(a,i)=>{const o=e.validateRefName(`${Ht}${i.name}`),n=void 0!==i.target?i.target:await Mt(a),s=/^[0-9a-f]{40}$/.test(n)?n:await e.resolveRef(a,n);try{await e.updateRef(a,o,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.tagExists(o);throw e}return{kind:"create",name:o,id:s}})(a,i):(async(t,a)=>{const i=e.validateRefName(`${Ht}${a.name}`);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.tagNotFound(i);return await e.updateRef(t,i,"0".repeat(40),{delete:!0}),{kind:"delete",name:i}})(a,i)),exports.validateUrl=J;
2
+ //# sourceMappingURL=index-iUd-bwwm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-iUd-bwwm.cjs","sources":["../../../src/domain/git-index/index-writer.ts","../../../src/domain/repository/error.ts","../../../src/application/commands/internal/index-update.ts","../../../src/application/commands/internal/config-read.ts","../../../src/application/commands/internal/repo-state.ts","../../../src/application/commands/internal/working-tree.ts","../../../src/application/commands/add.ts","../../../src/application/commands/branch.ts","../../../src/application/commands/checkout.ts","../../../src/application/commands/internal/bootstrap.ts","../../../src/application/commands/internal/url-validate.ts","../../../src/application/commands/clone.ts","../../../src/application/commands/internal/commit-message.ts","../../../src/application/commands/commit.ts","../../../src/application/commands/diff.ts","../../../src/application/commands/fetch.ts","../../../src/application/commands/merge.ts","../../../src/application/commands/push.ts","../../../src/application/commands/internal/rev-parse-grammar.ts","../../../src/application/commands/rev-parse.ts","../../../src/application/commands/rm.ts","../../../src/application/commands/status.ts","../../../src/application/commands/tag.ts","../../../src/application/commands/init.ts","../../../src/application/commands/log.ts","../../../src/application/commands/reset.ts","../../../src/application/commands/internal/progress-tracker.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],"names":["writeEntry","buf","view","offset","entry","pathBytes","setUint32","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","Number","parseInt","mode","uid","gid","fileSize","shaBytes","hexToBytes","id","set","nameLength","Math","min","length","setUint16","flags","assumeValid","stage","resourceLocked","path","mtimeMs","TsgitError","undefined","code","resource","acquireIndexLock","async","ctx","opts","lockPath","indexPath","layout","gitDir","lockSuffix","indexFile","now","Date","breakStaleLockMs","fs","writeExclusive","Uint8Array","err","data","readLockMtime","maybeBreakStaleLock","makeLock","lstat","age","rm","committed","released","release","commit","entries","body","index","sortedEntries","sort","a","b","entryMetas","map","encode","paddedLength","extensionMetas","extensions","ext","sigBytes","signature","totalLength","totalSize","reduce","sum","m","result","DataView","buffer","serializeIndex","checksum","hash","bytes","write","rename","cache","WeakMap","readConfig","existing","get","pending","loadConfig","raw","readRawConfig","parseConfigText","readUtf8","text","sections","collectSections","assembleParsed","current","line","joinContinuations","split","trimmed","stripInlineComment","trim","header","parseSectionHeader","section","subsection","push","kv","parseKeyValue","lines","out","piece","replace","endsWith","slice","cuts","indexOfUnquoted","filter","n","ch","inQuotes","i","c","startsWith","inner","quoteAt","indexOf","sectionPart","lastQuote","lastIndexOf","eqAt","key","value","acc","sec","mergeCore","mergeUser","mergeRemote","mergeBranch","finalize","core","bare","parseGitBoolean","user","name","email","remote","Map","fetch","url","merged","branch","next","merge","size","TRUE_VALUES","Set","FALSE_VALUES","lowered","toLowerCase","has","HEAD_REF","RefName","from","assertRepository","headPath","exists","workDir","assertNotBare","operation","config","isBare","bareRepository","readHeadRaw","content","refNotFound","parsed","parseLooseRef","type","kind","target","PENDING_MARKERS","file","assertNoPendingOperation","Promise","all","operationInProgress","PATH_ENCODER","TextEncoder","GIT_FORBIDDEN","validatePath","input","reject","byteLength","includes","components","component","rejectComponent","pathspecOutsideRepo","original","isForbiddenGitComponent","charCodeAt","s","repoPath","readFile","rawPath","read","removeFile","full","stat","checkoutOverwriteDirty","isFile","isSymbolicLink","INDEX_MISSING_CODES","stageOne","catch","readlink","writeObject","makeEntry","floor","ctimeMs","extended","HEADS_PREFIX","resolveBranchTarget","startPoint","test","candidates","candidate","resolveRef","branchNotFound","CHECKOUT_MATERIALIZE_OP","bootstrapRepository","validateRefName","initialBranch","mkdir","writeUtf8","rmRecursive","validateUrl","rejectControlChars","parseUrl","enforceScheme","allowInsecure","rejectFragment","addresses","resolver","hostname","pinnedAddress","pickPinnedAddress","allowPrivateNetworks","invalidUrl","URL","proto","protocol","unsupportedScheme","addr","isBlockedAddress","blockedHost","isBlockedIpv6","isBlockedIpv4","octets","parts","part","parseIpv4","lower","dotted","match","hex","high","low","CLONE_DISCOVER_OP","resolveAuthor","explicit","configUser","authorUnconfigured","resolveCommitter","author","sanitizeMessage","allowEmpty","emptyCommitMessage","insertEntry","node","files","head","rest","child","subdirs","writeSubtree","treeEntries","leaf","Array","writeTree","resolveTreeId","obj","readObject","tree","FETCH_NEGOTIATE_OP","MERGE_WRITE_FILES_OP","getTree","commitId","unexpectedObjectType","PUSH_ENUMERATE_OBJECTS_OP","VALID_PEEL_TARGETS","INDEX_STAGE_PATTERN","SHORT_HEX_PATTERN","fail","revparseUnresolved","findOperatorStart","parseOperations","start","parseTilde","op","parseCaret","j","isDigit","closeIdx","targetStr","digitsStr","resolveBase","base","ObjectIdFactory","objectNotFound","applyOperation","getNthParent","cur","peel","parent","parents","object","resolveIndexStage","expr","readIndex","STATUS_SCAN_OP","HEADER_ENCODER","isModified","hashHex","TAGS_PREFIX","currentHeadId","paths","emptyPathspec","validated","lock","readExistingEntries","newEntries","added","modified","pathspecNoMatch","previous","values","removed","action","headsDir","branches","currentTarget","readdir","listBranches","updateRef","force","expected","branchExists","createBranch","cannotDeleteCheckedOutBranch","repeat","delete","deleteBranch","to","writeSymbolicRef","renameBranch","progress","detach","resolveTargetOid","detached","branchName","end","targetDirectoryNotEmpty","remoteAdvertisesNoRefs","fetchedRefs","message","allowEmptyMessage","timestamp","timezoneOffset","toAuthor","buildResolverInput","committer","buildCommitterInput","treeId","root","buildTreeFromIndex","parentId","tryResolve","getParentTree","nothingToCommit","commitData","extraHeaders","createCommit","diffTrees","detectRenames","remoteName","remoteNotConfigured","updatedRefs","startId","resolveStart","exclude","refs","r","resolveExcluding","excluding","before","yielded","walkCommits","until","order","getTime","limit","unsupportedOperation","ourId","theirId","resolveTarget","mergeBase","noFastForward","fastForwardOnly","nonFastForward","cfgUser","authorInput","committerInput","mergeCommit","pushedRefs","expression","operations","evaluate","exec","parseIndexStage","opStart","parseRefOrHex","byPath","cached","indexByPath","tracker","reporter","count","lastEmittedBucket","tick","bucket","update","createGranularityTracker","workingTreeChanges","classifyEntry","indexChanges","clean","dir","tags","listTags","tagExists","createTag","tagNotFound","deleteTag"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./error-DN8Vnwr4.cjs");const o=(e,o)=>"object"==typeof e&&null!==e&&Object.hasOwn(e,o),r=()=>{const e=globalThis.process;return!!o(e,"versions")&&o(e.versions,"node")},t=()=>o(globalThis,"window")&&"undefined"!=typeof window&&o(globalThis,"navigator")&&"undefined"!=typeof navigator,n=Object.freeze({});exports.detectRuntime=()=>r()?"node":t()?"browser":"memory",exports.isBrowser=t,exports.isNode=r,exports.noopLogger=n,exports.wrapLoggerSanitizer=o=>{const r=o=>(r,t)=>{try{const n=e.sanitize(r),i=void 0!==t?(o=>{const r={};for(const[t,n]of Object.entries(o))r[t]="string"==typeof n?e.sanitize(n):n;return r})(t):void 0;o(n,i)}catch{}},t={};return void 0!==o.debug&&(t.debug=r(o.debug)),void 0!==o.info&&(t.info=r(o.info)),void 0!==o.warn&&(t.warn=r(o.warn)),void 0!==o.error&&(t.error=r(o.error)),Object.freeze(t)};
2
+ //# sourceMappingURL=logger-Cz9r6yt5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-Cz9r6yt5.cjs","sources":["../../../src/adapter-detect.ts","../../../src/ports/logger.ts"],"sourcesContent":[null,null],"names":["hasOwn","obj","key","Object","isNode","proc","globalThis","process","versions","isBrowser","window","navigator","noopLogger","freeze","logger","wrapLevel","method","message","context","safeMessage","sanitize","safeContext","undefined","out","value","entries","sanitizeContext","wrapped","debug","info","warn","error"],"mappings":"mDAsBA,MAAMA,EAAS,CAACC,EAAcC,IACb,iBAARD,GAA4B,OAARA,GAAgBE,OAAOH,OAAOC,EAAKC,GAYnDE,EAAS,KAIpB,MAAMC,EAAQC,WAA8CC,QAC5D,QAAKP,EAAOK,EAAM,aACXL,EAAQK,EAAyCG,SAAU,SAUvDC,EAAY,IACvBT,EAAOM,WAAY,WACD,oBAAXI,QACPV,EAAOM,WAAY,cACE,oBAAdK,UCpCIC,EAAqBT,OAAOU,OAAO,CAAA,yBD2CnB,IACvBT,IAAiB,OACjBK,IAAoB,UACjB,+FClC2BK,IAGlC,MAAMC,EACHC,GACD,CAACC,EAAiBC,KAChB,IACE,MAAMC,EAAcC,EAAAA,SAASH,GACvBI,OAA0BC,IAAZJ,EAkBJ,CACtBA,IAEA,MAAMK,EAA+B,CAAA,EACrC,IAAK,MAAOrB,EAAKsB,KAAUrB,OAAOsB,QAAQP,GACxCK,EAAIrB,GAAwB,iBAAVsB,EAAqBJ,EAAAA,SAASI,GAASA,EAE3D,OAAOD,GAzB2CG,CAAgBR,QAAWI,EACvEN,EAAOG,EAAaE,EACtB,CAAE,MAEF,GAEEM,EAAkB,CAAA,EASxB,YARqBL,IAAjBR,EAAOc,QACRD,EAAwCC,MAAQb,EAAUD,EAAOc,aAChDN,IAAhBR,EAAOe,OACRF,EAAsCE,KAAOd,EAAUD,EAAOe,YAC7CP,IAAhBR,EAAOgB,OACRH,EAAsCG,KAAOf,EAAUD,EAAOgB,YAC5CR,IAAjBR,EAAOiB,QACRJ,EAAwCI,MAAQhB,EAAUD,EAAOiB,QAC7D5B,OAAOU,OAAOc"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=Object.freeze({digestLength:20,hexLength:40}),t=Object.freeze({digestLength:32,hexLength:64});exports.SHA1_CONFIG=e,exports.SHA256_CONFIG=t,exports.createLruCache=function(e,t=Number.POSITIVE_INFINITY){const n=new Map;let r=null,l=null,u=0;function i(e){null!==e.prev?e.prev.next=e.next:r=e.next,null!==e.next?e.next.prev=e.prev:l=e.prev,e.prev=null,e.next=null}function s(e){e.next=r,e.prev=null,null!==r&&(r.prev=e),r=e,null===l&&(l=e)}return{get maxSize(){return e},get currentSize(){return u},get entryCount(){return n.size},get(e){const t=n.get(e);if(void 0!==t)return i(t),s(t),t.value},set(r,o,c){if(c<=0)throw new Error("byteSize must be positive");if(c>e)return;const v=n.get(r);if(void 0!==v)u-=v.byteSize,v.value=o,v.byteSize=c,u+=c,i(v),s(v);else{const e={key:r,value:o,byteSize:c,prev:null,next:null};n.set(r,e),s(e),u+=c}!function(){for(;(u>e||n.size>t)&&null!==l;){const e=l;i(e),n.delete(e.key),u-=e.byteSize}}()},has:e=>n.has(e),delete(e){const t=n.get(e);return void 0!==t&&(i(t),n.delete(e),u-=t.byteSize,!0)},clear(){n.clear(),r=null,l=null,u=0}}};
2
+ //# sourceMappingURL=lru-cache-1OU7JhD8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-cache-1OU7JhD8.cjs","sources":["../../../src/domain/objects/hash-config.ts","../../../src/domain/storage/lru-cache.ts"],"sourcesContent":[null,null],"names":["SHA1_CONFIG","Object","freeze","digestLength","hexLength","SHA256_CONFIG","maxSizeBytes","maxEntries","Number","POSITIVE_INFINITY","map","Map","head","tail","currentSize","removeNode","node","prev","next","addToHead","maxSize","entryCount","size","get","key","undefined","value","set","byteSize","Error","existing","evicted","delete","evict","has","clear"],"mappings":"aAKO,MAAMA,EAA0BC,OAAOC,OAAO,CACnDC,aAAc,GACdC,UAAW,KAGAC,EAA4BJ,OAAOC,OAAO,CACrDC,aAAc,GACdC,UAAW,0ECOP,SACJE,EACAC,EAAqBC,OAAOC,mBAE5B,MAAMC,EAAM,IAAIC,IAChB,IAAIC,EAAuB,KACvBC,EAAuB,KACvBC,EAAc,EAElB,SAASC,EAAWC,GACA,OAAdA,EAAKC,KACPD,EAAKC,KAAKC,KAAOF,EAAKE,KAEtBN,EAAOI,EAAKE,KAEI,OAAdF,EAAKE,KACPF,EAAKE,KAAKD,KAAOD,EAAKC,KAEtBJ,EAAOG,EAAKC,KAEdD,EAAKC,KAAO,KACZD,EAAKE,KAAO,IACd,CAEA,SAASC,EAAUH,GACjBA,EAAKE,KAAON,EACZI,EAAKC,KAAO,KACC,OAATL,IACFA,EAAKK,KAAOD,GAEdJ,EAAOI,EACM,OAATH,IACFA,EAAOG,EAEX,CAWA,MAAO,CACL,WAAII,GACF,OAAOd,CACT,EAEA,eAAIQ,GACF,OAAOA,CACT,EAEA,cAAIO,GACF,OAAOX,EAAIY,IACb,EAEA,GAAAC,CAAIC,GACF,MAAMR,EAAON,EAAIa,IAAIC,GACrB,QAAaC,IAATT,EAKJ,OAFAD,EAAWC,GACXG,EAAUH,GACHA,EAAKU,KACd,EAEA,GAAAC,CAAIH,EAAaE,EAAUE,GACzB,GAAIA,GAAY,EACd,MAAM,IAAIC,MAAM,6BAElB,GAAID,EAAWtB,EACb,OAEF,MAAMwB,EAAWpB,EAAIa,IAAIC,GACzB,QAAiBC,IAAbK,EACFhB,GAAegB,EAASF,SACxBE,EAASJ,MAAQA,EACjBI,EAASF,SAAWA,EACpBd,GAAec,EACfb,EAAWe,GACXX,EAAUW,OACL,CACL,MAAMd,EAAgB,CAAEQ,MAAKE,QAAOE,WAAUX,KAAM,KAAMC,KAAM,MAChER,EAAIiB,IAAIH,EAAKR,GACbG,EAAUH,GACVF,GAAec,CACjB,EApDJ,WACE,MAAQd,EAAcR,GAAgBI,EAAIY,KAAOf,IAAwB,OAATM,GAAe,CAC7E,MAAMkB,EAAUlB,EAChBE,EAAWgB,GACXrB,EAAIsB,OAAOD,EAAQP,KACnBV,GAAeiB,EAAQH,QACzB,CACF,CA8CIK,EACF,EAEAC,IAAIV,GACKd,EAAIwB,IAAIV,GAGjB,OAAOA,GACL,MAAMR,EAAON,EAAIa,IAAIC,GACrB,YAAaC,IAATT,IAGJD,EAAWC,GACXN,EAAIsB,OAAOR,GACXV,GAAeE,EAAKY,UACb,EACT,EAEA,KAAAO,GACEzB,EAAIyB,QACJvB,EAAO,KACPC,EAAO,KACPC,EAAc,CAChB,EAEJ"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("./error-DL4SHCBJ.cjs");async function s(t,s){const e=new ReadableStream({start(s){s.enqueue(t),s.close()}}).pipeThrough(s).getReader(),i=[];let r=0;for(;;){const{done:t,value:s}=await e.read();if(t)break;i.push(s),r+=s.length}const o=new Uint8Array(r);let n=0;for(const t of i)o.set(t,n),n+=t.length;return o}function e(t){return t instanceof Error?t.message:String(t)}class i{files=new Map;directories=new Set;symlinks=new Map;times=new Map;rootDir;constructor(t){this.rootDir=t.rootDir,this.directories.add(this.rootDir);for(const[s,e]of Object.entries(t.files??{})){const t=this.resolve(s);this.files.set(t,e.slice()),this.touch(t),this.ensureParentDirs(t)}}read=async s=>{const e=this.resolve(s),i=this.files.get(e);if(void 0===i)throw t.fileNotFound(s);return i.slice()};readSlice=async(s,e,i)=>{if(e<0||i<0)throw t.permissionDenied(s);const r=this.resolve(s),o=this.files.get(r);if(void 0===o)throw t.fileNotFound(s);const n=Math.min(e+i,o.length);return o.slice(e,n)};readUtf8=async t=>{const s=await this.read(t);return(new TextDecoder).decode(s)};write=async(t,s)=>{const e=this.resolve(t);this.ensureParentDirs(e),this.files.set(e,s.slice()),this.touch(e)};writeExclusive=async(s,e)=>{const i=this.resolve(s);if(this.files.has(i)||this.symlinks.has(i))throw t.fileExists(s);this.ensureParentDirs(i),this.files.set(i,e.slice()),this.touch(i)};writeUtf8=async(t,s)=>{await this.write(t,(new TextEncoder).encode(s))};exists=async t=>{const s=this.resolve(t);return this.files.has(s)||this.directories.has(s)||this.symlinks.has(s)};static SYMLINK_FOLLOW_LIMIT=40;stat=async t=>this.statFollowing(t,t,0);async statFollowing(s,e,r){if(r>=i.SYMLINK_FOLLOW_LIMIT)throw t.unsupportedOperation("stat",`symlink loop: ${e}`);const o=this.resolve(s),n=this.symlinks.get(o);return void 0!==n?this.statFollowing(n,e,r+1):this.buildStat(o,e)}lstat=async t=>{const s=this.resolve(t),e=this.symlinks.get(s);return void 0!==e?this.makeStatRecord({size:e.length,isFile:!1,isDirectory:!1,isSymbolicLink:!0,times:this.times.get(s)}):this.buildStat(s,t)};readdir=async s=>{const e=this.resolve(s);if(this.files.has(e))throw t.notADirectory(s);if(!this.directories.has(e))throw t.notADirectory(s);const i=`${e}/`,r=new Map;for(const t of this.files.keys())this.addDirectEntry(t,i,r,"file");for(const t of this.symlinks.keys())this.addDirectEntry(t,i,r,"symlink");for(const t of this.directories)t!==e&&this.addDirectEntry(t,i,r,"directory");return Array.from(r.values())};mkdir=async s=>{const e=this.resolve(s);if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(s);this.addDirectoryRecursive(e)};rm=async s=>{const e=this.resolve(s);if(this.files.has(e))return this.files.delete(e),void this.times.delete(e);if(this.symlinks.has(e))return this.symlinks.delete(e),void this.times.delete(e);if(this.directories.has(e)){if(this.hasChildren(e))throw t.notADirectory(s);return this.directories.delete(e),void this.times.delete(e)}throw t.fileNotFound(s)};rename=async(s,e)=>{const i=this.resolve(s),r=this.resolve(e),o=this.files.get(i),n=this.symlinks.get(i);if(void 0===o&&void 0===n)throw t.fileNotFound(s);const h=this.times.get(i);this.ensureParentDirs(r),this.files.delete(r),this.symlinks.delete(r),this.times.delete(r),void 0!==o&&(this.files.delete(i),this.files.set(r,o)),void 0!==n&&(this.symlinks.delete(i),this.symlinks.set(r,n)),this.times.delete(i),this.times.set(r,h)};readlink=async s=>{const e=this.resolve(s),i=this.symlinks.get(e);if(void 0===i)throw t.fileNotFound(s);return i};symlink=async(s,e)=>{const i=this.resolve(e);if(this.files.has(i)||this.symlinks.has(i)||this.directories.has(i))throw t.fileExists(e);this.ensureParentDirs(i),this.symlinks.set(i,s),this.touch(i)};chmod=async(t,s)=>{this.resolve(t)};rmRecursive=async t=>{const s=this.resolve(t);this.removeLeafEntry(s)||this.directories.has(s)&&this.removeSubtree(s)};removeLeafEntry(t){return this.files.has(t)?(this.files.delete(t),this.times.delete(t),!0):!!this.symlinks.has(t)&&(this.symlinks.delete(t),this.times.delete(t),!0)}removeSubtree(t){const s=`${t}/`,e=o(this.files.keys(),s),i=o(this.symlinks.keys(),s),r=function(t,s,e){const i=[];for(const r of t)(r===s||r.startsWith(e))&&i.push(r);return i}(this.directories,t,s);n(e,this.files,this.times),n(i,this.symlinks,this.times),function(t,s,e){for(const i of t)s.delete(i),e.delete(i)}(r,this.directories,this.times)}openWithNoFollow=async(s,e)=>{const i=this.resolve(s);if(this.symlinks.has(i))throw t.permissionDenied(s);if(!this.files.has(i))throw t.fileNotFound(s);return this.makeMemoryHandle(i)};makeMemoryHandle(t){return{read:async(s,e,i,r)=>{const o=this.files.get(t),n=r??0,h=Math.min(n+i,o.length),a=o.subarray(n,Math.max(n,h));return s.set(a,e),a.length},write:async s=>{this.files.set(t,s.slice()),this.touch(t)},stat:async()=>this.buildStat(t,t),close:async()=>{}}}resolve(s){const e=function(t,s){const e=(s.startsWith("/")?s:`${t}/${s}`).split("/"),i=[];for(const t of e)""!==t&&"."!==t&&(".."!==t?i.push(t):i.pop());return`/${i.join("/")}`}(this.rootDir,s);if(e!==this.rootDir&&!e.startsWith(`${this.rootDir}/`))throw t.permissionDenied(s);return e}ensureParentDirs(t){this.addDirectoryRecursive(r(t))}addDirectoryRecursive(s){let e=s;for(;e.length>=this.rootDir.length;){if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(e);if(this.directories.add(e),e===this.rootDir)break;e=r(e)}}touch(t){const s=Date.now();this.times.set(t,{ctimeMs:s,mtimeMs:s})}buildStat(s,e){const i=this.files.get(s);if(void 0!==i)return this.makeStatRecord({size:i.byteLength,isFile:!0,isDirectory:!1,isSymbolicLink:!1,times:this.times.get(s)});if(this.directories.has(s))return this.makeStatRecord({size:0,isFile:!1,isDirectory:!0,isSymbolicLink:!1,times:this.times.get(s)});throw t.fileNotFound(e)}makeStatRecord(t){const s=t.times??{ctimeMs:0,mtimeMs:0};return{ctimeMs:s.ctimeMs,mtimeMs:s.mtimeMs,dev:0,ino:0,mode:33188,uid:0,gid:0,size:t.size,isFile:t.isFile,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink}}hasChildren(t){const s=`${t}/`;for(const t of this.files.keys())if(t.startsWith(s))return!0;for(const t of this.symlinks.keys())if(t.startsWith(s))return!0;for(const e of this.directories)if(e!==t&&e.startsWith(s))return!0;return!1}addDirectEntry(t,s,e,i){if(!t.startsWith(s))return;const r=t.slice(s.length),o=r.indexOf("/"),n=-1===o?r:r.slice(0,o);e.has(n)||e.set(n,-1!==o?{name:n,isFile:!1,isDirectory:!0,isSymbolicLink:!1}:{name:n,isFile:"file"===i,isDirectory:"directory"===i,isSymbolicLink:"symlink"===i})}}function r(t){return t.slice(0,t.lastIndexOf("/"))}function o(t,s){const e=[];for(const i of t)i.startsWith(s)&&e.push(i);return e}function n(t,s,e){for(const i of t)s.delete(i),e.delete(i)}const h={sha1:"SHA-1",sha256:"SHA-256"},a={sha1:20,sha256:32};function c(t){let s="";for(const e of t)s+=e.toString(16).padStart(2,"0");return s}function l(t,s){return`${t}:${s}`}exports.MemoryCompressor=class{constructor(){if("undefined"==typeof CompressionStream||"undefined"==typeof DecompressionStream)throw t.compressFailed("CompressionStream/DecompressionStream unavailable")}deflate=async i=>{try{return await s(i,new CompressionStream("deflate"))}catch(s){throw t.compressFailed(e(s))}};inflate=async i=>{try{return await s(i,new DecompressionStream("deflate"))}catch(s){throw t.decompressFailed(e(s))}};streamInflate=async(e,i)=>{const r=e.subarray(i);if(r.length>65536)throw t.decompressFailed("MemoryCompressor.streamInflate input exceeds 65536 byte safety cap; use NodeCompressor for real pack files");for(let t=1;t<=r.length;t+=1){const e=r.subarray(0,t);try{return{output:await s(e,new DecompressionStream("deflate")),bytesConsumed:t}}catch{}}throw t.decompressFailed("no valid zlib stream at offset")};createInflateStream=()=>new DecompressionStream("deflate")},exports.MemoryFileSystem=i,exports.MemoryHashService=class{algorithm;digestLength;subtleAlgo;subtle;constructor(s="sha1"){const e=globalThis.crypto?.subtle;if(void 0===e)throw t.hashFailed("crypto.subtle unavailable");this.subtle=e,this.algorithm=s,this.digestLength=a[s],this.subtleAlgo=h[s]}hash=async t=>{const s=await this.subtle.digest(this.subtleAlgo,t);return new Uint8Array(s)};hashHex=async t=>c(await this.hash(t));createHasher=()=>{const s=[],e=this.subtle,i=this.subtleAlgo;let r=!1;const o=async()=>{if(r)throw t.hashFailed("cannot digest after digest");r=!0;const o=s.reduce((t,s)=>t+s.length,0),n=new Uint8Array(o);let h=0;for(const t of s)n.set(t,h),h+=t.length;const a=await e.digest(i,n);return new Uint8Array(a)};return{update:e=>{if(r)throw t.hashFailed("cannot update after digest");s.push(e.slice())},digest:o,digestHex:async()=>c(await o())}}},exports.MemoryHttpTransport=class{mocks=new Map;request=async s=>{const e=l(s.method,s.url),i=this.mocks.get(e);if(void 0===i)throw t.networkError(`no mock for ${s.url}`);const r=i.body.slice();return{statusCode:i.statusCode,headers:i.headers,body:new ReadableStream({start(t){t.enqueue(r),t.close()}})}};addMockResponse(t){const s={};for(const[e,i]of Object.entries(t.response.headers))s[e.toLowerCase()]=i;this.mocks.set(l(t.method,t.url),{statusCode:t.response.statusCode,headers:s,body:t.response.body.slice()})}clearMocks(){this.mocks.clear()}};
2
+ //# sourceMappingURL=memory-http-transport-DGll7Af4.cjs.map