gitx.do 0.1.1 → 0.1.2

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 (356) hide show
  1. package/README.md +40 -353
  2. package/dist/do/logger.d.ts +50 -0
  3. package/dist/do/logger.d.ts.map +1 -0
  4. package/dist/do/logger.js +122 -0
  5. package/dist/do/logger.js.map +1 -0
  6. package/dist/{durable-object → do}/schema.d.ts +3 -3
  7. package/dist/do/schema.d.ts.map +1 -0
  8. package/dist/{durable-object → do}/schema.js +4 -3
  9. package/dist/do/schema.js.map +1 -0
  10. package/dist/do/types.d.ts +267 -0
  11. package/dist/do/types.d.ts.map +1 -0
  12. package/dist/do/types.js +62 -0
  13. package/dist/do/types.js.map +1 -0
  14. package/dist/index.d.ts +14 -469
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +31 -483
  17. package/dist/index.js.map +1 -1
  18. package/package.json +13 -21
  19. package/dist/cli/commands/add.d.ts +0 -176
  20. package/dist/cli/commands/add.d.ts.map +0 -1
  21. package/dist/cli/commands/add.js +0 -979
  22. package/dist/cli/commands/add.js.map +0 -1
  23. package/dist/cli/commands/blame.d.ts +0 -259
  24. package/dist/cli/commands/blame.d.ts.map +0 -1
  25. package/dist/cli/commands/blame.js +0 -609
  26. package/dist/cli/commands/blame.js.map +0 -1
  27. package/dist/cli/commands/branch.d.ts +0 -249
  28. package/dist/cli/commands/branch.d.ts.map +0 -1
  29. package/dist/cli/commands/branch.js +0 -693
  30. package/dist/cli/commands/branch.js.map +0 -1
  31. package/dist/cli/commands/checkout.d.ts +0 -73
  32. package/dist/cli/commands/checkout.d.ts.map +0 -1
  33. package/dist/cli/commands/checkout.js +0 -725
  34. package/dist/cli/commands/checkout.js.map +0 -1
  35. package/dist/cli/commands/commit.d.ts +0 -182
  36. package/dist/cli/commands/commit.d.ts.map +0 -1
  37. package/dist/cli/commands/commit.js +0 -457
  38. package/dist/cli/commands/commit.js.map +0 -1
  39. package/dist/cli/commands/diff.d.ts +0 -464
  40. package/dist/cli/commands/diff.d.ts.map +0 -1
  41. package/dist/cli/commands/diff.js +0 -959
  42. package/dist/cli/commands/diff.js.map +0 -1
  43. package/dist/cli/commands/log.d.ts +0 -239
  44. package/dist/cli/commands/log.d.ts.map +0 -1
  45. package/dist/cli/commands/log.js +0 -535
  46. package/dist/cli/commands/log.js.map +0 -1
  47. package/dist/cli/commands/merge.d.ts +0 -106
  48. package/dist/cli/commands/merge.d.ts.map +0 -1
  49. package/dist/cli/commands/merge.js +0 -852
  50. package/dist/cli/commands/merge.js.map +0 -1
  51. package/dist/cli/commands/review.d.ts +0 -457
  52. package/dist/cli/commands/review.d.ts.map +0 -1
  53. package/dist/cli/commands/review.js +0 -558
  54. package/dist/cli/commands/review.js.map +0 -1
  55. package/dist/cli/commands/stash.d.ts +0 -157
  56. package/dist/cli/commands/stash.d.ts.map +0 -1
  57. package/dist/cli/commands/stash.js +0 -655
  58. package/dist/cli/commands/stash.js.map +0 -1
  59. package/dist/cli/commands/status.d.ts +0 -269
  60. package/dist/cli/commands/status.d.ts.map +0 -1
  61. package/dist/cli/commands/status.js +0 -492
  62. package/dist/cli/commands/status.js.map +0 -1
  63. package/dist/cli/commands/web.d.ts +0 -199
  64. package/dist/cli/commands/web.d.ts.map +0 -1
  65. package/dist/cli/commands/web.js +0 -697
  66. package/dist/cli/commands/web.js.map +0 -1
  67. package/dist/cli/fs-adapter.d.ts +0 -656
  68. package/dist/cli/fs-adapter.d.ts.map +0 -1
  69. package/dist/cli/fs-adapter.js +0 -1177
  70. package/dist/cli/fs-adapter.js.map +0 -1
  71. package/dist/cli/fsx-cli-adapter.d.ts +0 -359
  72. package/dist/cli/fsx-cli-adapter.d.ts.map +0 -1
  73. package/dist/cli/fsx-cli-adapter.js +0 -619
  74. package/dist/cli/fsx-cli-adapter.js.map +0 -1
  75. package/dist/cli/index.d.ts +0 -387
  76. package/dist/cli/index.d.ts.map +0 -1
  77. package/dist/cli/index.js +0 -579
  78. package/dist/cli/index.js.map +0 -1
  79. package/dist/cli/ui/components/DiffView.d.ts +0 -12
  80. package/dist/cli/ui/components/DiffView.d.ts.map +0 -1
  81. package/dist/cli/ui/components/DiffView.js +0 -11
  82. package/dist/cli/ui/components/DiffView.js.map +0 -1
  83. package/dist/cli/ui/components/ErrorDisplay.d.ts +0 -10
  84. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +0 -1
  85. package/dist/cli/ui/components/ErrorDisplay.js +0 -11
  86. package/dist/cli/ui/components/ErrorDisplay.js.map +0 -1
  87. package/dist/cli/ui/components/FuzzySearch.d.ts +0 -15
  88. package/dist/cli/ui/components/FuzzySearch.d.ts.map +0 -1
  89. package/dist/cli/ui/components/FuzzySearch.js +0 -12
  90. package/dist/cli/ui/components/FuzzySearch.js.map +0 -1
  91. package/dist/cli/ui/components/LoadingSpinner.d.ts +0 -10
  92. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +0 -1
  93. package/dist/cli/ui/components/LoadingSpinner.js +0 -10
  94. package/dist/cli/ui/components/LoadingSpinner.js.map +0 -1
  95. package/dist/cli/ui/components/NavigationList.d.ts +0 -14
  96. package/dist/cli/ui/components/NavigationList.d.ts.map +0 -1
  97. package/dist/cli/ui/components/NavigationList.js +0 -11
  98. package/dist/cli/ui/components/NavigationList.js.map +0 -1
  99. package/dist/cli/ui/components/ScrollableContent.d.ts +0 -13
  100. package/dist/cli/ui/components/ScrollableContent.d.ts.map +0 -1
  101. package/dist/cli/ui/components/ScrollableContent.js +0 -11
  102. package/dist/cli/ui/components/ScrollableContent.js.map +0 -1
  103. package/dist/cli/ui/components/index.d.ts +0 -7
  104. package/dist/cli/ui/components/index.d.ts.map +0 -1
  105. package/dist/cli/ui/components/index.js +0 -9
  106. package/dist/cli/ui/components/index.js.map +0 -1
  107. package/dist/cli/ui/terminal-ui.d.ts +0 -85
  108. package/dist/cli/ui/terminal-ui.d.ts.map +0 -1
  109. package/dist/cli/ui/terminal-ui.js +0 -121
  110. package/dist/cli/ui/terminal-ui.js.map +0 -1
  111. package/dist/do/BashModule.d.ts +0 -871
  112. package/dist/do/BashModule.d.ts.map +0 -1
  113. package/dist/do/BashModule.js +0 -1143
  114. package/dist/do/BashModule.js.map +0 -1
  115. package/dist/do/FsModule.d.ts +0 -612
  116. package/dist/do/FsModule.d.ts.map +0 -1
  117. package/dist/do/FsModule.js +0 -1120
  118. package/dist/do/FsModule.js.map +0 -1
  119. package/dist/do/GitModule.d.ts +0 -635
  120. package/dist/do/GitModule.d.ts.map +0 -1
  121. package/dist/do/GitModule.js +0 -784
  122. package/dist/do/GitModule.js.map +0 -1
  123. package/dist/do/GitRepoDO.d.ts +0 -281
  124. package/dist/do/GitRepoDO.d.ts.map +0 -1
  125. package/dist/do/GitRepoDO.js +0 -479
  126. package/dist/do/GitRepoDO.js.map +0 -1
  127. package/dist/do/bash-ast.d.ts +0 -246
  128. package/dist/do/bash-ast.d.ts.map +0 -1
  129. package/dist/do/bash-ast.js +0 -888
  130. package/dist/do/bash-ast.js.map +0 -1
  131. package/dist/do/container-executor.d.ts +0 -491
  132. package/dist/do/container-executor.d.ts.map +0 -1
  133. package/dist/do/container-executor.js +0 -731
  134. package/dist/do/container-executor.js.map +0 -1
  135. package/dist/do/index.d.ts +0 -53
  136. package/dist/do/index.d.ts.map +0 -1
  137. package/dist/do/index.js +0 -91
  138. package/dist/do/index.js.map +0 -1
  139. package/dist/do/tiered-storage.d.ts +0 -403
  140. package/dist/do/tiered-storage.d.ts.map +0 -1
  141. package/dist/do/tiered-storage.js +0 -689
  142. package/dist/do/tiered-storage.js.map +0 -1
  143. package/dist/do/withBash.d.ts +0 -231
  144. package/dist/do/withBash.d.ts.map +0 -1
  145. package/dist/do/withBash.js +0 -244
  146. package/dist/do/withBash.js.map +0 -1
  147. package/dist/do/withFs.d.ts +0 -237
  148. package/dist/do/withFs.d.ts.map +0 -1
  149. package/dist/do/withFs.js +0 -387
  150. package/dist/do/withFs.js.map +0 -1
  151. package/dist/do/withGit.d.ts +0 -180
  152. package/dist/do/withGit.d.ts.map +0 -1
  153. package/dist/do/withGit.js +0 -271
  154. package/dist/do/withGit.js.map +0 -1
  155. package/dist/durable-object/object-store.d.ts +0 -633
  156. package/dist/durable-object/object-store.d.ts.map +0 -1
  157. package/dist/durable-object/object-store.js +0 -1164
  158. package/dist/durable-object/object-store.js.map +0 -1
  159. package/dist/durable-object/schema.d.ts.map +0 -1
  160. package/dist/durable-object/schema.js.map +0 -1
  161. package/dist/durable-object/wal.d.ts +0 -416
  162. package/dist/durable-object/wal.d.ts.map +0 -1
  163. package/dist/durable-object/wal.js +0 -445
  164. package/dist/durable-object/wal.js.map +0 -1
  165. package/dist/mcp/adapter.d.ts +0 -772
  166. package/dist/mcp/adapter.d.ts.map +0 -1
  167. package/dist/mcp/adapter.js +0 -895
  168. package/dist/mcp/adapter.js.map +0 -1
  169. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -22
  170. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  171. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -140
  172. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  173. package/dist/mcp/sandbox/object-store-proxy.d.ts +0 -32
  174. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +0 -1
  175. package/dist/mcp/sandbox/object-store-proxy.js +0 -30
  176. package/dist/mcp/sandbox/object-store-proxy.js.map +0 -1
  177. package/dist/mcp/sandbox/template.d.ts +0 -17
  178. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  179. package/dist/mcp/sandbox/template.js +0 -71
  180. package/dist/mcp/sandbox/template.js.map +0 -1
  181. package/dist/mcp/sandbox.d.ts +0 -764
  182. package/dist/mcp/sandbox.d.ts.map +0 -1
  183. package/dist/mcp/sandbox.js +0 -1362
  184. package/dist/mcp/sandbox.js.map +0 -1
  185. package/dist/mcp/sdk-adapter.d.ts +0 -835
  186. package/dist/mcp/sdk-adapter.d.ts.map +0 -1
  187. package/dist/mcp/sdk-adapter.js +0 -974
  188. package/dist/mcp/sdk-adapter.js.map +0 -1
  189. package/dist/mcp/tools/do.d.ts +0 -32
  190. package/dist/mcp/tools/do.d.ts.map +0 -1
  191. package/dist/mcp/tools/do.js +0 -117
  192. package/dist/mcp/tools/do.js.map +0 -1
  193. package/dist/mcp/tools.d.ts +0 -548
  194. package/dist/mcp/tools.d.ts.map +0 -1
  195. package/dist/mcp/tools.js +0 -3170
  196. package/dist/mcp/tools.js.map +0 -1
  197. package/dist/ops/blame.d.ts +0 -551
  198. package/dist/ops/blame.d.ts.map +0 -1
  199. package/dist/ops/blame.js +0 -1037
  200. package/dist/ops/blame.js.map +0 -1
  201. package/dist/ops/branch.d.ts +0 -766
  202. package/dist/ops/branch.d.ts.map +0 -1
  203. package/dist/ops/branch.js +0 -950
  204. package/dist/ops/branch.js.map +0 -1
  205. package/dist/ops/commit-traversal.d.ts +0 -349
  206. package/dist/ops/commit-traversal.d.ts.map +0 -1
  207. package/dist/ops/commit-traversal.js +0 -821
  208. package/dist/ops/commit-traversal.js.map +0 -1
  209. package/dist/ops/commit.d.ts +0 -555
  210. package/dist/ops/commit.d.ts.map +0 -1
  211. package/dist/ops/commit.js +0 -826
  212. package/dist/ops/commit.js.map +0 -1
  213. package/dist/ops/merge-base.d.ts +0 -397
  214. package/dist/ops/merge-base.d.ts.map +0 -1
  215. package/dist/ops/merge-base.js +0 -691
  216. package/dist/ops/merge-base.js.map +0 -1
  217. package/dist/ops/merge.d.ts +0 -855
  218. package/dist/ops/merge.d.ts.map +0 -1
  219. package/dist/ops/merge.js +0 -1551
  220. package/dist/ops/merge.js.map +0 -1
  221. package/dist/ops/tag.d.ts +0 -247
  222. package/dist/ops/tag.d.ts.map +0 -1
  223. package/dist/ops/tag.js +0 -649
  224. package/dist/ops/tag.js.map +0 -1
  225. package/dist/ops/tree-builder.d.ts +0 -178
  226. package/dist/ops/tree-builder.d.ts.map +0 -1
  227. package/dist/ops/tree-builder.js +0 -271
  228. package/dist/ops/tree-builder.js.map +0 -1
  229. package/dist/ops/tree-diff.d.ts +0 -291
  230. package/dist/ops/tree-diff.d.ts.map +0 -1
  231. package/dist/ops/tree-diff.js +0 -705
  232. package/dist/ops/tree-diff.js.map +0 -1
  233. package/dist/pack/delta.d.ts +0 -248
  234. package/dist/pack/delta.d.ts.map +0 -1
  235. package/dist/pack/delta.js +0 -740
  236. package/dist/pack/delta.js.map +0 -1
  237. package/dist/pack/format.d.ts +0 -446
  238. package/dist/pack/format.d.ts.map +0 -1
  239. package/dist/pack/format.js +0 -572
  240. package/dist/pack/format.js.map +0 -1
  241. package/dist/pack/full-generation.d.ts +0 -612
  242. package/dist/pack/full-generation.d.ts.map +0 -1
  243. package/dist/pack/full-generation.js +0 -1378
  244. package/dist/pack/full-generation.js.map +0 -1
  245. package/dist/pack/generation.d.ts +0 -441
  246. package/dist/pack/generation.d.ts.map +0 -1
  247. package/dist/pack/generation.js +0 -707
  248. package/dist/pack/generation.js.map +0 -1
  249. package/dist/pack/index.d.ts +0 -502
  250. package/dist/pack/index.d.ts.map +0 -1
  251. package/dist/pack/index.js +0 -833
  252. package/dist/pack/index.js.map +0 -1
  253. package/dist/refs/branch.d.ts +0 -683
  254. package/dist/refs/branch.d.ts.map +0 -1
  255. package/dist/refs/branch.js +0 -881
  256. package/dist/refs/branch.js.map +0 -1
  257. package/dist/refs/storage.d.ts +0 -833
  258. package/dist/refs/storage.d.ts.map +0 -1
  259. package/dist/refs/storage.js +0 -1023
  260. package/dist/refs/storage.js.map +0 -1
  261. package/dist/refs/tag.d.ts +0 -860
  262. package/dist/refs/tag.d.ts.map +0 -1
  263. package/dist/refs/tag.js +0 -996
  264. package/dist/refs/tag.js.map +0 -1
  265. package/dist/storage/backend.d.ts +0 -425
  266. package/dist/storage/backend.d.ts.map +0 -1
  267. package/dist/storage/backend.js +0 -41
  268. package/dist/storage/backend.js.map +0 -1
  269. package/dist/storage/fsx-adapter.d.ts +0 -204
  270. package/dist/storage/fsx-adapter.d.ts.map +0 -1
  271. package/dist/storage/fsx-adapter.js +0 -518
  272. package/dist/storage/fsx-adapter.js.map +0 -1
  273. package/dist/storage/lru-cache.d.ts +0 -691
  274. package/dist/storage/lru-cache.d.ts.map +0 -1
  275. package/dist/storage/lru-cache.js +0 -813
  276. package/dist/storage/lru-cache.js.map +0 -1
  277. package/dist/storage/object-index.d.ts +0 -585
  278. package/dist/storage/object-index.d.ts.map +0 -1
  279. package/dist/storage/object-index.js +0 -532
  280. package/dist/storage/object-index.js.map +0 -1
  281. package/dist/storage/r2-pack.d.ts +0 -1257
  282. package/dist/storage/r2-pack.d.ts.map +0 -1
  283. package/dist/storage/r2-pack.js +0 -1773
  284. package/dist/storage/r2-pack.js.map +0 -1
  285. package/dist/tiered/cdc-pipeline.d.ts +0 -1888
  286. package/dist/tiered/cdc-pipeline.d.ts.map +0 -1
  287. package/dist/tiered/cdc-pipeline.js +0 -1880
  288. package/dist/tiered/cdc-pipeline.js.map +0 -1
  289. package/dist/tiered/migration.d.ts +0 -1104
  290. package/dist/tiered/migration.d.ts.map +0 -1
  291. package/dist/tiered/migration.js +0 -1217
  292. package/dist/tiered/migration.js.map +0 -1
  293. package/dist/tiered/parquet-writer.d.ts +0 -1145
  294. package/dist/tiered/parquet-writer.d.ts.map +0 -1
  295. package/dist/tiered/parquet-writer.js +0 -1183
  296. package/dist/tiered/parquet-writer.js.map +0 -1
  297. package/dist/tiered/read-path.d.ts +0 -835
  298. package/dist/tiered/read-path.d.ts.map +0 -1
  299. package/dist/tiered/read-path.js +0 -487
  300. package/dist/tiered/read-path.js.map +0 -1
  301. package/dist/types/capability.d.ts +0 -1385
  302. package/dist/types/capability.d.ts.map +0 -1
  303. package/dist/types/capability.js +0 -36
  304. package/dist/types/capability.js.map +0 -1
  305. package/dist/types/index.d.ts +0 -13
  306. package/dist/types/index.d.ts.map +0 -1
  307. package/dist/types/index.js +0 -18
  308. package/dist/types/index.js.map +0 -1
  309. package/dist/types/interfaces.d.ts +0 -673
  310. package/dist/types/interfaces.d.ts.map +0 -1
  311. package/dist/types/interfaces.js +0 -26
  312. package/dist/types/interfaces.js.map +0 -1
  313. package/dist/types/objects.d.ts +0 -692
  314. package/dist/types/objects.d.ts.map +0 -1
  315. package/dist/types/objects.js +0 -837
  316. package/dist/types/objects.js.map +0 -1
  317. package/dist/types/storage.d.ts +0 -603
  318. package/dist/types/storage.d.ts.map +0 -1
  319. package/dist/types/storage.js +0 -191
  320. package/dist/types/storage.js.map +0 -1
  321. package/dist/types/worker-loader.d.ts +0 -60
  322. package/dist/types/worker-loader.d.ts.map +0 -1
  323. package/dist/types/worker-loader.js +0 -62
  324. package/dist/types/worker-loader.js.map +0 -1
  325. package/dist/utils/hash.d.ts +0 -198
  326. package/dist/utils/hash.d.ts.map +0 -1
  327. package/dist/utils/hash.js +0 -272
  328. package/dist/utils/hash.js.map +0 -1
  329. package/dist/utils/sha1.d.ts +0 -325
  330. package/dist/utils/sha1.d.ts.map +0 -1
  331. package/dist/utils/sha1.js +0 -635
  332. package/dist/utils/sha1.js.map +0 -1
  333. package/dist/wire/capabilities.d.ts +0 -1044
  334. package/dist/wire/capabilities.d.ts.map +0 -1
  335. package/dist/wire/capabilities.js +0 -941
  336. package/dist/wire/capabilities.js.map +0 -1
  337. package/dist/wire/path-security.d.ts +0 -157
  338. package/dist/wire/path-security.d.ts.map +0 -1
  339. package/dist/wire/path-security.js +0 -307
  340. package/dist/wire/path-security.js.map +0 -1
  341. package/dist/wire/pkt-line.d.ts +0 -345
  342. package/dist/wire/pkt-line.d.ts.map +0 -1
  343. package/dist/wire/pkt-line.js +0 -381
  344. package/dist/wire/pkt-line.js.map +0 -1
  345. package/dist/wire/receive-pack.d.ts +0 -1059
  346. package/dist/wire/receive-pack.d.ts.map +0 -1
  347. package/dist/wire/receive-pack.js +0 -1414
  348. package/dist/wire/receive-pack.js.map +0 -1
  349. package/dist/wire/smart-http.d.ts +0 -799
  350. package/dist/wire/smart-http.d.ts.map +0 -1
  351. package/dist/wire/smart-http.js +0 -945
  352. package/dist/wire/smart-http.js.map +0 -1
  353. package/dist/wire/upload-pack.d.ts +0 -727
  354. package/dist/wire/upload-pack.d.ts.map +0 -1
  355. package/dist/wire/upload-pack.js +0 -1141
  356. package/dist/wire/upload-pack.js.map +0 -1
