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,683 +0,0 @@
1
- /**
2
- * @fileoverview Git Branch Operations
3
- *
4
- * This module provides comprehensive branch management functionality including
5
- * creation, deletion, renaming, listing, and upstream tracking configuration.
6
- *
7
- * Branches in Git are simply refs under `refs/heads/` that point to commits.
8
- * This module provides a higher-level API that handles the ref manipulation
9
- * and adds branch-specific features like tracking information.
10
- *
11
- * **Key Features**:
12
- * - Branch CRUD operations (create, read, update, delete)
13
- * - Upstream tracking configuration
14
- * - Merge status checking
15
- * - Branch name validation and normalization
16
- *
17
- * @module refs/branch
18
- *
19
- * @example
20
- * ```typescript
21
- * import { BranchManager, createBranch, listBranches } from './refs/branch'
22
- *
23
- * // Using the manager
24
- * const manager = new BranchManager(refStorage)
25
- * const branch = await manager.createBranch('feature/new-thing', { startPoint: 'main' })
26
- *
27
- * // Or using convenience functions
28
- * const branches = await listBranches(refStorage)
29
- * ```
30
- */
31
- import { RefStorage } from './storage';
32
- import type { Ref as _RefType } from './storage';
33
- export type { _RefType as BranchRefType };
34
- /**
35
- * Upstream tracking information for a branch.
36
- *
37
- * @description
38
- * Contains information about the remote branch that a local branch tracks,
39
- * including ahead/behind counts for synchronization status.
40
- *
41
- * @example
42
- * ```typescript
43
- * const tracking: BranchTrackingInfo = {
44
- * remote: 'origin',
45
- * remoteBranch: 'refs/remotes/origin/main',
46
- * ahead: 2, // Local has 2 commits not on remote
47
- * behind: 0, // Remote has 0 commits not on local
48
- * gone: false // Remote branch still exists
49
- * }
50
- * ```
51
- */
52
- export interface BranchTrackingInfo {
53
- /** Remote name (e.g., 'origin', 'upstream') */
54
- remote: string;
55
- /** Full remote branch ref (e.g., 'refs/remotes/origin/main') */
56
- remoteBranch: string;
57
- /** Number of local commits not pushed to upstream */
58
- ahead: number;
59
- /** Number of upstream commits not pulled locally */
60
- behind: number;
61
- /** True if the remote branch has been deleted */
62
- gone: boolean;
63
- }
64
- /**
65
- * Complete branch information.
66
- *
67
- * @description
68
- * Represents a Git branch with all associated metadata including
69
- * current status, tracking info, and optional commit details.
70
- *
71
- * @example
72
- * ```typescript
73
- * const branch: Branch = {
74
- * name: 'feature/auth',
75
- * ref: 'refs/heads/feature/auth',
76
- * sha: 'abc123...',
77
- * isCurrent: true,
78
- * isRemote: false,
79
- * tracking: {
80
- * remote: 'origin',
81
- * remoteBranch: 'refs/remotes/origin/feature/auth',
82
- * ahead: 1,
83
- * behind: 0,
84
- * gone: false
85
- * }
86
- * }
87
- * ```
88
- */
89
- export interface Branch {
90
- /** Short branch name without refs/heads/ prefix (e.g., 'main', 'feature/foo') */
91
- name: string;
92
- /** Full ref name (e.g., 'refs/heads/main') */
93
- ref: string;
94
- /** SHA-1 of the commit this branch points to */
95
- sha: string;
96
- /** True if this is the current branch (HEAD points to it) */
97
- isCurrent: boolean;
98
- /** True if this is a remote tracking branch (refs/remotes/) */
99
- isRemote: boolean;
100
- /** Upstream tracking information (if configured) */
101
- tracking?: BranchTrackingInfo;
102
- /** Subject line of the last commit (optional, for display) */
103
- lastCommitMessage?: string;
104
- /** Author name of the last commit (optional, for display) */
105
- lastCommitAuthor?: string;
106
- /** Date of the last commit (optional, for sorting/display) */
107
- lastCommitDate?: Date;
108
- }
109
- /**
110
- * Options for creating a new branch.
111
- *
112
- * @description
113
- * Controls branch creation behavior including start point,
114
- * force overwrite, and tracking configuration.
115
- */
116
- export interface CreateBranchOptions {
117
- /**
118
- * Starting point for the new branch.
119
- * Can be a SHA, branch name, or ref. Defaults to HEAD.
120
- */
121
- startPoint?: string;
122
- /** If true, overwrite existing branch with same name */
123
- force?: boolean;
124
- /**
125
- * Configure upstream tracking.
126
- * - `true`: Track the startPoint if it's a remote branch
127
- * - `string`: Explicit upstream ref to track
128
- * - `false`/undefined: No tracking
129
- */
130
- track?: boolean | string;
131
- /** If true, validate but don't actually create */
132
- dryRun?: boolean;
133
- }
134
- /**
135
- * Options for deleting a branch.
136
- */
137
- export interface DeleteBranchOptions {
138
- /** If true, delete even if not fully merged */
139
- force?: boolean;
140
- /** Remote name for deleting remote tracking branches */
141
- remote?: string;
142
- /** If true, validate but don't actually delete */
143
- dryRun?: boolean;
144
- }
145
- /**
146
- * Options for renaming a branch.
147
- */
148
- export interface RenameBranchOptions {
149
- /** If true, overwrite target if it exists */
150
- force?: boolean;
151
- /** If true, validate but don't actually rename */
152
- dryRun?: boolean;
153
- }
154
- /**
155
- * Options for listing branches.
156
- *
157
- * @description
158
- * Provides extensive filtering, sorting, and inclusion options
159
- * for branch listing operations.
160
- */
161
- export interface ListBranchesOptions {
162
- /** Include remote tracking branches (refs/remotes/) */
163
- includeRemotes?: boolean;
164
- /** Only list remote tracking branches */
165
- remotesOnly?: boolean;
166
- /** Filter pattern (glob-style, e.g., 'feature/*') */
167
- pattern?: string;
168
- /** Sort by field */
169
- sortBy?: 'name' | 'committerdate' | 'authordate';
170
- /** Sort direction */
171
- sortOrder?: 'asc' | 'desc';
172
- /** Include tracking info (slower - requires extra lookups) */
173
- includeTracking?: boolean;
174
- /** Include last commit info (slower - requires object access) */
175
- includeCommitInfo?: boolean;
176
- /** Only show branches merged into this ref */
177
- mergedInto?: string;
178
- /** Only show branches NOT merged into this ref */
179
- notMergedInto?: string;
180
- /** Only show branches containing this commit */
181
- contains?: string;
182
- /** Only show branches NOT containing this commit */
183
- noContains?: string;
184
- }
185
- /**
186
- * Options for setting upstream tracking.
187
- */
188
- export interface SetUpstreamOptions {
189
- /** Remote name (e.g., 'origin') */
190
- remote?: string;
191
- /** Remote branch name (without refs/remotes/ prefix) */
192
- remoteBranch?: string;
193
- /** If true, remove upstream tracking */
194
- unset?: boolean;
195
- }
196
- /**
197
- * Result of branch name validation.
198
- *
199
- * @description
200
- * Provides detailed validation result including the normalized
201
- * form of the branch name if valid.
202
- */
203
- export interface BranchValidationResult {
204
- /** Whether the name passes validation */
205
- valid: boolean;
206
- /** Error message explaining why validation failed */
207
- error?: string;
208
- /** Normalized branch name (cleaned up form) */
209
- normalized?: string;
210
- }
211
- /**
212
- * Error thrown when a branch operation fails.
213
- *
214
- * @description
215
- * Provides structured error information with error code
216
- * for programmatic error handling.
217
- *
218
- * @example
219
- * ```typescript
220
- * try {
221
- * await manager.deleteBranch('main')
222
- * } catch (e) {
223
- * if (e instanceof BranchError) {
224
- * if (e.code === 'CANNOT_DELETE_CURRENT') {
225
- * console.log('Cannot delete the branch you are on')
226
- * }
227
- * }
228
- * }
229
- * ```
230
- */
231
- export declare class BranchError extends Error {
232
- readonly code: BranchErrorCode;
233
- readonly branchName?: string | undefined;
234
- /**
235
- * Create a new BranchError.
236
- *
237
- * @param message - Human-readable error description
238
- * @param code - Error code for programmatic handling
239
- * @param branchName - The branch that caused the error
240
- */
241
- constructor(message: string, code: BranchErrorCode, branchName?: string | undefined);
242
- }
243
- /**
244
- * Error codes for branch operations.
245
- *
246
- * @description
247
- * - `NOT_FOUND`: Branch doesn't exist
248
- * - `ALREADY_EXISTS`: Branch already exists (when creating)
249
- * - `INVALID_NAME`: Branch name fails validation
250
- * - `NOT_FULLY_MERGED`: Branch has unmerged commits (when deleting)
251
- * - `CANNOT_DELETE_CURRENT`: Attempting to delete checked-out branch
252
- * - `CHECKOUT_CONFLICT`: Working tree has uncommitted changes
253
- * - `INVALID_START_POINT`: Start point doesn't resolve to valid commit
254
- * - `NO_UPSTREAM`: Branch has no upstream configured
255
- * - `DETACHED_HEAD`: HEAD is detached (no current branch)
256
- */
257
- export type BranchErrorCode = 'NOT_FOUND' | 'ALREADY_EXISTS' | 'INVALID_NAME' | 'NOT_FULLY_MERGED' | 'CANNOT_DELETE_CURRENT' | 'CHECKOUT_CONFLICT' | 'INVALID_START_POINT' | 'NO_UPSTREAM' | 'DETACHED_HEAD';
258
- /**
259
- * Branch manager for performing Git branch operations.
260
- *
261
- * @description
262
- * Provides a comprehensive API for branch management. Uses RefStorage
263
- * internally for ref manipulation.
264
- *
265
- * @example
266
- * ```typescript
267
- * const manager = new BranchManager(refStorage)
268
- *
269
- * // Create a feature branch
270
- * const branch = await manager.createBranch('feature/auth', {
271
- * startPoint: 'main',
272
- * track: true
273
- * })
274
- *
275
- * // List all branches
276
- * const branches = await manager.listBranches({ includeRemotes: true })
277
- *
278
- * // Delete a merged branch
279
- * await manager.deleteBranch('feature/auth')
280
- * ```
281
- */
282
- /**
283
- * Options for creating a BranchManager.
284
- */
285
- export interface BranchManagerOptions {
286
- /**
287
- * Optional callback to verify that a commit SHA exists.
288
- * If provided, createBranch will validate SHA start points.
289
- */
290
- commitExists?: (sha: string) => Promise<boolean>;
291
- }
292
- export declare class BranchManager {
293
- private storage;
294
- /** Storage for tracking information (simulated config) */
295
- private trackingInfo;
296
- /** Optional callback to check if commits exist */
297
- private commitExists?;
298
- /**
299
- * Create a new BranchManager.
300
- *
301
- * @param storage - RefStorage instance for ref operations
302
- * @param options - Optional configuration
303
- */
304
- constructor(storage: RefStorage, options?: BranchManagerOptions);
305
- /**
306
- * Create a new branch.
307
- *
308
- * @description
309
- * Creates a new branch pointing to the specified start point.
310
- * By default, the branch starts at HEAD.
311
- *
312
- * @param name - Branch name (without refs/heads/ prefix)
313
- * @param options - Creation options
314
- * @returns The created branch
315
- * @throws BranchError with code 'INVALID_NAME' if name is invalid
316
- * @throws BranchError with code 'ALREADY_EXISTS' if branch exists and not forcing
317
- * @throws BranchError with code 'INVALID_START_POINT' if start point is invalid
318
- *
319
- * @example
320
- * ```typescript
321
- * // Create from HEAD
322
- * const branch = await manager.createBranch('feature')
323
- *
324
- * // Create from specific commit
325
- * const branch = await manager.createBranch('hotfix', { startPoint: 'abc123' })
326
- *
327
- * // Force overwrite existing
328
- * const branch = await manager.createBranch('main', { force: true, startPoint: 'HEAD' })
329
- * ```
330
- */
331
- createBranch(name: string, options?: CreateBranchOptions): Promise<Branch>;
332
- /**
333
- * Delete a branch.
334
- *
335
- * @description
336
- * Removes a branch ref. By default, refuses to delete unmerged branches.
337
- *
338
- * @param name - Branch name to delete
339
- * @param options - Deletion options
340
- * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
341
- * @throws BranchError with code 'CANNOT_DELETE_CURRENT' if branch is checked out
342
- * @throws BranchError with code 'NOT_FULLY_MERGED' if branch has unmerged commits
343
- *
344
- * @example
345
- * ```typescript
346
- * // Safe delete (only if merged)
347
- * await manager.deleteBranch('feature')
348
- *
349
- * // Force delete
350
- * await manager.deleteBranch('experiment', { force: true })
351
- * ```
352
- */
353
- deleteBranch(name: string, options?: DeleteBranchOptions): Promise<void>;
354
- /**
355
- * Rename a branch.
356
- *
357
- * @description
358
- * Renames a branch, updating the ref name. If the branch is the current
359
- * branch, HEAD is updated accordingly.
360
- *
361
- * @param oldName - Current branch name
362
- * @param newName - New branch name
363
- * @param options - Rename options
364
- * @returns The renamed branch
365
- * @throws BranchError with code 'NOT_FOUND' if old branch doesn't exist
366
- * @throws BranchError with code 'ALREADY_EXISTS' if new name exists and not forcing
367
- * @throws BranchError with code 'INVALID_NAME' if new name is invalid
368
- *
369
- * @example
370
- * ```typescript
371
- * const branch = await manager.renameBranch('old-name', 'new-name')
372
- * ```
373
- */
374
- renameBranch(oldName: string, newName: string, options?: RenameBranchOptions): Promise<Branch>;
375
- /**
376
- * List all branches.
377
- *
378
- * @description
379
- * Returns branches matching the specified criteria.
380
- * By default, returns only local branches.
381
- *
382
- * @param options - Listing options
383
- * @returns Array of branches matching criteria
384
- *
385
- * @example
386
- * ```typescript
387
- * // List local branches
388
- * const local = await manager.listBranches()
389
- *
390
- * // List all branches including remotes
391
- * const all = await manager.listBranches({ includeRemotes: true })
392
- *
393
- * // List merged branches
394
- * const merged = await manager.listBranches({ mergedInto: 'main' })
395
- * ```
396
- */
397
- listBranches(options?: ListBranchesOptions): Promise<Branch[]>;
398
- /**
399
- * Get the current branch.
400
- *
401
- * @description
402
- * Returns the branch that HEAD points to, or null if HEAD is detached.
403
- *
404
- * @returns Current branch or null if detached
405
- *
406
- * @example
407
- * ```typescript
408
- * const current = await manager.getCurrentBranch()
409
- * if (current) {
410
- * console.log(`On branch: ${current.name}`)
411
- * } else {
412
- * console.log('HEAD is detached')
413
- * }
414
- * ```
415
- */
416
- getCurrentBranch(): Promise<Branch | null>;
417
- /**
418
- * Get a specific branch by name.
419
- *
420
- * @description
421
- * Retrieves branch information for a specific branch.
422
- *
423
- * @param name - Branch name
424
- * @returns Branch info or null if not found
425
- *
426
- * @example
427
- * ```typescript
428
- * const branch = await manager.getBranch('main')
429
- * if (branch) {
430
- * console.log(`main is at ${branch.sha}`)
431
- * }
432
- * ```
433
- */
434
- getBranch(name: string): Promise<Branch | null>;
435
- /**
436
- * Check if a branch exists.
437
- *
438
- * @description
439
- * Quick check for branch existence without fetching full info.
440
- *
441
- * @param name - Branch name
442
- * @returns True if branch exists
443
- *
444
- * @example
445
- * ```typescript
446
- * if (await manager.branchExists('feature')) {
447
- * console.log('Branch already exists')
448
- * }
449
- * ```
450
- */
451
- branchExists(name: string): Promise<boolean>;
452
- /**
453
- * Set upstream branch for tracking.
454
- *
455
- * @description
456
- * Configures or removes upstream tracking for a branch.
457
- *
458
- * @param branchName - Local branch to configure
459
- * @param options - Tracking options
460
- * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
461
- *
462
- * @example
463
- * ```typescript
464
- * // Set upstream
465
- * await manager.setUpstream('feature', {
466
- * remote: 'origin',
467
- * remoteBranch: 'feature'
468
- * })
469
- *
470
- * // Remove upstream
471
- * await manager.setUpstream('feature', { unset: true })
472
- * ```
473
- */
474
- setUpstream(branchName: string, options: SetUpstreamOptions): Promise<void>;
475
- /**
476
- * Get tracking info for a branch.
477
- *
478
- * @description
479
- * Returns upstream tracking information including ahead/behind counts.
480
- *
481
- * @param branchName - Branch to check
482
- * @returns Tracking info or null if not tracking
483
- *
484
- * @example
485
- * ```typescript
486
- * const tracking = await manager.getTrackingInfo('main')
487
- * if (tracking) {
488
- * console.log(`${tracking.ahead} ahead, ${tracking.behind} behind ${tracking.remoteBranch}`)
489
- * }
490
- * ```
491
- */
492
- getTrackingInfo(branchName: string): Promise<BranchTrackingInfo | null>;
493
- /**
494
- * Check if a branch is fully merged into another branch.
495
- *
496
- * @description
497
- * Determines if all commits on the branch are reachable from the target.
498
- *
499
- * @param branchName - Branch to check
500
- * @param into - Target branch (defaults to current branch)
501
- * @returns True if fully merged
502
- *
503
- * @example
504
- * ```typescript
505
- * if (await manager.isMerged('feature', 'main')) {
506
- * console.log('Safe to delete feature branch')
507
- * }
508
- * ```
509
- */
510
- isMerged(branchName: string, into?: string): Promise<boolean>;
511
- /**
512
- * Force delete an unmerged branch.
513
- *
514
- * @description
515
- * Deletes a branch even if it has unmerged commits. Use with caution
516
- * as this can result in lost commits.
517
- *
518
- * @param name - Branch name to delete
519
- * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
520
- * @throws BranchError with code 'CANNOT_DELETE_CURRENT' if branch is checked out
521
- *
522
- * @example
523
- * ```typescript
524
- * await manager.forceDeleteBranch('abandoned-feature')
525
- * ```
526
- */
527
- forceDeleteBranch(name: string): Promise<void>;
528
- }
529
- /**
530
- * Validate a branch name according to Git rules.
531
- *
532
- * @description
533
- * Checks if a branch name is valid and returns detailed validation results
534
- * including the normalized form of the name.
535
- *
536
- * @param name - Branch name to validate
537
- * @returns Validation result with valid flag, error message, and normalized name
538
- *
539
- * @see https://git-scm.com/docs/git-check-ref-format
540
- *
541
- * @example
542
- * ```typescript
543
- * const result = validateBranchName('feature/auth')
544
- * if (result.valid) {
545
- * console.log(`Valid: ${result.normalized}`)
546
- * } else {
547
- * console.log(`Invalid: ${result.error}`)
548
- * }
549
- * ```
550
- */
551
- export declare function validateBranchName(name: string): BranchValidationResult;
552
- /**
553
- * Check if a string is a valid branch name.
554
- *
555
- * @description
556
- * Simple boolean check for branch name validity.
557
- *
558
- * @param name - Branch name to check
559
- * @returns True if valid
560
- *
561
- * @example
562
- * ```typescript
563
- * if (isValidBranchName('feature/new')) {
564
- * // Create the branch
565
- * }
566
- * ```
567
- */
568
- export declare function isValidBranchName(name: string): boolean;
569
- /**
570
- * Normalize a branch name.
571
- *
572
- * @description
573
- * Removes refs/heads/ prefix if present, cleans up the name.
574
- *
575
- * @param name - Branch name or ref
576
- * @returns Normalized short branch name
577
- *
578
- * @example
579
- * ```typescript
580
- * normalizeBranchName('refs/heads/main') // 'main'
581
- * normalizeBranchName('main') // 'main'
582
- * ```
583
- */
584
- export declare function normalizeBranchName(name: string): string;
585
- /**
586
- * Get the full ref name for a branch.
587
- *
588
- * @description
589
- * Adds refs/heads/ prefix if not present.
590
- *
591
- * @param name - Short branch name
592
- * @returns Full ref name
593
- *
594
- * @example
595
- * ```typescript
596
- * getBranchRefName('main') // 'refs/heads/main'
597
- * getBranchRefName('refs/heads/main') // 'refs/heads/main'
598
- * ```
599
- */
600
- export declare function getBranchRefName(name: string): string;
601
- /**
602
- * Create a new branch.
603
- *
604
- * @description
605
- * Convenience function that creates a BranchManager and calls createBranch.
606
- *
607
- * @param storage - RefStorage instance
608
- * @param name - Branch name
609
- * @param options - Creation options
610
- * @returns Created branch
611
- *
612
- * @example
613
- * ```typescript
614
- * const branch = await createBranch(storage, 'feature', { startPoint: 'main' })
615
- * ```
616
- */
617
- export declare function createBranch(storage: RefStorage, name: string, options?: CreateBranchOptions): Promise<Branch>;
618
- /**
619
- * Delete a branch.
620
- *
621
- * @description
622
- * Convenience function that creates a BranchManager and calls deleteBranch.
623
- *
624
- * @param storage - RefStorage instance
625
- * @param name - Branch name to delete
626
- * @param options - Deletion options
627
- *
628
- * @example
629
- * ```typescript
630
- * await deleteBranch(storage, 'feature', { force: true })
631
- * ```
632
- */
633
- export declare function deleteBranch(storage: RefStorage, name: string, options?: DeleteBranchOptions): Promise<void>;
634
- /**
635
- * Rename a branch.
636
- *
637
- * @description
638
- * Convenience function that creates a BranchManager and calls renameBranch.
639
- *
640
- * @param storage - RefStorage instance
641
- * @param oldName - Current branch name
642
- * @param newName - New branch name
643
- * @param options - Rename options
644
- * @returns Renamed branch
645
- *
646
- * @example
647
- * ```typescript
648
- * const branch = await renameBranch(storage, 'old', 'new')
649
- * ```
650
- */
651
- export declare function renameBranch(storage: RefStorage, oldName: string, newName: string, options?: RenameBranchOptions): Promise<Branch>;
652
- /**
653
- * List all branches.
654
- *
655
- * @description
656
- * Convenience function that creates a BranchManager and calls listBranches.
657
- *
658
- * @param storage - RefStorage instance
659
- * @param options - Listing options
660
- * @returns Array of branches
661
- *
662
- * @example
663
- * ```typescript
664
- * const branches = await listBranches(storage, { includeRemotes: true })
665
- * ```
666
- */
667
- export declare function listBranches(storage: RefStorage, options?: ListBranchesOptions): Promise<Branch[]>;
668
- /**
669
- * Get the current branch.
670
- *
671
- * @description
672
- * Convenience function that creates a BranchManager and calls getCurrentBranch.
673
- *
674
- * @param storage - RefStorage instance
675
- * @returns Current branch or null if detached
676
- *
677
- * @example
678
- * ```typescript
679
- * const current = await getCurrentBranch(storage)
680
- * ```
681
- */
682
- export declare function getCurrentBranch(storage: RefStorage): Promise<Branch | null>;
683
- //# sourceMappingURL=branch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/refs/branch.ts"],"names":[],"mappings":"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"}