gitx.do 0.1.0 → 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 (344) 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 +15 -415
  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 -174
  20. package/dist/cli/commands/add.d.ts.map +0 -1
  21. package/dist/cli/commands/add.js +0 -131
  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/commit.d.ts +0 -182
  32. package/dist/cli/commands/commit.d.ts.map +0 -1
  33. package/dist/cli/commands/commit.js +0 -437
  34. package/dist/cli/commands/commit.js.map +0 -1
  35. package/dist/cli/commands/diff.d.ts +0 -464
  36. package/dist/cli/commands/diff.d.ts.map +0 -1
  37. package/dist/cli/commands/diff.js +0 -958
  38. package/dist/cli/commands/diff.js.map +0 -1
  39. package/dist/cli/commands/log.d.ts +0 -239
  40. package/dist/cli/commands/log.d.ts.map +0 -1
  41. package/dist/cli/commands/log.js +0 -535
  42. package/dist/cli/commands/log.js.map +0 -1
  43. package/dist/cli/commands/merge.d.ts +0 -106
  44. package/dist/cli/commands/merge.d.ts.map +0 -1
  45. package/dist/cli/commands/merge.js +0 -55
  46. package/dist/cli/commands/merge.js.map +0 -1
  47. package/dist/cli/commands/review.d.ts +0 -457
  48. package/dist/cli/commands/review.d.ts.map +0 -1
  49. package/dist/cli/commands/review.js +0 -533
  50. package/dist/cli/commands/review.js.map +0 -1
  51. package/dist/cli/commands/status.d.ts +0 -269
  52. package/dist/cli/commands/status.d.ts.map +0 -1
  53. package/dist/cli/commands/status.js +0 -493
  54. package/dist/cli/commands/status.js.map +0 -1
  55. package/dist/cli/commands/web.d.ts +0 -199
  56. package/dist/cli/commands/web.d.ts.map +0 -1
  57. package/dist/cli/commands/web.js +0 -696
  58. package/dist/cli/commands/web.js.map +0 -1
  59. package/dist/cli/fs-adapter.d.ts +0 -656
  60. package/dist/cli/fs-adapter.d.ts.map +0 -1
  61. package/dist/cli/fs-adapter.js +0 -1179
  62. package/dist/cli/fs-adapter.js.map +0 -1
  63. package/dist/cli/fsx-cli-adapter.d.ts +0 -359
  64. package/dist/cli/fsx-cli-adapter.d.ts.map +0 -1
  65. package/dist/cli/fsx-cli-adapter.js +0 -619
  66. package/dist/cli/fsx-cli-adapter.js.map +0 -1
  67. package/dist/cli/index.d.ts +0 -387
  68. package/dist/cli/index.d.ts.map +0 -1
  69. package/dist/cli/index.js +0 -523
  70. package/dist/cli/index.js.map +0 -1
  71. package/dist/cli/ui/components/DiffView.d.ts +0 -7
  72. package/dist/cli/ui/components/DiffView.d.ts.map +0 -1
  73. package/dist/cli/ui/components/DiffView.js +0 -11
  74. package/dist/cli/ui/components/DiffView.js.map +0 -1
  75. package/dist/cli/ui/components/ErrorDisplay.d.ts +0 -6
  76. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +0 -1
  77. package/dist/cli/ui/components/ErrorDisplay.js +0 -11
  78. package/dist/cli/ui/components/ErrorDisplay.js.map +0 -1
  79. package/dist/cli/ui/components/FuzzySearch.d.ts +0 -9
  80. package/dist/cli/ui/components/FuzzySearch.d.ts.map +0 -1
  81. package/dist/cli/ui/components/FuzzySearch.js +0 -12
  82. package/dist/cli/ui/components/FuzzySearch.js.map +0 -1
  83. package/dist/cli/ui/components/LoadingSpinner.d.ts +0 -6
  84. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +0 -1
  85. package/dist/cli/ui/components/LoadingSpinner.js +0 -10
  86. package/dist/cli/ui/components/LoadingSpinner.js.map +0 -1
  87. package/dist/cli/ui/components/NavigationList.d.ts +0 -9
  88. package/dist/cli/ui/components/NavigationList.d.ts.map +0 -1
  89. package/dist/cli/ui/components/NavigationList.js +0 -11
  90. package/dist/cli/ui/components/NavigationList.js.map +0 -1
  91. package/dist/cli/ui/components/ScrollableContent.d.ts +0 -8
  92. package/dist/cli/ui/components/ScrollableContent.d.ts.map +0 -1
  93. package/dist/cli/ui/components/ScrollableContent.js +0 -11
  94. package/dist/cli/ui/components/ScrollableContent.js.map +0 -1
  95. package/dist/cli/ui/components/index.d.ts +0 -7
  96. package/dist/cli/ui/components/index.d.ts.map +0 -1
  97. package/dist/cli/ui/components/index.js +0 -9
  98. package/dist/cli/ui/components/index.js.map +0 -1
  99. package/dist/cli/ui/terminal-ui.d.ts +0 -52
  100. package/dist/cli/ui/terminal-ui.d.ts.map +0 -1
  101. package/dist/cli/ui/terminal-ui.js +0 -121
  102. package/dist/cli/ui/terminal-ui.js.map +0 -1
  103. package/dist/do/BashModule.d.ts +0 -871
  104. package/dist/do/BashModule.d.ts.map +0 -1
  105. package/dist/do/BashModule.js +0 -1143
  106. package/dist/do/BashModule.js.map +0 -1
  107. package/dist/do/FsModule.d.ts +0 -601
  108. package/dist/do/FsModule.d.ts.map +0 -1
  109. package/dist/do/FsModule.js +0 -1120
  110. package/dist/do/FsModule.js.map +0 -1
  111. package/dist/do/GitModule.d.ts +0 -635
  112. package/dist/do/GitModule.d.ts.map +0 -1
  113. package/dist/do/GitModule.js +0 -781
  114. package/dist/do/GitModule.js.map +0 -1
  115. package/dist/do/GitRepoDO.d.ts +0 -281
  116. package/dist/do/GitRepoDO.d.ts.map +0 -1
  117. package/dist/do/GitRepoDO.js +0 -479
  118. package/dist/do/GitRepoDO.js.map +0 -1
  119. package/dist/do/bash-ast.d.ts +0 -246
  120. package/dist/do/bash-ast.d.ts.map +0 -1
  121. package/dist/do/bash-ast.js +0 -888
  122. package/dist/do/bash-ast.js.map +0 -1
  123. package/dist/do/container-executor.d.ts +0 -491
  124. package/dist/do/container-executor.d.ts.map +0 -1
  125. package/dist/do/container-executor.js +0 -730
  126. package/dist/do/container-executor.js.map +0 -1
  127. package/dist/do/index.d.ts +0 -53
  128. package/dist/do/index.d.ts.map +0 -1
  129. package/dist/do/index.js +0 -91
  130. package/dist/do/index.js.map +0 -1
  131. package/dist/do/tiered-storage.d.ts +0 -403
  132. package/dist/do/tiered-storage.d.ts.map +0 -1
  133. package/dist/do/tiered-storage.js +0 -689
  134. package/dist/do/tiered-storage.js.map +0 -1
  135. package/dist/do/withBash.d.ts +0 -231
  136. package/dist/do/withBash.d.ts.map +0 -1
  137. package/dist/do/withBash.js +0 -244
  138. package/dist/do/withBash.js.map +0 -1
  139. package/dist/do/withFs.d.ts +0 -237
  140. package/dist/do/withFs.d.ts.map +0 -1
  141. package/dist/do/withFs.js +0 -387
  142. package/dist/do/withFs.js.map +0 -1
  143. package/dist/do/withGit.d.ts +0 -180
  144. package/dist/do/withGit.d.ts.map +0 -1
  145. package/dist/do/withGit.js +0 -271
  146. package/dist/do/withGit.js.map +0 -1
  147. package/dist/durable-object/object-store.d.ts +0 -633
  148. package/dist/durable-object/object-store.d.ts.map +0 -1
  149. package/dist/durable-object/object-store.js +0 -1161
  150. package/dist/durable-object/object-store.js.map +0 -1
  151. package/dist/durable-object/schema.d.ts.map +0 -1
  152. package/dist/durable-object/schema.js.map +0 -1
  153. package/dist/durable-object/wal.d.ts +0 -416
  154. package/dist/durable-object/wal.d.ts.map +0 -1
  155. package/dist/durable-object/wal.js +0 -445
  156. package/dist/durable-object/wal.js.map +0 -1
  157. package/dist/mcp/adapter.d.ts +0 -772
  158. package/dist/mcp/adapter.d.ts.map +0 -1
  159. package/dist/mcp/adapter.js +0 -895
  160. package/dist/mcp/adapter.js.map +0 -1
  161. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -22
  162. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  163. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -140
  164. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  165. package/dist/mcp/sandbox/object-store-proxy.d.ts +0 -32
  166. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +0 -1
  167. package/dist/mcp/sandbox/object-store-proxy.js +0 -30
  168. package/dist/mcp/sandbox/object-store-proxy.js.map +0 -1
  169. package/dist/mcp/sandbox/template.d.ts +0 -17
  170. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  171. package/dist/mcp/sandbox/template.js +0 -71
  172. package/dist/mcp/sandbox/template.js.map +0 -1
  173. package/dist/mcp/sandbox.d.ts +0 -764
  174. package/dist/mcp/sandbox.d.ts.map +0 -1
  175. package/dist/mcp/sandbox.js +0 -1362
  176. package/dist/mcp/sandbox.js.map +0 -1
  177. package/dist/mcp/sdk-adapter.d.ts +0 -835
  178. package/dist/mcp/sdk-adapter.d.ts.map +0 -1
  179. package/dist/mcp/sdk-adapter.js +0 -974
  180. package/dist/mcp/sdk-adapter.js.map +0 -1
  181. package/dist/mcp/tools/do.d.ts +0 -32
  182. package/dist/mcp/tools/do.d.ts.map +0 -1
  183. package/dist/mcp/tools/do.js +0 -115
  184. package/dist/mcp/tools/do.js.map +0 -1
  185. package/dist/mcp/tools.d.ts +0 -548
  186. package/dist/mcp/tools.d.ts.map +0 -1
  187. package/dist/mcp/tools.js +0 -1934
  188. package/dist/mcp/tools.js.map +0 -1
  189. package/dist/ops/blame.d.ts +0 -551
  190. package/dist/ops/blame.d.ts.map +0 -1
  191. package/dist/ops/blame.js +0 -1037
  192. package/dist/ops/blame.js.map +0 -1
  193. package/dist/ops/branch.d.ts +0 -766
  194. package/dist/ops/branch.d.ts.map +0 -1
  195. package/dist/ops/branch.js +0 -950
  196. package/dist/ops/branch.js.map +0 -1
  197. package/dist/ops/commit-traversal.d.ts +0 -349
  198. package/dist/ops/commit-traversal.d.ts.map +0 -1
  199. package/dist/ops/commit-traversal.js +0 -821
  200. package/dist/ops/commit-traversal.js.map +0 -1
  201. package/dist/ops/commit.d.ts +0 -555
  202. package/dist/ops/commit.d.ts.map +0 -1
  203. package/dist/ops/commit.js +0 -826
  204. package/dist/ops/commit.js.map +0 -1
  205. package/dist/ops/merge-base.d.ts +0 -397
  206. package/dist/ops/merge-base.d.ts.map +0 -1
  207. package/dist/ops/merge-base.js +0 -691
  208. package/dist/ops/merge-base.js.map +0 -1
  209. package/dist/ops/merge.d.ts +0 -855
  210. package/dist/ops/merge.d.ts.map +0 -1
  211. package/dist/ops/merge.js +0 -1551
  212. package/dist/ops/merge.js.map +0 -1
  213. package/dist/ops/tag.d.ts +0 -247
  214. package/dist/ops/tag.d.ts.map +0 -1
  215. package/dist/ops/tag.js +0 -649
  216. package/dist/ops/tag.js.map +0 -1
  217. package/dist/ops/tree-builder.d.ts +0 -178
  218. package/dist/ops/tree-builder.d.ts.map +0 -1
  219. package/dist/ops/tree-builder.js +0 -271
  220. package/dist/ops/tree-builder.js.map +0 -1
  221. package/dist/ops/tree-diff.d.ts +0 -291
  222. package/dist/ops/tree-diff.d.ts.map +0 -1
  223. package/dist/ops/tree-diff.js +0 -705
  224. package/dist/ops/tree-diff.js.map +0 -1
  225. package/dist/pack/delta.d.ts +0 -248
  226. package/dist/pack/delta.d.ts.map +0 -1
  227. package/dist/pack/delta.js +0 -736
  228. package/dist/pack/delta.js.map +0 -1
  229. package/dist/pack/format.d.ts +0 -446
  230. package/dist/pack/format.d.ts.map +0 -1
  231. package/dist/pack/format.js +0 -572
  232. package/dist/pack/format.js.map +0 -1
  233. package/dist/pack/full-generation.d.ts +0 -612
  234. package/dist/pack/full-generation.d.ts.map +0 -1
  235. package/dist/pack/full-generation.js +0 -1378
  236. package/dist/pack/full-generation.js.map +0 -1
  237. package/dist/pack/generation.d.ts +0 -441
  238. package/dist/pack/generation.d.ts.map +0 -1
  239. package/dist/pack/generation.js +0 -707
  240. package/dist/pack/generation.js.map +0 -1
  241. package/dist/pack/index.d.ts +0 -502
  242. package/dist/pack/index.d.ts.map +0 -1
  243. package/dist/pack/index.js +0 -833
  244. package/dist/pack/index.js.map +0 -1
  245. package/dist/refs/branch.d.ts +0 -668
  246. package/dist/refs/branch.d.ts.map +0 -1
  247. package/dist/refs/branch.js +0 -897
  248. package/dist/refs/branch.js.map +0 -1
  249. package/dist/refs/storage.d.ts +0 -833
  250. package/dist/refs/storage.d.ts.map +0 -1
  251. package/dist/refs/storage.js +0 -1023
  252. package/dist/refs/storage.js.map +0 -1
  253. package/dist/refs/tag.d.ts +0 -860
  254. package/dist/refs/tag.d.ts.map +0 -1
  255. package/dist/refs/tag.js +0 -996
  256. package/dist/refs/tag.js.map +0 -1
  257. package/dist/storage/backend.d.ts +0 -425
  258. package/dist/storage/backend.d.ts.map +0 -1
  259. package/dist/storage/backend.js +0 -41
  260. package/dist/storage/backend.js.map +0 -1
  261. package/dist/storage/fsx-adapter.d.ts +0 -204
  262. package/dist/storage/fsx-adapter.d.ts.map +0 -1
  263. package/dist/storage/fsx-adapter.js +0 -470
  264. package/dist/storage/fsx-adapter.js.map +0 -1
  265. package/dist/storage/lru-cache.d.ts +0 -691
  266. package/dist/storage/lru-cache.d.ts.map +0 -1
  267. package/dist/storage/lru-cache.js +0 -813
  268. package/dist/storage/lru-cache.js.map +0 -1
  269. package/dist/storage/object-index.d.ts +0 -585
  270. package/dist/storage/object-index.d.ts.map +0 -1
  271. package/dist/storage/object-index.js +0 -532
  272. package/dist/storage/object-index.js.map +0 -1
  273. package/dist/storage/r2-pack.d.ts +0 -1257
  274. package/dist/storage/r2-pack.d.ts.map +0 -1
  275. package/dist/storage/r2-pack.js +0 -1770
  276. package/dist/storage/r2-pack.js.map +0 -1
  277. package/dist/tiered/cdc-pipeline.d.ts +0 -1888
  278. package/dist/tiered/cdc-pipeline.d.ts.map +0 -1
  279. package/dist/tiered/cdc-pipeline.js +0 -1880
  280. package/dist/tiered/cdc-pipeline.js.map +0 -1
  281. package/dist/tiered/migration.d.ts +0 -1104
  282. package/dist/tiered/migration.d.ts.map +0 -1
  283. package/dist/tiered/migration.js +0 -1214
  284. package/dist/tiered/migration.js.map +0 -1
  285. package/dist/tiered/parquet-writer.d.ts +0 -1145
  286. package/dist/tiered/parquet-writer.d.ts.map +0 -1
  287. package/dist/tiered/parquet-writer.js +0 -1183
  288. package/dist/tiered/parquet-writer.js.map +0 -1
  289. package/dist/tiered/read-path.d.ts +0 -835
  290. package/dist/tiered/read-path.d.ts.map +0 -1
  291. package/dist/tiered/read-path.js +0 -487
  292. package/dist/tiered/read-path.js.map +0 -1
  293. package/dist/types/capability.d.ts +0 -1385
  294. package/dist/types/capability.d.ts.map +0 -1
  295. package/dist/types/capability.js +0 -36
  296. package/dist/types/capability.js.map +0 -1
  297. package/dist/types/index.d.ts +0 -13
  298. package/dist/types/index.d.ts.map +0 -1
  299. package/dist/types/index.js +0 -18
  300. package/dist/types/index.js.map +0 -1
  301. package/dist/types/objects.d.ts +0 -692
  302. package/dist/types/objects.d.ts.map +0 -1
  303. package/dist/types/objects.js +0 -837
  304. package/dist/types/objects.js.map +0 -1
  305. package/dist/types/storage.d.ts +0 -603
  306. package/dist/types/storage.d.ts.map +0 -1
  307. package/dist/types/storage.js +0 -191
  308. package/dist/types/storage.js.map +0 -1
  309. package/dist/types/worker-loader.d.ts +0 -60
  310. package/dist/types/worker-loader.d.ts.map +0 -1
  311. package/dist/types/worker-loader.js +0 -62
  312. package/dist/types/worker-loader.js.map +0 -1
  313. package/dist/utils/hash.d.ts +0 -197
  314. package/dist/utils/hash.d.ts.map +0 -1
  315. package/dist/utils/hash.js +0 -268
  316. package/dist/utils/hash.js.map +0 -1
  317. package/dist/utils/sha1.d.ts +0 -290
  318. package/dist/utils/sha1.d.ts.map +0 -1
  319. package/dist/utils/sha1.js +0 -582
  320. package/dist/utils/sha1.js.map +0 -1
  321. package/dist/wire/capabilities.d.ts +0 -1044
  322. package/dist/wire/capabilities.d.ts.map +0 -1
  323. package/dist/wire/capabilities.js +0 -941
  324. package/dist/wire/capabilities.js.map +0 -1
  325. package/dist/wire/path-security.d.ts +0 -157
  326. package/dist/wire/path-security.d.ts.map +0 -1
  327. package/dist/wire/path-security.js +0 -307
  328. package/dist/wire/path-security.js.map +0 -1
  329. package/dist/wire/pkt-line.d.ts +0 -345
  330. package/dist/wire/pkt-line.d.ts.map +0 -1
  331. package/dist/wire/pkt-line.js +0 -381
  332. package/dist/wire/pkt-line.js.map +0 -1
  333. package/dist/wire/receive-pack.d.ts +0 -1059
  334. package/dist/wire/receive-pack.d.ts.map +0 -1
  335. package/dist/wire/receive-pack.js +0 -1414
  336. package/dist/wire/receive-pack.js.map +0 -1
  337. package/dist/wire/smart-http.d.ts +0 -799
  338. package/dist/wire/smart-http.d.ts.map +0 -1
  339. package/dist/wire/smart-http.js +0 -945
  340. package/dist/wire/smart-http.js.map +0 -1
  341. package/dist/wire/upload-pack.d.ts +0 -727
  342. package/dist/wire/upload-pack.d.ts.map +0 -1
  343. package/dist/wire/upload-pack.js +0 -1138
  344. package/dist/wire/upload-pack.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -1,551 +0,0 @@
