gitx.do 0.0.1 → 0.0.3

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 (237) hide show
  1. package/dist/cli/commands/blame.d.ts +259 -0
  2. package/dist/cli/commands/blame.d.ts.map +1 -0
  3. package/dist/cli/commands/blame.js +609 -0
  4. package/dist/cli/commands/blame.js.map +1 -0
  5. package/dist/cli/commands/branch.d.ts +249 -0
  6. package/dist/cli/commands/branch.d.ts.map +1 -0
  7. package/dist/cli/commands/branch.js +693 -0
  8. package/dist/cli/commands/branch.js.map +1 -0
  9. package/dist/cli/commands/commit.d.ts +182 -0
  10. package/dist/cli/commands/commit.d.ts.map +1 -0
  11. package/dist/cli/commands/commit.js +437 -0
  12. package/dist/cli/commands/commit.js.map +1 -0
  13. package/dist/cli/commands/diff.d.ts +464 -0
  14. package/dist/cli/commands/diff.d.ts.map +1 -0
  15. package/dist/cli/commands/diff.js +958 -0
  16. package/dist/cli/commands/diff.js.map +1 -0
  17. package/dist/cli/commands/log.d.ts +239 -0
  18. package/dist/cli/commands/log.d.ts.map +1 -0
  19. package/dist/cli/commands/log.js +535 -0
  20. package/dist/cli/commands/log.js.map +1 -0
  21. package/dist/cli/commands/review.d.ts +457 -0
  22. package/dist/cli/commands/review.d.ts.map +1 -0
  23. package/dist/cli/commands/review.js +533 -0
  24. package/dist/cli/commands/review.js.map +1 -0
  25. package/dist/cli/commands/status.d.ts +269 -0
  26. package/dist/cli/commands/status.d.ts.map +1 -0
  27. package/dist/cli/commands/status.js +493 -0
  28. package/dist/cli/commands/status.js.map +1 -0
  29. package/dist/cli/commands/web.d.ts +199 -0
  30. package/dist/cli/commands/web.d.ts.map +1 -0
  31. package/dist/cli/commands/web.js +696 -0
  32. package/dist/cli/commands/web.js.map +1 -0
  33. package/dist/cli/fs-adapter.d.ts +656 -0
  34. package/dist/cli/fs-adapter.d.ts.map +1 -0
  35. package/dist/cli/fs-adapter.js +1179 -0
  36. package/dist/cli/fs-adapter.js.map +1 -0
  37. package/dist/cli/index.d.ts +387 -0
  38. package/dist/cli/index.d.ts.map +1 -0
  39. package/dist/cli/index.js +523 -0
  40. package/dist/cli/index.js.map +1 -0
  41. package/dist/cli/ui/components/DiffView.d.ts +7 -0
  42. package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
  43. package/dist/cli/ui/components/DiffView.js +11 -0
  44. package/dist/cli/ui/components/DiffView.js.map +1 -0
  45. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
  46. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
  47. package/dist/cli/ui/components/ErrorDisplay.js +11 -0
  48. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
  49. package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
  50. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
  51. package/dist/cli/ui/components/FuzzySearch.js +12 -0
  52. package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
  53. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
  54. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
  55. package/dist/cli/ui/components/LoadingSpinner.js +10 -0
  56. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
  57. package/dist/cli/ui/components/NavigationList.d.ts +9 -0
  58. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
  59. package/dist/cli/ui/components/NavigationList.js +11 -0
  60. package/dist/cli/ui/components/NavigationList.js.map +1 -0
  61. package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
  62. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
  63. package/dist/cli/ui/components/ScrollableContent.js +11 -0
  64. package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
  65. package/dist/cli/ui/components/index.d.ts +7 -0
  66. package/dist/cli/ui/components/index.d.ts.map +1 -0
  67. package/dist/cli/ui/components/index.js +9 -0
  68. package/dist/cli/ui/components/index.js.map +1 -0
  69. package/dist/cli/ui/terminal-ui.d.ts +52 -0
  70. package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
  71. package/dist/cli/ui/terminal-ui.js +121 -0
  72. package/dist/cli/ui/terminal-ui.js.map +1 -0
  73. package/dist/durable-object/object-store.d.ts +401 -23
  74. package/dist/durable-object/object-store.d.ts.map +1 -1
  75. package/dist/durable-object/object-store.js +414 -25
  76. package/dist/durable-object/object-store.js.map +1 -1
  77. package/dist/durable-object/schema.d.ts +188 -0
  78. package/dist/durable-object/schema.d.ts.map +1 -1
  79. package/dist/durable-object/schema.js +160 -0
  80. package/dist/durable-object/schema.js.map +1 -1
  81. package/dist/durable-object/wal.d.ts +336 -31
  82. package/dist/durable-object/wal.d.ts.map +1 -1
  83. package/dist/durable-object/wal.js +272 -27
  84. package/dist/durable-object/wal.js.map +1 -1
  85. package/dist/index.d.ts +379 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +379 -7
  88. package/dist/index.js.map +1 -1
  89. package/dist/mcp/adapter.d.ts +579 -38
  90. package/dist/mcp/adapter.d.ts.map +1 -1
  91. package/dist/mcp/adapter.js +426 -33
  92. package/dist/mcp/adapter.js.map +1 -1
  93. package/dist/mcp/sandbox.d.ts +532 -29
  94. package/dist/mcp/sandbox.d.ts.map +1 -1
  95. package/dist/mcp/sandbox.js +389 -22
  96. package/dist/mcp/sandbox.js.map +1 -1
  97. package/dist/mcp/sdk-adapter.d.ts +478 -56
  98. package/dist/mcp/sdk-adapter.d.ts.map +1 -1
  99. package/dist/mcp/sdk-adapter.js +346 -44
  100. package/dist/mcp/sdk-adapter.js.map +1 -1
  101. package/dist/mcp/tools.d.ts +445 -30
  102. package/dist/mcp/tools.d.ts.map +1 -1
  103. package/dist/mcp/tools.js +363 -33
  104. package/dist/mcp/tools.js.map +1 -1
  105. package/dist/ops/blame.d.ts +424 -21
  106. package/dist/ops/blame.d.ts.map +1 -1
  107. package/dist/ops/blame.js +303 -20
  108. package/dist/ops/blame.js.map +1 -1
  109. package/dist/ops/branch.d.ts +583 -32
  110. package/dist/ops/branch.d.ts.map +1 -1
  111. package/dist/ops/branch.js +365 -23
  112. package/dist/ops/branch.js.map +1 -1
  113. package/dist/ops/commit-traversal.d.ts +164 -24
  114. package/dist/ops/commit-traversal.d.ts.map +1 -1
  115. package/dist/ops/commit-traversal.js +68 -2
  116. package/dist/ops/commit-traversal.js.map +1 -1
  117. package/dist/ops/commit.d.ts +387 -53
  118. package/dist/ops/commit.d.ts.map +1 -1
  119. package/dist/ops/commit.js +249 -29
  120. package/dist/ops/commit.js.map +1 -1
  121. package/dist/ops/merge-base.d.ts +195 -21
  122. package/dist/ops/merge-base.d.ts.map +1 -1
  123. package/dist/ops/merge-base.js +122 -12
  124. package/dist/ops/merge-base.js.map +1 -1
  125. package/dist/ops/merge.d.ts +600 -130
  126. package/dist/ops/merge.d.ts.map +1 -1
  127. package/dist/ops/merge.js +408 -60
  128. package/dist/ops/merge.js.map +1 -1
  129. package/dist/ops/tag.d.ts +67 -2
  130. package/dist/ops/tag.d.ts.map +1 -1
  131. package/dist/ops/tag.js +42 -1
  132. package/dist/ops/tag.js.map +1 -1
  133. package/dist/ops/tree-builder.d.ts +102 -6
  134. package/dist/ops/tree-builder.d.ts.map +1 -1
  135. package/dist/ops/tree-builder.js +30 -5
  136. package/dist/ops/tree-builder.js.map +1 -1
  137. package/dist/ops/tree-diff.d.ts +50 -2
  138. package/dist/ops/tree-diff.d.ts.map +1 -1
  139. package/dist/ops/tree-diff.js +50 -2
  140. package/dist/ops/tree-diff.js.map +1 -1
  141. package/dist/pack/delta.d.ts +211 -39
  142. package/dist/pack/delta.d.ts.map +1 -1
  143. package/dist/pack/delta.js +232 -46
  144. package/dist/pack/delta.js.map +1 -1
  145. package/dist/pack/format.d.ts +390 -28
  146. package/dist/pack/format.d.ts.map +1 -1
  147. package/dist/pack/format.js +344 -33
  148. package/dist/pack/format.js.map +1 -1
  149. package/dist/pack/full-generation.d.ts +313 -28
  150. package/dist/pack/full-generation.d.ts.map +1 -1
  151. package/dist/pack/full-generation.js +238 -19
  152. package/dist/pack/full-generation.js.map +1 -1
  153. package/dist/pack/generation.d.ts +346 -23
  154. package/dist/pack/generation.d.ts.map +1 -1
  155. package/dist/pack/generation.js +269 -21
  156. package/dist/pack/generation.js.map +1 -1
  157. package/dist/pack/index.d.ts +407 -86
  158. package/dist/pack/index.d.ts.map +1 -1
  159. package/dist/pack/index.js +351 -70
  160. package/dist/pack/index.js.map +1 -1
  161. package/dist/refs/branch.d.ts +517 -71
  162. package/dist/refs/branch.d.ts.map +1 -1
  163. package/dist/refs/branch.js +410 -26
  164. package/dist/refs/branch.js.map +1 -1
  165. package/dist/refs/storage.d.ts +610 -57
  166. package/dist/refs/storage.d.ts.map +1 -1
  167. package/dist/refs/storage.js +481 -29
  168. package/dist/refs/storage.js.map +1 -1
  169. package/dist/refs/tag.d.ts +677 -67
  170. package/dist/refs/tag.d.ts.map +1 -1
  171. package/dist/refs/tag.js +497 -30
  172. package/dist/refs/tag.js.map +1 -1
  173. package/dist/storage/lru-cache.d.ts +556 -53
  174. package/dist/storage/lru-cache.d.ts.map +1 -1
  175. package/dist/storage/lru-cache.js +439 -36
  176. package/dist/storage/lru-cache.js.map +1 -1
  177. package/dist/storage/object-index.d.ts +483 -38
  178. package/dist/storage/object-index.d.ts.map +1 -1
  179. package/dist/storage/object-index.js +388 -22
  180. package/dist/storage/object-index.js.map +1 -1
  181. package/dist/storage/r2-pack.d.ts +957 -94
  182. package/dist/storage/r2-pack.d.ts.map +1 -1
  183. package/dist/storage/r2-pack.js +756 -48
  184. package/dist/storage/r2-pack.js.map +1 -1
  185. package/dist/tiered/cdc-pipeline.d.ts +1610 -38
  186. package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
  187. package/dist/tiered/cdc-pipeline.js +1131 -22
  188. package/dist/tiered/cdc-pipeline.js.map +1 -1
  189. package/dist/tiered/migration.d.ts +903 -41
  190. package/dist/tiered/migration.d.ts.map +1 -1
  191. package/dist/tiered/migration.js +646 -24
  192. package/dist/tiered/migration.js.map +1 -1
  193. package/dist/tiered/parquet-writer.d.ts +944 -47
  194. package/dist/tiered/parquet-writer.d.ts.map +1 -1
  195. package/dist/tiered/parquet-writer.js +667 -39
  196. package/dist/tiered/parquet-writer.js.map +1 -1
  197. package/dist/tiered/read-path.d.ts +728 -34
  198. package/dist/tiered/read-path.d.ts.map +1 -1
  199. package/dist/tiered/read-path.js +310 -27
  200. package/dist/tiered/read-path.js.map +1 -1
  201. package/dist/types/objects.d.ts +457 -0
  202. package/dist/types/objects.d.ts.map +1 -1
  203. package/dist/types/objects.js +305 -4
  204. package/dist/types/objects.js.map +1 -1
  205. package/dist/types/storage.d.ts +407 -35
  206. package/dist/types/storage.d.ts.map +1 -1
  207. package/dist/types/storage.js +27 -3
  208. package/dist/types/storage.js.map +1 -1
  209. package/dist/utils/hash.d.ts +133 -12
  210. package/dist/utils/hash.d.ts.map +1 -1
  211. package/dist/utils/hash.js +133 -12
  212. package/dist/utils/hash.js.map +1 -1
  213. package/dist/utils/sha1.d.ts +102 -9
  214. package/dist/utils/sha1.d.ts.map +1 -1
  215. package/dist/utils/sha1.js +114 -11
  216. package/dist/utils/sha1.js.map +1 -1
  217. package/dist/wire/capabilities.d.ts +896 -88
  218. package/dist/wire/capabilities.d.ts.map +1 -1
  219. package/dist/wire/capabilities.js +566 -62
  220. package/dist/wire/capabilities.js.map +1 -1
  221. package/dist/wire/pkt-line.d.ts +293 -15
  222. package/dist/wire/pkt-line.d.ts.map +1 -1
  223. package/dist/wire/pkt-line.js +251 -15
  224. package/dist/wire/pkt-line.js.map +1 -1
  225. package/dist/wire/receive-pack.d.ts +814 -64
  226. package/dist/wire/receive-pack.d.ts.map +1 -1
  227. package/dist/wire/receive-pack.js +542 -41
  228. package/dist/wire/receive-pack.js.map +1 -1
  229. package/dist/wire/smart-http.d.ts +575 -97
  230. package/dist/wire/smart-http.d.ts.map +1 -1
  231. package/dist/wire/smart-http.js +337 -46
  232. package/dist/wire/smart-http.js.map +1 -1
  233. package/dist/wire/upload-pack.d.ts +492 -98
  234. package/dist/wire/upload-pack.d.ts.map +1 -1
  235. package/dist/wire/upload-pack.js +347 -59
  236. package/dist/wire/upload-pack.js.map +1 -1
  237. package/package.json +10 -2