@@ -1,612 +0,0 @@
1
- /**
2
- * @fileoverview Full Packfile Generation Module
3
- *
4
- * This module provides advanced packfile generation capabilities designed for
5
- * production use with large repositories. It extends the basic generation module
6
- * with additional features for optimization, streaming, and incremental updates.
7
- *
8
- * ## Key Features
9
- *
10
- * - **Delta Chain Optimization**: Intelligent selection of delta bases
11
- * - **Ordering Strategies**: Multiple object ordering algorithms for optimal compression
12
- * - **Progress Reporting**: Real-time progress callbacks during generation
13
- * - **Large Repository Support**: Memory-efficient handling via chunking and streaming
14
- * - **Incremental Updates**: Efficiently update existing packs with new objects
15
- * - **Pack Validation**: Verify integrity of generated packfiles
16
- *
17
- * ## Main Classes
18
- *
19
- * - {@link FullPackGenerator} - Full-featured pack generator with progress support
20
- * - {@link DeltaChainOptimizer} - Optimizes delta base selection
21
- * - {@link LargeRepositoryHandler} - Handles large repos with memory limits
22
- * - {@link StreamingPackWriter} - Writes packs incrementally
23
- * - {@link IncrementalPackUpdater} - Updates packs with new objects
24
- *
25
- * ## Ordering Strategies
26
- *
27
- * The module supports multiple object ordering strategies:
28
- * - TYPE_FIRST: Groups objects by type (commits, trees, blobs, tags)
29
- * - SIZE_DESCENDING: Largest objects first (good bases for deltas)
30
- * - RECENCY: Most recently modified objects first
31
- * - PATH_BASED: Groups objects by file path
32
- * - DELTA_OPTIMIZED: Orders based on delta chain dependencies
33
- *
34
- * @module pack/full-generation
35
- * @see {@link module:pack/generation} Basic pack generation
36
- *
37
- * @example
38
- * // Generate a pack with progress reporting
39
- * const generator = new FullPackGenerator({
40
- * enableDeltaCompression: true,
41
- * orderingStrategy: PackOrderingStrategy.TYPE_FIRST
42
- * });
43
- *
44
- * generator.onProgress((progress) => {
45
- * console.log(`${progress.phase}: ${progress.objectsProcessed}/${progress.totalObjects}`);
46
- * });
47
- *
48
- * for (const obj of objects) {
49
- * generator.addObject(obj);
50
- * }
51
- *
52
- * const result = generator.generate();
53
- * console.log(`Generated pack with ${result.stats.deltaObjects} deltas`);
54
- */
55
- import { PackObjectType } from './format';
56
- /**
57
- * Represents an object that can be packed into a packfile.
58
- *
59
- * @description Extended version with optional timestamp and path for
60
- * advanced ordering strategies.
61
- *
62
- * @interface PackableObject
63
- */
64
- export interface PackableObject {
65
- /** 40-character hexadecimal SHA-1 hash */
66
- sha: string;
67
- /** Git object type */
68
- type: PackObjectType;
69
- /** Raw (uncompressed) object data */
70
- data: Uint8Array;
71
- /** Optional file path for path-based ordering */
72
- path?: string;
73
- /** Optional timestamp for recency-based ordering */
74
- timestamp?: number;
75
- }
76
- /**
77
- * A collection of objects to be packed together.
78
- *
79
- * @description Represents a set of objects with optional root references
80
- * for determining which objects are entry points.
81
- *
82
- * @interface PackableObjectSet
83
- */
84
- export interface PackableObjectSet {
85
- /** Array of objects to pack */
86
- objects: PackableObject[];
87
- /** Optional root object SHAs (e.g., commit heads) */
88
- roots?: string[];
89
- }
90
- /**
91
- * Configuration options for full pack generation.
92
- *
93
- * @interface FullPackOptions
94
- */
95
- export interface FullPackOptions {
96
- /** Enable delta compression (default: false) */
97
- enableDeltaCompression?: boolean;
98
- /** Maximum delta chain depth (default: 50) */
99
- maxDeltaDepth?: number;
100
- /** Number of objects to consider as delta bases (default: 10) */
101
- windowSize?: number;
102
- /** Zlib compression level 0-9 (default: 6) */
103
- compressionLevel?: number;
104
- /** Object ordering strategy to use */
105
- orderingStrategy?: PackOrderingStrategy;
106
- }
107
- /**
108
- * Result of full pack generation.
109
- *
110
- * @interface GeneratedFullPack
111
- */
112
- export interface GeneratedFullPack {
113
- /** Complete packfile data including checksum trailer */
114
- packData: Uint8Array;
115
- /** 20-byte SHA-1 checksum */
116
- checksum: Uint8Array;
117
- /** Generation statistics */
118
- stats: FullPackStats;
119
- }
120
- /**
121
- * Statistics from pack generation.
122
- *
123
- * @interface FullPackStats
124
- */
125
- export interface FullPackStats {
126
- /** Total number of objects in the pack */
127
- totalObjects: number;
128
- /** Number of objects stored as deltas */
129
- deltaObjects: number;
130
- /** Total uncompressed size in bytes */
131
- totalSize: number;
132
- /** Total compressed size in bytes */
133
- compressedSize: number;
134
- /** Ratio of compressed to uncompressed size */
135
- compressionRatio: number;
136
- /** Maximum depth of delta chains */
137
- maxDeltaDepth: number;
138
- /** Time taken to generate in milliseconds */
139
- generationTimeMs: number;
140
- }
141
- /**
142
- * Progress information during pack generation.
143
- *
144
- * @description Reported via callback during generation to track progress.
145
- *
146
- * @interface PackGenerationProgress
147
- */
148
- export interface PackGenerationProgress {
149
- /** Current generation phase */
150
- phase: 'scanning' | 'sorting' | 'compressing' | 'writing' | 'complete';
151
- /** Number of objects processed so far */
152
- objectsProcessed: number;
153
- /** Total number of objects to process */
154
- totalObjects: number;
155
- /** Bytes written to output so far */
156
- bytesWritten: number;
157
- /** SHA of currently processing object (if applicable) */
158
- currentObject?: string;
159
- }
160
- /**
161
- * Configuration for delta chain optimization.
162
- *
163
- * @interface DeltaChainConfig
164
- */
165
- export interface DeltaChainConfig {
166
- /** Maximum allowed delta chain depth (default: 50) */
167
- maxDepth?: number;
168
- /** Minimum savings ratio to accept a delta (default: 0.1) */
169
- minSavingsThreshold?: number;
170
- /** Number of objects to consider as bases (default: 10) */
171
- windowSize?: number;
172
- /** Minimum match length for delta matching (default: 4) */
173
- minMatchLength?: number;
174
- }
175
- /**
176
- * Result of delta chain optimization.
177
- *
178
- * @interface OptimizedDeltaChain
179
- */
180
- export interface OptimizedDeltaChain {
181
- /** Information about each chain in the optimization */
182
- chains: DeltaChainInfo[];
183
- /** Total bytes saved by delta compression */
184
- totalSavings: number;
185
- /** Map of object SHA to base SHA for delta relationships */
186
- baseSelections: Map<string, string>;
187
- }
188
- /**
189
- * Information about a single delta chain.
190
- *
191
- * @interface DeltaChainInfo
192
- */
193
- export interface DeltaChainInfo {
194
- /** SHA of the base object */
195
- baseSha: string;
196
- /** Type of the base object */
197
- baseType: PackObjectType;
198
- /** SHA of the delta object */
199
- objectSha: string;
200
- /** Type of the delta object */
201
- objectType: PackObjectType;
202
- /** Depth in the chain (0 = base, 1+ = delta) */
203
- depth: number;
204
- /** Bytes saved by using delta */
205
- savings: number;
206
- }
207
- /**
208
- * Available pack ordering strategies.
209
- *
210
- * @description Different ordering strategies affect delta compression efficiency
211
- * and pack structure. Choose based on your use case:
212
- * - TYPE_FIRST: Standard Git ordering, good for general use
213
- * - SIZE_DESCENDING: Optimizes for delta compression
214
- * - RECENCY: Useful for fetch operations
215
- * - PATH_BASED: Groups related files together
216
- * - DELTA_OPTIMIZED: Respects delta chain dependencies
217
- *
218
- * @enum {string}
219
- */
220
- export declare enum PackOrderingStrategy {
221
- /** Groups objects by type (commits, trees, blobs, tags) */
222
- TYPE_FIRST = "type_first",
223
- /** Orders by size, largest first (better delta bases) */
224
- SIZE_DESCENDING = "size_descending",
225
- /** Orders by timestamp, newest first */
226
- RECENCY = "recency",
227
- /** Groups objects by file path */
228
- PATH_BASED = "path_based",
229
- /** Orders based on delta chain structure */
230
- DELTA_OPTIMIZED = "delta_optimized"
231
- }
232
- /**
233
- * Configuration for ordering strategy
234
- */
235
- export interface OrderingStrategyConfig {
236
- primaryStrategy?: PackOrderingStrategy;
237
- secondaryStrategy?: PackOrderingStrategy;
238
- deltaChains?: Map<string, string>;
239
- preferSamePath?: boolean;
240
- }
241
- /**
242
- * Result of applying ordering strategy
243
- */
244
- export interface OrderedObjectSet {
245
- objects: PackableObject[];
246
- orderingApplied: PackOrderingStrategy;
247
- }
248
- /**
249
- * Configuration for large repository handling
250
- */
251
- export interface LargeRepoConfig {
252
- maxMemoryUsage?: number;
253
- chunkSize?: number;
254
- enableStreaming?: boolean;
255
- parallelDeltaComputation?: boolean;
256
- workerCount?: number;
257
- }
258
- /**
259
- * Options for incremental pack updates
260
- */
261
- export interface IncrementalUpdateOptions {
262
- generateThinPack?: boolean;
263
- externalBases?: Set<string>;
264
- reuseDeltas?: boolean;
265
- reoptimizeDeltas?: boolean;
266
- }
267
- /**
268
- * Result of incremental pack update
269
- */
270
- export interface IncrementalPackResult {
271
- packData: Uint8Array;
272
- addedObjects: number;
273
- skippedObjects: number;
274
- reusedDeltas: number;
275
- deltaReferences: string[];
276
- isThin: boolean;
277
- missingBases: string[];
278
- }
279
- /**
280
- * Result of pack diff computation
281
- */
282
- export interface PackDiff {
283
- added: string[];
284
- removed: string[];
285
- unchanged: string[];
286
- }
287
- /**
288
- * Result of pack merge
289
- */
290
- export interface MergedPack {
291
- objects: PackableObject[];
292
- stats: FullPackStats;
293
- }
294
- /**
295
- * Result of base selection
296
- */
297
- export interface BaseSelectionResult {
298
- selections: Map<string, string>;
299
- savings: Map<string, number>;
300
- }
301
- /**
302
- * Object dependency graph
303
- */
304
- export interface ObjectDependencyGraph {
305
- getDependencies(sha: string): string[];
306
- getDependents(sha: string): string[];
307
- hasCycles(): boolean;
308
- topologicalSort(): string[];
309
- nodes: string[];
310
- edges: Array<{
311
- from: string;
312
- to: string;
313
- }>;
314
- }
315
- /**
316
- * Result of pack validation
317
- */
318
- export interface PackValidationResult {
319
- valid: boolean;
320
- errors: string[];
321
- stats?: PackValidationStats;
322
- deltaChainStats?: DeltaChainStats;
323
- }
324
- /**
325
- * Pack validation statistics
326
- */
327
- export interface PackValidationStats {
328
- objectCount: number;
329
- headerValid: boolean;
330
- checksumValid: boolean;
331
- }
332
- /**
333
- * Delta chain statistics
334
- */
335
- export interface DeltaChainStats {
336
- maxDepth: number;
337
- averageDepth: number;
338
- totalChains: number;
339
- }
340
- /**
341
- * Generates a complete packfile from an object set.
342
- *
343
- * @description Convenience function that creates a FullPackGenerator, adds
344
- * all objects from the set, and returns the complete packfile with checksum.
345
- *
346
- * @param {PackableObjectSet} objectSet - The set of objects to pack
347
- * @returns {Uint8Array} Complete packfile data including checksum
348
- *
349
- * @example
350
- * const objectSet = {
351
- * objects: [blob1, blob2, tree, commit],
352
- * roots: [commit.sha]
353
- * };
354
- * const packfile = generateFullPackfile(objectSet);
355
- */
356
- export declare function generateFullPackfile(objectSet: PackableObjectSet): Uint8Array;
357
- /**
358
- * Optimizes delta chains for a set of objects.
359
- *
360
- * @description Analyzes objects to find optimal delta base selections that
361
- * minimize total pack size while respecting chain depth limits.
362
- *
363
- * @param {PackableObject[]} objects - Objects to optimize
364
- * @param {DeltaChainConfig} [config] - Optimization configuration
365
- * @returns {OptimizedDeltaChain} Optimized chain information and selections
366
- *
367
- * @example
368
- * const result = optimizeDeltaChains(objects, { maxDepth: 50 });
369
- * console.log(`Saved ${result.totalSavings} bytes`);
370
- */
371
- export declare function optimizeDeltaChains(objects: PackableObject[], config?: DeltaChainConfig): OptimizedDeltaChain;
372
- /**
373
- * Applies an ordering strategy to objects for optimal packing.
374
- *
375
- * @description Reorders objects according to the specified strategy to
376
- * improve compression efficiency or access patterns.
377
- *
378
- * @param {PackableObject[]} objects - Objects to reorder
379
- * @param {PackOrderingStrategy} strategy - Ordering strategy to apply
380
- * @param {OrderingStrategyConfig} [config] - Additional configuration
381
- * @returns {OrderedObjectSet} Ordered objects with applied strategy info
382
- *
383
- * @example
384
- * const ordered = applyOrderingStrategy(
385
- * objects,
386
- * PackOrderingStrategy.TYPE_FIRST,
387
- * { secondaryStrategy: PackOrderingStrategy.SIZE_DESCENDING }
388
- * );
389
- */
390
- export declare function applyOrderingStrategy(objects: PackableObject[], strategy: PackOrderingStrategy, config?: OrderingStrategyConfig): OrderedObjectSet;
391
- /**
392
- * Computes object dependencies from commit and tree references.
393
- *
394
- * @description Parses commit and tree objects to extract references,
395
- * building a dependency graph useful for ordering and validation.
396
- *
397
- * @param {PackableObject[]} objects - Objects to analyze
398
- * @returns {ObjectDependencyGraph} Dependency graph with traversal methods
399
- *
400
- * @example
401
- * const graph = computeObjectDependencies(objects);
402
- * const sorted = graph.topologicalSort();
403
- * if (graph.hasCycles()) {
404
- * throw new Error('Circular dependencies detected');
405
- * }
406
- */
407
- export declare function computeObjectDependencies(objects: PackableObject[]): ObjectDependencyGraph;
408
- /**
409
- * Selects optimal base objects for delta compression.
410
- *
411
- * @description Analyzes all objects to find the best delta base for each,
412
- * computing actual delta savings to make informed selections.
413
- *
414
- * @param {PackableObject[]} objects - Objects to analyze
415
- * @param {{ preferSamePath?: boolean }} [options] - Selection options
416
- * @returns {BaseSelectionResult} Map of selections and savings
417
- *
418
- * @example
419
- * const result = selectOptimalBases(objects, { preferSamePath: true });
420
- * for (const [target, base] of result.selections) {
421
- * console.log(`${target} -> ${base}: saves ${result.savings.get(target)} bytes`);
422
- * }
423
- */
424
- export declare function selectOptimalBases(objects: PackableObject[], options?: {
425
- preferSamePath?: boolean;
426
- }): BaseSelectionResult;
427
- /**
428
- * Validates pack file integrity.
429
- *
430
- * @description Performs comprehensive validation of a packfile including:
431
- * - Header signature and version
432
- * - Object count verification
433
- * - Checksum validation
434
- * - Optional delta chain validation
435
- *
436
- * @param {Uint8Array} packData - Complete packfile data to validate
437
- * @param {{ validateDeltas?: boolean; collectStats?: boolean }} [options] - Validation options
438
- * @returns {PackValidationResult} Validation result with errors and optional stats
439
- * @throws {Error} Never throws; errors are returned in the result
440
- *
441
- * @example
442
- * const result = validatePackIntegrity(packData, { collectStats: true });
443
- * if (!result.valid) {
444
- * console.error('Pack errors:', result.errors);
445
- * } else {
446
- * console.log(`Valid pack with ${result.stats?.objectCount} objects`);
447
- * }
448
- */
449
- export declare function validatePackIntegrity(packData: Uint8Array, options?: {
450
- validateDeltas?: boolean;
451
- collectStats?: boolean;
452
- }): PackValidationResult;
453
- /**
454
- * Full-featured pack generator with streaming and progress support.
455
- *
456
- * @description Advanced packfile generator that extends basic functionality with:
457
- * - Progress callbacks during generation
458
- * - Configurable ordering strategies
459
- * - Delta compression with chain optimization
460
- * - Validation of input objects
461
- *
462
- * @class FullPackGenerator
463
- *
464
- * @example
465
- * const generator = new FullPackGenerator({
466
- * enableDeltaCompression: true,
467
- * orderingStrategy: PackOrderingStrategy.TYPE_FIRST
468
- * });
469
- *
470
- * generator.onProgress((p) => {
471
- * console.log(`Phase: ${p.phase}, Progress: ${p.objectsProcessed}/${p.totalObjects}`);
472
- * });
473
- *
474
- * for (const obj of objects) {
475
- * generator.addObject(obj);
476
- * }
477
- *
478
- * const result = generator.generate();
479
- */
480
- export declare class FullPackGenerator {
481
- private objects;
482
- private options;
483
- private progressCallback?;
484
- constructor(options?: FullPackOptions);
485
- get objectCount(): number;
486
- addObject(object: PackableObject): void;
487
- addObjectSet(objectSet: PackableObjectSet): void;
488
- onProgress(callback: (progress: PackGenerationProgress) => void): void;
489
- generate(): GeneratedFullPack;
490
- reset(): void;
491
- private reportProgress;
492
- }
493
- /**
494
- * Delta chain optimizer for finding optimal base selections.
495
- *
496
- * @description Analyzes a set of objects to determine the best delta base
497
- * for each, considering chain depth limits, similarity, and savings.
498
- *
499
- * @class DeltaChainOptimizer
500
- *
501
- * @example
502
- * const optimizer = new DeltaChainOptimizer({ maxDepth: 50 });
503
- * for (const obj of objects) {
504
- * optimizer.addObject(obj);
505
- * }
506
- * const result = optimizer.optimize();
507
- */
508
- export declare class DeltaChainOptimizer {
509
- private objects;
510
- private config;
511
- constructor(config?: DeltaChainConfig);
512
- addObject(object: PackableObject): void;
513
- buildGraph(): {
514
- nodes: PackableObject[];
515
- edges: Array<{
516
- from: string;
517
- to: string;
518
- }>;
519
- };
520
- computeSavings(): Map<string, number>;
521
- optimize(): OptimizedDeltaChain;
522
- }
523
- /**
524
- * Handler for large repositories with memory management.
525
- *
526
- * @description Provides memory-efficient pack generation for large repositories
527
- * by partitioning objects into chunks and optionally streaming output.
528
- *
529
- * @class LargeRepositoryHandler
530
- *
531
- * @example
532
- * const handler = new LargeRepositoryHandler({
533
- * maxMemoryUsage: 500 * 1024 * 1024, // 500MB
534
- * chunkSize: 1000,
535
- * enableStreaming: true
536
- * });
537
- * handler.setObjects(largeObjectSet);
538
- * handler.onProgress((p) => console.log(p.phase));
539
- * const result = handler.generatePack();
540
- */
541
- export declare class LargeRepositoryHandler {
542
- private objects;
543
- private config;
544
- private progressCallback?;
545
- private memoryCallback?;
546
- constructor(config?: LargeRepoConfig);
547
- setObjects(objects: PackableObject[]): void;
548
- onProgress(callback: (progress: PackGenerationProgress) => void): void;
549
- onMemoryUsage(callback: (usage: number) => void): void;
550
- partitionObjects(objects: PackableObject[]): PackableObject[][];
551
- generatePack(): GeneratedFullPack;
552
- }
553
- /**
554
- * Streaming pack writer for incremental output.
555
- *
556
- * @description Writes packfile data incrementally, suitable for streaming
557
- * to network or disk without holding entire pack in memory.
558
- *
559
- * @class StreamingPackWriter
560
- *
561
- * @example
562
- * const writer = new StreamingPackWriter();
563
- * writer.onChunk((chunk) => socket.write(chunk));
564
- * writer.writeHeader(objects.length);
565
- * for (const obj of objects) {
566
- * writer.writeObject(obj);
567
- * }
568
- * await writer.finalize();
569
- */
570
- export declare class StreamingPackWriter {
571
- private chunkCallback?;
572
- private outputStream?;
573
- private chunks;
574
- private objectCount;
575
- private expectedCount;
576
- constructor(options?: {
577
- outputStream?: {
578
- write: (chunk: Uint8Array) => Promise<void>;
579
- };
580
- highWaterMark?: number;
581
- });
582
- onChunk(callback: (chunk: Uint8Array) => void): void;
583
- writeHeader(objectCount: number): void;
584
- writeObject(object: PackableObject): void;
585
- finalize(): Promise<void>;
586
- private emitChunk;
587
- }
588
- /**
589
- * Incremental pack updater for adding new objects to existing packs.
590
- *
591
- * @description Efficiently creates packs containing only new objects while
592
- * optionally reusing delta relationships with existing objects.
593
- *
594
- * @class IncrementalPackUpdater
595
- *
596
- * @example
597
- * const updater = new IncrementalPackUpdater({ reuseDeltas: true });
598
- * updater.setExistingObjects(existingPack);
599
- * const result = updater.addObjects(newObjects);
600
- * console.log(`Added ${result.addedObjects}, skipped ${result.skippedObjects}`);
601
- */
602
- export declare class IncrementalPackUpdater {
603
- private existingObjects;
604
- private existingShas;
605
- private options;
606
- constructor(options?: IncrementalUpdateOptions);
607
- setExistingObjects(objects: PackableObject[]): void;
608
- addObjects(newObjects: PackableObject[]): IncrementalPackResult;
609
- computeDiff(oldObjects: PackableObject[], newObjects: PackableObject[]): PackDiff;
610
- mergePacks(packs: PackableObject[][]): MergedPack;
611
- }
612
- //# sourceMappingURL=full-generation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"full-generation.d.ts","sourceRoot":"","sources":["../../src/pack/full-generation.ts"],"names":[],"mappings":"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"}