1
- /**
2
- * @fileoverview Git Blame Algorithm
3
- *
4
- * This module provides functionality for attributing each line of a file
5
- * to the commit that last modified it. It implements a blame algorithm
6
- * similar to Git's native blame command.
7
- *
8
- * ## Features
9
- *
10
- * - Line-by-line commit attribution
11
- * - Rename tracking across commits
12
- * - Line range filtering
13
- * - Whitespace-insensitive comparison
14
- * - Date range filtering
15
- * - Commit exclusion (ignore revisions)
16
- * - Binary file detection
17
- * - Porcelain and human-readable output formats
18
- *
19
- * ## Usage Example
20
- *
21
- * ```typescript
22
- * import { blame, formatBlame } from './ops/blame'
23
- *
24
- * // Get blame information for a file
25
- * const result = await blame(storage, 'src/main.ts', 'HEAD', {
26
- * followRenames: true,
27
- * ignoreWhitespace: true
28
- * })
29
- *
30
- * // Format for display
31
- * const output = formatBlame(result, { showLineNumbers: true })
32
- * console.log(output)
33
- * ```
34
- *
35
- * @module ops/blame
36
- */
37
- import { CommitObject, TreeObject } from '../types/objects';
38
- /**
39
- * Storage interface for blame operations.
40
- *
41
- * Provides the necessary methods for accessing Git objects and
42
- * tracking file renames during blame traversal.
43
- *
44
- * @interface BlameStorage
45
- */
46
- export interface BlameStorage {
47
- /**
48
- * Retrieves a commit object by its SHA.
49
- * @param sha - The 40-character hexadecimal commit SHA
50
- * @returns The commit object, or null if not found
51
- */
52
- getCommit(sha: string): Promise<CommitObject | null>;
53
- /**
54
- * Retrieves a tree object by its SHA.
55
- * @param sha - The 40-character hexadecimal tree SHA
56
- * @returns The tree object, or null if not found
57
- */
58
- getTree(sha: string): Promise<TreeObject | null>;
59
- /**
60
- * Retrieves blob content by its SHA.
61
- * @param sha - The 40-character hexadecimal blob SHA
62
- * @returns The blob content as bytes, or null if not found
63
- */
64
- getBlob(sha: string): Promise<Uint8Array | null>;
65
- /**
66
- * Resolves a reference name to its SHA.
67
- * @param ref - The reference name (e.g., 'HEAD', 'refs/heads/main')
68
- * @returns The resolved SHA, or null if ref doesn't exist
69
- */
70
- resolveRef(ref: string): Promise<string | null>;
71
- /**
72
- * Retrieves file content at a specific commit.
73
- * @param sha - The tree SHA to search in
74
- * @param path - The file path relative to the tree root
75
- * @returns The file content as bytes, or null if not found
76
- */
77
- getFileAtCommit(sha: string, path: string): Promise<Uint8Array | null>;
78
- /**
79
- * Gets rename mappings for a specific commit.
80
- * @param sha - The commit SHA to check for renames
81
- * @returns Map of old paths to new paths for renames in this commit
82
- */
83
- getRenamesInCommit(sha: string): Promise<Map<string, string>>;
84
- /**
85
- * Gets the first parent of a commit.
86
- * @param sha - The commit SHA
87
- * @returns The parent SHA, or null if this is the root commit
88
- */
89
- getParentCommit(sha: string): Promise<string | null>;
90
- }
91
- /**
92
- * Options for controlling blame operation behavior.
93
- *
94
- * @interface BlameOptions
95
- *
96
- * @example
97
- * ```typescript
98
- * const options: BlameOptions = {
99
- * followRenames: true,
100
- * maxCommits: 1000,
101
- * ignoreWhitespace: true,
102
- * lineRange: '10,20'
103
- * }
104
- * ```
105
- */
106
- export interface BlameOptions {
107
- /**
108
- * Whether to track file renames through history.
109
- * When true, blame will follow the file even if it was renamed.
110
- * @default false
111
- */
112
- followRenames?: boolean;
113
- /**
114
- * Whether to follow symbolic links.
115
- * @default false
116
- */
117
- followSymlinks?: boolean;
118
- /**
119
- * Maximum number of commits to traverse.
120
- * Useful for limiting blame on files with long histories.
121
- * @default Infinity
122
- */
123
- maxCommits?: number;
124
- /**
125
- * Reverse blame direction - show which commit introduced removal.
126
- * @default false
127
- */
128
- reverse?: boolean;
129
- /**
130
- * Only consider commits after this date.
131
- */
132
- since?: Date;
133
- /**
134
- * Only consider commits before this date.
135
- */
136
- until?: Date;
137
- /**
138
- * Ignore whitespace changes when comparing lines.
139
- * @default false
140
- */
141
- ignoreWhitespace?: boolean;
142
- /**
143
- * List of commit SHAs to skip during blame traversal.
144
- * Useful for ignoring bulk formatting commits.
145
- */
146
- ignoreRevisions?: string[];
147
- /**
148
- * Line range specification (git-style -L option).
149
- * Formats: "start,end", "start,+offset", or "/pattern1/,/pattern2/"
150
- *
151
- * @example
152
- * - "10,20" - lines 10 through 20
153
- * - "10,+5" - lines 10 through 15
154
- * - "/^function/,/^}/" - from pattern match to pattern match
155
- */
156
- lineRange?: string;
157
- /**
158
- * Whether to use caching for performance.
159
- * @default true
160
- */
161
- useCache?: boolean;
162
- }
163
- /**
164
- * Information about a single blamed line.
165
- *
166
- * Contains all attribution data for a specific line in the file,
167
- * including the commit that last modified it.
168
- *
169
- * @interface BlameLineInfo
170
- */
171
- export interface BlameLineInfo {
172
- /** SHA of the commit that last modified this line */
173
- commitSha: string;
174
- /** Name of the author who made the change */
175
- author: string;
176
- /** Email of the author (optional for compatibility) */
177
- email?: string;
178
- /** Unix timestamp of the commit in seconds */
179
- timestamp: number;
180
- /** The actual text content of the line */
181
- content: string;
182
- /** Current line number in the file (1-indexed) */
183
- lineNumber: number;
184
- /** Original line number when the line was introduced (1-indexed) */
185
- originalLineNumber: number;
186
- /** Original file path if the file was renamed */
187
- originalPath?: string;
188
- }
189
- /**
190
- * Commit information in the context of blame results.
191
- *
192
- * Provides summary information about commits that appear in blame output.
193
- *
194
- * @interface BlameCommitInfo
195
- */
196
- export interface BlameCommitInfo {
197
- /** The commit SHA */
198
- sha: string;
199
- /** Author name */
200
- author: string;
201
- /** Author email */
202
- email: string;
203
- /** Unix timestamp in seconds */
204
- timestamp: number;
205
- /** First line of the commit message */
206
- summary: string;
207
- /** Whether this commit is a boundary (has no parent) */
208
- boundary?: boolean;
209
- }
210
- /**
211
- * A single entry in blame output (simplified format).
212
- *
213
- * @interface BlameEntry
214
- */
215
- export interface BlameEntry {
216
- /** SHA of the commit */
217
- commitSha: string;
218
- /** Author name */
219
- author: string;
220
- /** Unix timestamp in seconds */
221
- timestamp: number;
222
- /** Current line number (1-indexed) */
223
- lineNumber: number;
224
- /** Original line number when introduced (1-indexed) */
225
- originalLineNumber: number;
226
- /** Line content */
227
- content: string;
228
- /** Original path if file was renamed */
229
- originalPath?: string;
230
- }
231
- /**
232
- * Complete result of a blame operation.
233
- *
234
- * @interface BlameResult
235
- *
236
- * @example
237
- * ```typescript
238
- * const result = await blame(storage, 'file.ts', 'HEAD')
239
- *
240
- * // Access individual lines
241
- * for (const line of result.lines) {
242
- * console.log(`${line.commitSha.slice(0,8)} ${line.author}: ${line.content}`)
243
- * }
244
- *
245
- * // Look up commit details
246
- * const commitInfo = result.commits.get(result.lines[0].commitSha)
247
- * ```
248
- */
249
- export interface BlameResult {
250
- /** The file path that was blamed */
251
- path: string;
252
- /** Array of blame information for each line */
253
- lines: BlameLineInfo[];
254
- /** Map of commit SHA to commit information */
255
- commits: Map<string, BlameCommitInfo>;
256
- /** Options used for this blame operation */
257
- options?: BlameOptions;
258
- }
259
- /**
260
- * Options for formatting blame output.
261
- *
262
- * @interface BlameFormatOptions
263
- */
264
- export interface BlameFormatOptions {
265
- /**
266
- * Output format style.
267
- * - 'default': Human-readable format
268
- * - 'porcelain': Machine-parseable format
269
- * @default 'default'
270
- */
271
- format?: 'default' | 'porcelain';
272
- /**
273
- * Whether to show line numbers.
274
- * @default false
275
- */
276
- showLineNumbers?: boolean;
277
- /**
278
- * Whether to show commit dates.
279
- * @default false
280
- */
281
- showDate?: boolean;
282
- /**
283
- * Whether to show email instead of author name.
284
- * @default false
285
- */
286
- showEmail?: boolean;
287
- }
288
- /**
289
- * Entry tracking file path through rename history.
290
- *
291
- * @interface PathHistoryEntry
292
- */
293
- export interface PathHistoryEntry {
294
- /** Commit SHA at this point in history */
295
- commit: string;
296
- /** File path at this point in history */
297
- path: string;
298
- }
299
- /**
300
- * Blame history entry for tracking a single line through history.
301
- *
302
- * @interface BlameHistoryEntry
303
- */
304
- export interface BlameHistoryEntry {
305
- /** Commit SHA where this version appeared */
306
- commitSha: string;
307
- /** Line content at this version */
308
- content: string;
309
- /** Line number at this version */
310
- lineNumber: number;
311
- /** Author of this version */
312
- author: string;
313
- /** Timestamp of this version */
314
- timestamp: number;
315
- }
316
- /**
317
- * Computes blame for a file at a specific commit.
318
- *
319
- * Traverses commit history to attribute each line of the file to the
320
- * commit that last modified it. Supports various options for filtering
321
- * and tracking behavior.
322
- *
323
- * @description
324
- * The blame algorithm works by:
325
- * 1. Starting at the specified commit and getting the file content
326
- * 2. Initially attributing all lines to the starting commit
327
- * 3. Walking backwards through commit history
328
- * 4. For each parent commit, computing line mappings using LCS
329
- * 5. Re-attributing lines that exist unchanged in the parent
330
- * 6. Continuing until all lines are attributed or history is exhausted
331
- *
332
- * @param storage - The storage interface for accessing Git objects
333
- * @param path - The file path to blame
334
- * @param commit - The commit SHA to start from
335
- * @param options - Optional blame configuration
336
- * @returns The blame result with line attributions
337
- *
338
- * @throws {Error} If the commit is not found
339
- * @throws {Error} If the file is not found at the specified commit
340
- * @throws {Error} If the file is binary
341
- *
342
- * @example
343
- * ```typescript
344
- * // Basic blame
345
- * const result = await blame(storage, 'src/main.ts', 'abc123')
346
- *
347
- * // Blame with options
348
- * const result = await blame(storage, 'README.md', 'HEAD', {
349
- * followRenames: true,
350
- * maxCommits: 500,
351
- * ignoreWhitespace: true
352
- * })
353
- *
354
- * // Blame specific line range
355
- * const result = await blame(storage, 'config.json', 'main', {
356
- * lineRange: '10,20'
357
- * })
358
- * ```
359
- */
360
- export declare function blame(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
361
- /**
362
- * Alias for blame - get full file blame.
363
- *
364
- * This function is identical to `blame` and exists for API compatibility.
365
- *
366
- * @param storage - The storage interface
367
- * @param path - The file path to blame
368
- * @param commit - The commit SHA to start from
369
- * @param options - Optional blame configuration
370
- * @returns The blame result
371
- *
372
- * @see {@link blame} for full documentation
373
- */
374
- export declare function blameFile(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
375
- /**
376
- * Gets blame information for a specific line.
377
- *
378
- * Convenience function that performs a full blame and extracts
379
- * the information for a single line.
380
- *
381
- * @param storage - The storage interface
382
- * @param path - The file path
383
- * @param lineNumber - The line number (1-indexed)
384
- * @param commit - The commit SHA
385
- * @param options - Optional blame configuration
386
- * @returns Blame information for the specified line
387
- *
388
- * @throws {Error} If lineNumber is less than 1
389
- * @throws {Error} If lineNumber exceeds file length
390
- *
391
- * @example
392
- * ```typescript
393
- * const lineInfo = await blameLine(storage, 'src/main.ts', 42, 'HEAD')
394
- * console.log(`Line 42 was last modified by ${lineInfo.author}`)
395
- * ```
396
- */
397
- export declare function blameLine(storage: BlameStorage, path: string, lineNumber: number, commit: string, options?: BlameOptions): Promise<BlameLineInfo>;
398
- /**
399
- * Gets blame for a specific line range.
400
- *
401
- * More efficient than using the lineRange option when you know
402
- * the exact numeric range you want.
403
- *
404
- * @param storage - The storage interface
405
- * @param path - The file path
406
- * @param startLine - Starting line number (1-indexed, inclusive)
407
- * @param endLine - Ending line number (1-indexed, inclusive)
408
- * @param commit - The commit SHA
409
- * @param options - Optional blame configuration
410
- * @returns Blame result for the specified range
411
- *
412
- * @throws {Error} If startLine is less than 1
413
- * @throws {Error} If endLine is less than startLine
414
- * @throws {Error} If endLine exceeds file length
415
- *
416
- * @example
417
- * ```typescript
418
- * // Get blame for lines 10-20
419
- * const result = await blameRange(storage, 'file.ts', 10, 20, 'HEAD')
420
- * ```
421
- */
422
- export declare function blameRange(storage: BlameStorage, path: string, startLine: number, endLine: number, commit: string, options?: BlameOptions): Promise<BlameResult>;
423
- /**
424
- * Gets blame at a specific historical commit.
425
- *
426
- * Alias for `blame` - provided for semantic clarity when you want
427
- * to emphasize you're looking at a specific point in history.
428
- *
429
- * @param storage - The storage interface
430
- * @param path - The file path
431
- * @param commit - The commit SHA
432
- * @param options - Optional blame configuration
433
- * @returns The blame result
434
- *
435
- * @see {@link blame} for full documentation
436
- */
437
- export declare function getBlameForCommit(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
438
- /**
439
- * Tracks file path across renames through history.
440
- *
441
- * Walks through commit history and records each path the file
442
- * had at different points in time.
443
- *
444
- * @param storage - The storage interface
445
- * @param path - Current file path
446
- * @param commit - Starting commit SHA
447
- * @param _options - Unused options parameter (reserved for future use)
448
- * @returns Array of path history entries, newest first
449
- *
450
- * @example
451
- * ```typescript
452
- * const history = await trackContentAcrossRenames(storage, 'src/new-name.ts', 'HEAD')
453
- * // history might contain:
454
- * // [
455
- * // { commit: 'abc123', path: 'src/new-name.ts' },
456
- * // { commit: 'def456', path: 'src/old-name.ts' }
457
- * // ]
458
- * ```
459
- */
460
- export declare function trackContentAcrossRenames(storage: BlameStorage, path: string, commit: string, _options?: BlameOptions): Promise<PathHistoryEntry[]>;
461
- /**
462
- * Detects file renames between two commits.
463
- *
464
- * Compares two commits to find files that were renamed based on
465
- * SHA matching (exact renames) and content similarity (renames with modifications).
466
- *
467
- * @param storage - The storage interface
468
- * @param fromCommit - The older commit SHA
469
- * @param toCommit - The newer commit SHA
470
- * @param options - Configuration options
471
- * @param options.threshold - Similarity threshold (0-1) for content-based detection
472
- * @returns Map of old paths to new paths for detected renames
473
- *
474
- * @example
475
- * ```typescript
476
- * const renames = await detectRenames(storage, 'abc123', 'def456', {
477
- * threshold: 0.5
478
- * })
479
- *
480
- * for (const [oldPath, newPath] of renames) {
481
- * console.log(`${oldPath} -> ${newPath}`)
482
- * }
483
- * ```
484
- */
485
- export declare function detectRenames(storage: BlameStorage, fromCommit: string, toCommit: string, options?: {
486
- threshold?: number;
487
- }): Promise<Map<string, string>>;
488
- /**
489
- * Builds complete blame history for a specific line.
490
- *
491
- * Tracks a single line through history, recording its content
492
- * at each commit where it existed.
493
- *
494
- * @param storage - The storage interface
495
- * @param path - The file path
496
- * @param lineNumber - The line number to track (1-indexed)
497
- * @param commit - Starting commit SHA
498
- * @param options - Optional blame configuration
499
- * @returns Array of history entries, newest first
500
- *
501
- * @example
502
- * ```typescript
503
- * const history = await buildBlameHistory(storage, 'main.ts', 10, 'HEAD')
504
- *
505
- * for (const entry of history) {
506
- * console.log(`${entry.commitSha}: ${entry.content}`)
507
- * }
508
- * ```
509
- */
510
- export declare function buildBlameHistory(storage: BlameStorage, path: string, lineNumber: number, commit: string, options?: BlameOptions): Promise<BlameHistoryEntry[]>;
511
- /**
512
- * Formats blame result for display.
513
- *
514
- * Converts a BlameResult into a human-readable or machine-parseable string format.
515
- *
516
- * @param result - The blame result to format
517
- * @param options - Formatting options
518
- * @returns Formatted string output
519
- *
520
- * @example
521
- * ```typescript
522
- * const result = await blame(storage, 'main.ts', 'HEAD')
523
- *
524
- * // Human-readable format
525
- * const output = formatBlame(result, {
526
- * showLineNumbers: true,
527
- * showDate: true
528
- * })
529
- *
530
- * // Machine-readable format
531
- * const porcelain = formatBlame(result, { format: 'porcelain' })
532
- * ```
533
- */
534
- export declare function formatBlame(result: BlameResult, options?: BlameFormatOptions): string;
535
- /**
536
- * Parses porcelain blame output back into a BlameResult.
537
- *
538
- * Useful for consuming blame output from external sources or
539
- * for round-trip serialization.
540
- *
541
- * @param output - Porcelain format blame output string
542
- * @returns Parsed blame result
543
- *
544
- * @example
545
- * ```typescript
546
- * const porcelainOutput = formatBlame(result, { format: 'porcelain' })
547
- * const parsed = parseBlameOutput(porcelainOutput)
548
- * ```
549
- */
550
- export declare function parseBlameOutput(output: string): BlameResult;
551
- //# sourceMappingURL=blame.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blame.d.ts","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}