package/dist/ops/blame.js CHANGED
@@ -1,15 +1,53 @@
1
1
  /**
2
- * Git Blame Algorithm
2
+ * @fileoverview Git Blame Algorithm
3
3
  *
4
4
  * This module provides functionality for attributing each line of a file
5
- * to the commit that last modified it.
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
6
36
  */
7
37
  // ============================================================================
8
38
  // Helper Functions
9
39
  // ============================================================================
10
40
  const decoder = new TextDecoder();
11
41
  /**
12
- * Check if content is likely binary (contains null bytes or other non-text chars)
42
+ * Checks if content is likely binary (contains null bytes).
43
+ *
44
+ * Uses a heuristic similar to Git's binary detection:
45
+ * checks the first 8000 bytes for null characters.
46
+ *
47
+ * @param data - The content to check
48
+ * @returns True if the content appears to be binary
49
+ *
50
+ * @internal
13
51
  */
14
52
  function isBinaryContent(data) {
15
53
  // Check first 8000 bytes or entire file if smaller
@@ -22,7 +60,15 @@ function isBinaryContent(data) {
22
60
  return false;
23
61
  }
24
62
  /**
25
- * Split content into lines, handling various line ending styles
63
+ * Splits content into lines, handling various line ending styles.
64
+ *
65
+ * Handles both Unix (\n) and Windows (\r\n) line endings,
66
+ * normalizing output to not include trailing carriage returns.
67
+ *
68
+ * @param content - The string content to split
69
+ * @returns Array of lines (without line terminators)
70
+ *
71
+ * @internal
26
72
  */
27
73
  function splitLines(content) {
28
74
  if (content === '')
@@ -37,7 +83,13 @@ function splitLines(content) {
37
83
  return lines.map(line => line.replace(/\r$/, ''));
38
84
  }
39
85
  /**
40
- * Normalize line for comparison (optionally ignoring whitespace)
86
+ * Normalizes a line for comparison (optionally ignoring whitespace).
87
+ *
88
+ * @param line - The line to normalize
89
+ * @param ignoreWhitespace - Whether to normalize whitespace
90
+ * @returns The normalized line
91
+ *
92
+ * @internal
41
93
  */
42
94
  function normalizeLine(line, ignoreWhitespace) {
43
95
  if (ignoreWhitespace) {
@@ -46,7 +98,16 @@ function normalizeLine(line, ignoreWhitespace) {
46
98
  return line;
47
99
  }
48
100
  /**
49
- * Get file at commit, traversing nested paths
101
+ * Gets file content at a specific path within a commit.
102
+ *
103
+ * Handles nested paths by traversing the tree structure.
104
+ *
105
+ * @param storage - The storage interface
106
+ * @param commit - The commit object
107
+ * @param path - The file path to retrieve
108
+ * @returns The file content, or null if not found
109
+ *
110
+ * @internal
50
111
  */
51
112
  async function getFileAtPath(storage, commit, path) {
52
113
  // Try the direct storage method first
@@ -77,8 +138,17 @@ async function getFileAtPath(storage, commit, path) {
77
138
  return null;
78
139
  }
79
140
  /**
80
- * Simple LCS-based diff to find unchanged lines between two file versions
81
- * Returns a mapping of (oldLineIndex -> newLineIndex) for unchanged lines
141
+ * Computes line mapping between two file versions using LCS algorithm.
142
+ *
143
+ * Returns a mapping of (oldLineIndex -> newLineIndex) for unchanged lines,
144
+ * enabling tracking of line movements between versions.
145
+ *
146
+ * @param oldLines - Lines from the older version
147
+ * @param newLines - Lines from the newer version
148
+ * @param ignoreWhitespace - Whether to ignore whitespace differences
149
+ * @returns Map of old line indices to new line indices
150
+ *
151
+ * @internal
82
152
  */
83
153
  function computeLineMapping(oldLines, newLines, ignoreWhitespace = false) {
84
154
  // Build a map of unchanged line positions
@@ -122,7 +192,18 @@ function computeLineMapping(oldLines, newLines, ignoreWhitespace = false) {
122
192
  return mapping;
123
193
  }
124
194
  /**
125
- * Parse line range specification (git-style -L option)
195
+ * Parses a line range specification (git-style -L option).
196
+ *
197
+ * Supports multiple formats:
198
+ * - "start,end": Explicit line range
199
+ * - "start,+offset": Relative offset from start
200
+ * - "/pattern1/,/pattern2/": Regex-based range
201
+ *
202
+ * @param lineRange - The range specification string
203
+ * @param lines - The file content lines (for pattern matching)
204
+ * @returns Object with start and end line numbers (1-indexed)
205
+ *
206
+ * @internal
126
207
  */
127
208
  function parseLineRange(lineRange, lines) {
128
209
  const totalLines = lines.length;
@@ -164,7 +245,16 @@ function parseLineRange(lineRange, lines) {
164
245
  return { start, end };
165
246
  }
166
247
  /**
167
- * Calculate similarity between two strings (0-1)
248
+ * Calculates similarity between two strings (0-1).
249
+ *
250
+ * Uses line-based comparison with the LCS algorithm to determine
251
+ * what percentage of lines are shared between the two versions.
252
+ *
253
+ * @param a - First string
254
+ * @param b - Second string
255
+ * @returns Similarity score from 0 to 1
256
+ *
257
+ * @internal
168
258
  */
169
259
  function calculateSimilarity(a, b) {
170
260
  if (a === b)
@@ -187,7 +277,48 @@ function calculateSimilarity(a, b) {
187
277
  // Main Functions
188
278
  // ============================================================================
189
279
  /**
190
- * Compute blame for a file at a specific commit
280
+ * Computes blame for a file at a specific commit.
281
+ *
282
+ * Traverses commit history to attribute each line of the file to the
283
+ * commit that last modified it. Supports various options for filtering
284
+ * and tracking behavior.
285
+ *
286
+ * @description
287
+ * The blame algorithm works by:
288
+ * 1. Starting at the specified commit and getting the file content
289
+ * 2. Initially attributing all lines to the starting commit
290
+ * 3. Walking backwards through commit history
291
+ * 4. For each parent commit, computing line mappings using LCS
292
+ * 5. Re-attributing lines that exist unchanged in the parent
293
+ * 6. Continuing until all lines are attributed or history is exhausted
294
+ *
295
+ * @param storage - The storage interface for accessing Git objects
296
+ * @param path - The file path to blame
297
+ * @param commit - The commit SHA to start from
298
+ * @param options - Optional blame configuration
299
+ * @returns The blame result with line attributions
300
+ *
301
+ * @throws {Error} If the commit is not found
302
+ * @throws {Error} If the file is not found at the specified commit
303
+ * @throws {Error} If the file is binary
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * // Basic blame
308
+ * const result = await blame(storage, 'src/main.ts', 'abc123')
309
+ *
310
+ * // Blame with options
311
+ * const result = await blame(storage, 'README.md', 'HEAD', {
312
+ * followRenames: true,
313
+ * maxCommits: 500,
314
+ * ignoreWhitespace: true
315
+ * })
316
+ *
317
+ * // Blame specific line range
318
+ * const result = await blame(storage, 'config.json', 'main', {
319
+ * lineRange: '10,20'
320
+ * })
321
+ * ```
191
322
  */
192
323
  export async function blame(storage, path, commit, options) {
193
324
  const opts = options ?? {};
@@ -400,13 +531,42 @@ export async function blame(storage, path, commit, options) {
400
531
  };
401
532
  }
402
533
  /**
403
- * Alias for blame - get full file blame
534
+ * Alias for blame - get full file blame.
535
+ *
536
+ * This function is identical to `blame` and exists for API compatibility.
537
+ *
538
+ * @param storage - The storage interface
539
+ * @param path - The file path to blame
540
+ * @param commit - The commit SHA to start from
541
+ * @param options - Optional blame configuration
542
+ * @returns The blame result
543
+ *
544
+ * @see {@link blame} for full documentation
404
545
  */
405
546
  export async function blameFile(storage, path, commit, options) {
406
547
  return blame(storage, path, commit, options);
407
548
  }
408
549
  /**
409
- * Get blame information for a specific line
550
+ * Gets blame information for a specific line.
551
+ *
552
+ * Convenience function that performs a full blame and extracts
553
+ * the information for a single line.
554
+ *
555
+ * @param storage - The storage interface
556
+ * @param path - The file path
557
+ * @param lineNumber - The line number (1-indexed)
558
+ * @param commit - The commit SHA
559
+ * @param options - Optional blame configuration
560
+ * @returns Blame information for the specified line
561
+ *
562
+ * @throws {Error} If lineNumber is less than 1
563
+ * @throws {Error} If lineNumber exceeds file length
564
+ *
565
+ * @example
566
+ * ```typescript
567
+ * const lineInfo = await blameLine(storage, 'src/main.ts', 42, 'HEAD')
568
+ * console.log(`Line 42 was last modified by ${lineInfo.author}`)
569
+ * ```
410
570
  */
411
571
  export async function blameLine(storage, path, lineNumber, commit, options) {
412
572
  if (lineNumber < 1) {
@@ -419,7 +579,28 @@ export async function blameLine(storage, path, lineNumber, commit, options) {
419
579
  return result.lines[lineNumber - 1];
420
580
  }
421
581
  /**
422
- * Get blame for a specific line range
582
+ * Gets blame for a specific line range.
583
+ *
584
+ * More efficient than using the lineRange option when you know
585
+ * the exact numeric range you want.
586
+ *
587
+ * @param storage - The storage interface
588
+ * @param path - The file path
589
+ * @param startLine - Starting line number (1-indexed, inclusive)
590
+ * @param endLine - Ending line number (1-indexed, inclusive)
591
+ * @param commit - The commit SHA
592
+ * @param options - Optional blame configuration
593
+ * @returns Blame result for the specified range
594
+ *
595
+ * @throws {Error} If startLine is less than 1
596
+ * @throws {Error} If endLine is less than startLine
597
+ * @throws {Error} If endLine exceeds file length
598
+ *
599
+ * @example
600
+ * ```typescript
601
+ * // Get blame for lines 10-20
602
+ * const result = await blameRange(storage, 'file.ts', 10, 20, 'HEAD')
603
+ * ```
423
604
  */
424
605
  export async function blameRange(storage, path, startLine, endLine, commit, options) {
425
606
  if (startLine < 1) {
@@ -440,13 +621,43 @@ export async function blameRange(storage, path, startLine, endLine, commit, opti
440
621
  };
441
622
  }
442
623
  /**
443
- * Get blame at a specific historical commit
624
+ * Gets blame at a specific historical commit.
625
+ *
626
+ * Alias for `blame` - provided for semantic clarity when you want
627
+ * to emphasize you're looking at a specific point in history.
628
+ *
629
+ * @param storage - The storage interface
630
+ * @param path - The file path
631
+ * @param commit - The commit SHA
632
+ * @param options - Optional blame configuration
633
+ * @returns The blame result
634
+ *
635
+ * @see {@link blame} for full documentation
444
636
  */
445
637
  export async function getBlameForCommit(storage, path, commit, options) {
446
638
  return blame(storage, path, commit, options);
447
639
  }
448
640
  /**
449
- * Track content path across renames through history
641
+ * Tracks file path across renames through history.
642
+ *
643
+ * Walks through commit history and records each path the file
644
+ * had at different points in time.
645
+ *
646
+ * @param storage - The storage interface
647
+ * @param path - Current file path
648
+ * @param commit - Starting commit SHA
649
+ * @param _options - Unused options parameter (reserved for future use)
650
+ * @returns Array of path history entries, newest first
651
+ *
652
+ * @example
653
+ * ```typescript
654
+ * const history = await trackContentAcrossRenames(storage, 'src/new-name.ts', 'HEAD')
655
+ * // history might contain:
656
+ * // [
657
+ * // { commit: 'abc123', path: 'src/new-name.ts' },
658
+ * // { commit: 'def456', path: 'src/old-name.ts' }
659
+ * // ]
660
+ * ```
450
661
  */
451
662
  export async function trackContentAcrossRenames(storage, path, commit, _options) {
452
663
  const history = [];
@@ -471,7 +682,28 @@ export async function trackContentAcrossRenames(storage, path, commit, _options)
471
682
  return history;
472
683
  }
473
684
  /**
474
- * Detect file renames between two commits
685
+ * Detects file renames between two commits.
686
+ *
687
+ * Compares two commits to find files that were renamed based on
688
+ * SHA matching (exact renames) and content similarity (renames with modifications).
689
+ *
690
+ * @param storage - The storage interface
691
+ * @param fromCommit - The older commit SHA
692
+ * @param toCommit - The newer commit SHA
693
+ * @param options - Configuration options
694
+ * @param options.threshold - Similarity threshold (0-1) for content-based detection
695
+ * @returns Map of old paths to new paths for detected renames
696
+ *
697
+ * @example
698
+ * ```typescript
699
+ * const renames = await detectRenames(storage, 'abc123', 'def456', {
700
+ * threshold: 0.5
701
+ * })
702
+ *
703
+ * for (const [oldPath, newPath] of renames) {
704
+ * console.log(`${oldPath} -> ${newPath}`)
705
+ * }
706
+ * ```
475
707
  */
476
708
  export async function detectRenames(storage, fromCommit, toCommit, options) {
477
709
  const threshold = options?.threshold ?? 0.5;
@@ -557,7 +789,26 @@ export async function detectRenames(storage, fromCommit, toCommit, options) {
557
789
  return renames;
558
790
  }
559
791
  /**
560
- * Build complete blame history for a specific line
792
+ * Builds complete blame history for a specific line.
793
+ *
794
+ * Tracks a single line through history, recording its content
795
+ * at each commit where it existed.
796
+ *
797
+ * @param storage - The storage interface
798
+ * @param path - The file path
799
+ * @param lineNumber - The line number to track (1-indexed)
800
+ * @param commit - Starting commit SHA
801
+ * @param options - Optional blame configuration
802
+ * @returns Array of history entries, newest first
803
+ *
804
+ * @example
805
+ * ```typescript
806
+ * const history = await buildBlameHistory(storage, 'main.ts', 10, 'HEAD')
807
+ *
808
+ * for (const entry of history) {
809
+ * console.log(`${entry.commitSha}: ${entry.content}`)
810
+ * }
811
+ * ```
561
812
  */
562
813
  export async function buildBlameHistory(storage, path, lineNumber, commit, options) {
563
814
  const history = [];
@@ -631,7 +882,27 @@ export async function buildBlameHistory(storage, path, lineNumber, commit, optio
631
882
  return history;
632
883
  }
633
884
  /**
634
- * Format blame result for display
885
+ * Formats blame result for display.
886
+ *
887
+ * Converts a BlameResult into a human-readable or machine-parseable string format.
888
+ *
889
+ * @param result - The blame result to format
890
+ * @param options - Formatting options
891
+ * @returns Formatted string output
892
+ *
893
+ * @example
894
+ * ```typescript
895
+ * const result = await blame(storage, 'main.ts', 'HEAD')
896
+ *
897
+ * // Human-readable format
898
+ * const output = formatBlame(result, {
899
+ * showLineNumbers: true,
900
+ * showDate: true
901
+ * })
902
+ *
903
+ * // Machine-readable format
904
+ * const porcelain = formatBlame(result, { format: 'porcelain' })
905
+ * ```
635
906
  */
636
907
  export function formatBlame(result, options) {
637
908
  const opts = options ?? {};
@@ -678,7 +949,19 @@ export function formatBlame(result, options) {
678
949
  return lines.join('\n');
679
950
  }
680
951
  /**
681
- * Parse porcelain blame output
952
+ * Parses porcelain blame output back into a BlameResult.
953
+ *
954
+ * Useful for consuming blame output from external sources or
955
+ * for round-trip serialization.
956
+ *
957
+ * @param output - Porcelain format blame output string
958
+ * @returns Parsed blame result
959
+ *
960
+ * @example
961
+ * ```typescript
962
+ * const porcelainOutput = formatBlame(result, { format: 'porcelain' })
963
+ * const parsed = parseBlameOutput(porcelainOutput)
964
+ * ```
682
965
  */
683
966
  export function parseBlameOutput(output) {
684
967
  const lines = [];
@@ -1 +1 @@
1
- {"version":3,"file":"blame.js","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blame.js","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}