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.
- package/dist/cli/commands/blame.d.ts +259 -0
- package/dist/cli/commands/blame.d.ts.map +1 -0
- package/dist/cli/commands/blame.js +609 -0
- package/dist/cli/commands/blame.js.map +1 -0
- package/dist/cli/commands/branch.d.ts +249 -0
- package/dist/cli/commands/branch.d.ts.map +1 -0
- package/dist/cli/commands/branch.js +693 -0
- package/dist/cli/commands/branch.js.map +1 -0
- package/dist/cli/commands/commit.d.ts +182 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +437 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/diff.d.ts +464 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +958 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/log.d.ts +239 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +535 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/review.d.ts +457 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +533 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/status.d.ts +269 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +493 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/web.d.ts +199 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +696 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/fs-adapter.d.ts +656 -0
- package/dist/cli/fs-adapter.d.ts.map +1 -0
- package/dist/cli/fs-adapter.js +1179 -0
- package/dist/cli/fs-adapter.js.map +1 -0
- package/dist/cli/index.d.ts +387 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +523 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/components/DiffView.d.ts +7 -0
- package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
- package/dist/cli/ui/components/DiffView.js +11 -0
- package/dist/cli/ui/components/DiffView.js.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.js +11 -0
- package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.js +12 -0
- package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.js +10 -0
- package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
- package/dist/cli/ui/components/NavigationList.d.ts +9 -0
- package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
- package/dist/cli/ui/components/NavigationList.js +11 -0
- package/dist/cli/ui/components/NavigationList.js.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.js +11 -0
- package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
- package/dist/cli/ui/components/index.d.ts +7 -0
- package/dist/cli/ui/components/index.d.ts.map +1 -0
- package/dist/cli/ui/components/index.js +9 -0
- package/dist/cli/ui/components/index.js.map +1 -0
- package/dist/cli/ui/terminal-ui.d.ts +52 -0
- package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
- package/dist/cli/ui/terminal-ui.js +121 -0
- package/dist/cli/ui/terminal-ui.js.map +1 -0
- package/dist/durable-object/object-store.d.ts +401 -23
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +414 -25
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +188 -0
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +160 -0
- package/dist/durable-object/schema.js.map +1 -1
- package/dist/durable-object/wal.d.ts +336 -31
- package/dist/durable-object/wal.d.ts.map +1 -1
- package/dist/durable-object/wal.js +272 -27
- package/dist/durable-object/wal.js.map +1 -1
- package/dist/index.d.ts +379 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +379 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/adapter.d.ts +579 -38
- package/dist/mcp/adapter.d.ts.map +1 -1
- package/dist/mcp/adapter.js +426 -33
- package/dist/mcp/adapter.js.map +1 -1
- package/dist/mcp/sandbox.d.ts +532 -29
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +389 -22
- package/dist/mcp/sandbox.js.map +1 -1
- package/dist/mcp/sdk-adapter.d.ts +478 -56
- package/dist/mcp/sdk-adapter.d.ts.map +1 -1
- package/dist/mcp/sdk-adapter.js +346 -44
- package/dist/mcp/sdk-adapter.js.map +1 -1
- package/dist/mcp/tools.d.ts +445 -30
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +363 -33
- package/dist/mcp/tools.js.map +1 -1
- package/dist/ops/blame.d.ts +424 -21
- package/dist/ops/blame.d.ts.map +1 -1
- package/dist/ops/blame.js +303 -20
- package/dist/ops/blame.js.map +1 -1
- package/dist/ops/branch.d.ts +583 -32
- package/dist/ops/branch.d.ts.map +1 -1
- package/dist/ops/branch.js +365 -23
- package/dist/ops/branch.js.map +1 -1
- package/dist/ops/commit-traversal.d.ts +164 -24
- package/dist/ops/commit-traversal.d.ts.map +1 -1
- package/dist/ops/commit-traversal.js +68 -2
- package/dist/ops/commit-traversal.js.map +1 -1
- package/dist/ops/commit.d.ts +387 -53
- package/dist/ops/commit.d.ts.map +1 -1
- package/dist/ops/commit.js +249 -29
- package/dist/ops/commit.js.map +1 -1
- package/dist/ops/merge-base.d.ts +195 -21
- package/dist/ops/merge-base.d.ts.map +1 -1
- package/dist/ops/merge-base.js +122 -12
- package/dist/ops/merge-base.js.map +1 -1
- package/dist/ops/merge.d.ts +600 -130
- package/dist/ops/merge.d.ts.map +1 -1
- package/dist/ops/merge.js +408 -60
- package/dist/ops/merge.js.map +1 -1
- package/dist/ops/tag.d.ts +67 -2
- package/dist/ops/tag.d.ts.map +1 -1
- package/dist/ops/tag.js +42 -1
- package/dist/ops/tag.js.map +1 -1
- package/dist/ops/tree-builder.d.ts +102 -6
- package/dist/ops/tree-builder.d.ts.map +1 -1
- package/dist/ops/tree-builder.js +30 -5
- package/dist/ops/tree-builder.js.map +1 -1
- package/dist/ops/tree-diff.d.ts +50 -2
- package/dist/ops/tree-diff.d.ts.map +1 -1
- package/dist/ops/tree-diff.js +50 -2
- package/dist/ops/tree-diff.js.map +1 -1
- package/dist/pack/delta.d.ts +211 -39
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +232 -46
- package/dist/pack/delta.js.map +1 -1
- package/dist/pack/format.d.ts +390 -28
- package/dist/pack/format.d.ts.map +1 -1
- package/dist/pack/format.js +344 -33
- package/dist/pack/format.js.map +1 -1
- package/dist/pack/full-generation.d.ts +313 -28
- package/dist/pack/full-generation.d.ts.map +1 -1
- package/dist/pack/full-generation.js +238 -19
- package/dist/pack/full-generation.js.map +1 -1
- package/dist/pack/generation.d.ts +346 -23
- package/dist/pack/generation.d.ts.map +1 -1
- package/dist/pack/generation.js +269 -21
- package/dist/pack/generation.js.map +1 -1
- package/dist/pack/index.d.ts +407 -86
- package/dist/pack/index.d.ts.map +1 -1
- package/dist/pack/index.js +351 -70
- package/dist/pack/index.js.map +1 -1
- package/dist/refs/branch.d.ts +517 -71
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +410 -26
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +610 -57
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +481 -29
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +677 -67
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +497 -30
- package/dist/refs/tag.js.map +1 -1
- package/dist/storage/lru-cache.d.ts +556 -53
- package/dist/storage/lru-cache.d.ts.map +1 -1
- package/dist/storage/lru-cache.js +439 -36
- package/dist/storage/lru-cache.js.map +1 -1
- package/dist/storage/object-index.d.ts +483 -38
- package/dist/storage/object-index.d.ts.map +1 -1
- package/dist/storage/object-index.js +388 -22
- package/dist/storage/object-index.js.map +1 -1
- package/dist/storage/r2-pack.d.ts +957 -94
- package/dist/storage/r2-pack.d.ts.map +1 -1
- package/dist/storage/r2-pack.js +756 -48
- package/dist/storage/r2-pack.js.map +1 -1
- package/dist/tiered/cdc-pipeline.d.ts +1610 -38
- package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
- package/dist/tiered/cdc-pipeline.js +1131 -22
- package/dist/tiered/cdc-pipeline.js.map +1 -1
- package/dist/tiered/migration.d.ts +903 -41
- package/dist/tiered/migration.d.ts.map +1 -1
- package/dist/tiered/migration.js +646 -24
- package/dist/tiered/migration.js.map +1 -1
- package/dist/tiered/parquet-writer.d.ts +944 -47
- package/dist/tiered/parquet-writer.d.ts.map +1 -1
- package/dist/tiered/parquet-writer.js +667 -39
- package/dist/tiered/parquet-writer.js.map +1 -1
- package/dist/tiered/read-path.d.ts +728 -34
- package/dist/tiered/read-path.d.ts.map +1 -1
- package/dist/tiered/read-path.js +310 -27
- package/dist/tiered/read-path.js.map +1 -1
- package/dist/types/objects.d.ts +457 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +305 -4
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +407 -35
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +27 -3
- package/dist/types/storage.js.map +1 -1
- package/dist/utils/hash.d.ts +133 -12
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +133 -12
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +102 -9
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +114 -11
- package/dist/utils/sha1.js.map +1 -1
- package/dist/wire/capabilities.d.ts +896 -88
- package/dist/wire/capabilities.d.ts.map +1 -1
- package/dist/wire/capabilities.js +566 -62
- package/dist/wire/capabilities.js.map +1 -1
- package/dist/wire/pkt-line.d.ts +293 -15
- package/dist/wire/pkt-line.d.ts.map +1 -1
- package/dist/wire/pkt-line.js +251 -15
- package/dist/wire/pkt-line.js.map +1 -1
- package/dist/wire/receive-pack.d.ts +814 -64
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +542 -41
- package/dist/wire/receive-pack.js.map +1 -1
- package/dist/wire/smart-http.d.ts +575 -97
- package/dist/wire/smart-http.d.ts.map +1 -1
- package/dist/wire/smart-http.js +337 -46
- package/dist/wire/smart-http.js.map +1 -1
- package/dist/wire/upload-pack.d.ts +492 -98
- package/dist/wire/upload-pack.d.ts.map +1 -1
- package/dist/wire/upload-pack.js +347 -59
- package/dist/wire/upload-pack.js.map +1 -1
- package/package.json +10 -2
package/dist/ops/blame.d.ts
CHANGED
|
@@ -1,148 +1,551 @@
|
|
|
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
|
import { CommitObject, TreeObject } from '../types/objects';
|
|
8
38
|
/**
|
|
9
|
-
* Storage interface for blame operations
|
|
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
|
|
10
45
|
*/
|
|
11
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
|
+
*/
|
|
12
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
|
+
*/
|
|
13
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
|
+
*/
|
|
14
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
|
+
*/
|
|
15
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
|
+
*/
|
|
16
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
|
+
*/
|
|
17
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
|
+
*/
|
|
18
89
|
getParentCommit(sha: string): Promise<string | null>;
|
|
19
90
|
}
|
|
20
91
|
/**
|
|
21
|
-
* Options for blame
|
|
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
|
+
* ```
|
|
22
105
|
*/
|
|
23
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
|
+
*/
|
|
24
112
|
followRenames?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Whether to follow symbolic links.
|
|
115
|
+
* @default false
|
|
116
|
+
*/
|
|
25
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
|
+
*/
|
|
26
123
|
maxCommits?: number;
|
|
124
|
+
/**
|
|
125
|
+
* Reverse blame direction - show which commit introduced removal.
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
27
128
|
reverse?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Only consider commits after this date.
|
|
131
|
+
*/
|
|
28
132
|
since?: Date;
|
|
133
|
+
/**
|
|
134
|
+
* Only consider commits before this date.
|
|
135
|
+
*/
|
|
29
136
|
until?: Date;
|
|
137
|
+
/**
|
|
138
|
+
* Ignore whitespace changes when comparing lines.
|
|
139
|
+
* @default false
|
|
140
|
+
*/
|
|
30
141
|
ignoreWhitespace?: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* List of commit SHAs to skip during blame traversal.
|
|
144
|
+
* Useful for ignoring bulk formatting commits.
|
|
145
|
+
*/
|
|
31
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
|
+
*/
|
|
32
156
|
lineRange?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Whether to use caching for performance.
|
|
159
|
+
* @default true
|
|
160
|
+
*/
|
|
33
161
|
useCache?: boolean;
|
|
34
162
|
}
|
|
35
163
|
/**
|
|
36
|
-
* Information about a single
|
|
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
|
|
37
170
|
*/
|
|
38
171
|
export interface BlameLineInfo {
|
|
172
|
+
/** SHA of the commit that last modified this line */
|
|
39
173
|
commitSha: string;
|
|
174
|
+
/** Name of the author who made the change */
|
|
40
175
|
author: string;
|
|
176
|
+
/** Email of the author (optional for compatibility) */
|
|
41
177
|
email?: string;
|
|
178
|
+
/** Unix timestamp of the commit in seconds */
|
|
42
179
|
timestamp: number;
|
|
180
|
+
/** The actual text content of the line */
|
|
43
181
|
content: string;
|
|
182
|
+
/** Current line number in the file (1-indexed) */
|
|
44
183
|
lineNumber: number;
|
|
184
|
+
/** Original line number when the line was introduced (1-indexed) */
|
|
45
185
|
originalLineNumber: number;
|
|
186
|
+
/** Original file path if the file was renamed */
|
|
46
187
|
originalPath?: string;
|
|
47
188
|
}
|
|
48
189
|
/**
|
|
49
|
-
*
|
|
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
|
|
50
195
|
*/
|
|
51
196
|
export interface BlameCommitInfo {
|
|
197
|
+
/** The commit SHA */
|
|
52
198
|
sha: string;
|
|
199
|
+
/** Author name */
|
|
53
200
|
author: string;
|
|
201
|
+
/** Author email */
|
|
54
202
|
email: string;
|
|
203
|
+
/** Unix timestamp in seconds */
|
|
55
204
|
timestamp: number;
|
|
205
|
+
/** First line of the commit message */
|
|
56
206
|
summary: string;
|
|
207
|
+
/** Whether this commit is a boundary (has no parent) */
|
|
57
208
|
boundary?: boolean;
|
|
58
209
|
}
|
|
59
210
|
/**
|
|
60
|
-
* A single entry in blame output
|
|
211
|
+
* A single entry in blame output (simplified format).
|
|
212
|
+
*
|
|
213
|
+
* @interface BlameEntry
|
|
61
214
|
*/
|
|
62
215
|
export interface BlameEntry {
|
|
216
|
+
/** SHA of the commit */
|
|
63
217
|
commitSha: string;
|
|
218
|
+
/** Author name */
|
|
64
219
|
author: string;
|
|
220
|
+
/** Unix timestamp in seconds */
|
|
65
221
|
timestamp: number;
|
|
222
|
+
/** Current line number (1-indexed) */
|
|
66
223
|
lineNumber: number;
|
|
224
|
+
/** Original line number when introduced (1-indexed) */
|
|
67
225
|
originalLineNumber: number;
|
|
226
|
+
/** Line content */
|
|
68
227
|
content: string;
|
|
228
|
+
/** Original path if file was renamed */
|
|
69
229
|
originalPath?: string;
|
|
70
230
|
}
|
|
71
231
|
/**
|
|
72
|
-
*
|
|
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
|
+
* ```
|
|
73
248
|
*/
|
|
74
249
|
export interface BlameResult {
|
|
250
|
+
/** The file path that was blamed */
|
|
75
251
|
path: string;
|
|
252
|
+
/** Array of blame information for each line */
|
|
76
253
|
lines: BlameLineInfo[];
|
|
254
|
+
/** Map of commit SHA to commit information */
|
|
77
255
|
commits: Map<string, BlameCommitInfo>;
|
|
256
|
+
/** Options used for this blame operation */
|
|
78
257
|
options?: BlameOptions;
|
|
79
258
|
}
|
|
80
259
|
/**
|
|
81
|
-
*
|
|
260
|
+
* Options for formatting blame output.
|
|
261
|
+
*
|
|
262
|
+
* @interface BlameFormatOptions
|
|
82
263
|
*/
|
|
83
264
|
export interface BlameFormatOptions {
|
|
265
|
+
/**
|
|
266
|
+
* Output format style.
|
|
267
|
+
* - 'default': Human-readable format
|
|
268
|
+
* - 'porcelain': Machine-parseable format
|
|
269
|
+
* @default 'default'
|
|
270
|
+
*/
|
|
84
271
|
format?: 'default' | 'porcelain';
|
|
272
|
+
/**
|
|
273
|
+
* Whether to show line numbers.
|
|
274
|
+
* @default false
|
|
275
|
+
*/
|
|
85
276
|
showLineNumbers?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Whether to show commit dates.
|
|
279
|
+
* @default false
|
|
280
|
+
*/
|
|
86
281
|
showDate?: boolean;
|
|
282
|
+
/**
|
|
283
|
+
* Whether to show email instead of author name.
|
|
284
|
+
* @default false
|
|
285
|
+
*/
|
|
87
286
|
showEmail?: boolean;
|
|
88
287
|
}
|
|
89
288
|
/**
|
|
90
|
-
*
|
|
289
|
+
* Entry tracking file path through rename history.
|
|
290
|
+
*
|
|
291
|
+
* @interface PathHistoryEntry
|
|
91
292
|
*/
|
|
92
293
|
export interface PathHistoryEntry {
|
|
294
|
+
/** Commit SHA at this point in history */
|
|
93
295
|
commit: string;
|
|
296
|
+
/** File path at this point in history */
|
|
94
297
|
path: string;
|
|
95
298
|
}
|
|
96
299
|
/**
|
|
97
|
-
* Blame history entry for a single line
|
|
300
|
+
* Blame history entry for tracking a single line through history.
|
|
301
|
+
*
|
|
302
|
+
* @interface BlameHistoryEntry
|
|
98
303
|
*/
|
|
99
304
|
export interface BlameHistoryEntry {
|
|
305
|
+
/** Commit SHA where this version appeared */
|
|
100
306
|
commitSha: string;
|
|
307
|
+
/** Line content at this version */
|
|
101
308
|
content: string;
|
|
309
|
+
/** Line number at this version */
|
|
102
310
|
lineNumber: number;
|
|
311
|
+
/** Author of this version */
|
|
103
312
|
author: string;
|
|
313
|
+
/** Timestamp of this version */
|
|
104
314
|
timestamp: number;
|
|
105
315
|
}
|
|
106
316
|
/**
|
|
107
|
-
*
|
|
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
|
+
* ```
|
|
108
359
|
*/
|
|
109
360
|
export declare function blame(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
|
|
110
361
|
/**
|
|
111
|
-
* Alias for blame - get full file blame
|
|
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
|
|
112
373
|
*/
|
|
113
374
|
export declare function blameFile(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
|
|
114
375
|
/**
|
|
115
|
-
*
|
|
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
|
+
* ```
|
|
116
396
|
*/
|
|
117
397
|
export declare function blameLine(storage: BlameStorage, path: string, lineNumber: number, commit: string, options?: BlameOptions): Promise<BlameLineInfo>;
|
|
118
398
|
/**
|
|
119
|
-
*
|
|
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
|
+
* ```
|
|
120
421
|
*/
|
|
121
422
|
export declare function blameRange(storage: BlameStorage, path: string, startLine: number, endLine: number, commit: string, options?: BlameOptions): Promise<BlameResult>;
|
|
122
423
|
/**
|
|
123
|
-
*
|
|
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
|
|
124
436
|
*/
|
|
125
437
|
export declare function getBlameForCommit(storage: BlameStorage, path: string, commit: string, options?: BlameOptions): Promise<BlameResult>;
|
|
126
438
|
/**
|
|
127
|
-
*
|
|
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
|
+
* ```
|
|
128
459
|
*/
|
|
129
460
|
export declare function trackContentAcrossRenames(storage: BlameStorage, path: string, commit: string, _options?: BlameOptions): Promise<PathHistoryEntry[]>;
|
|
130
461
|
/**
|
|
131
|
-
*
|
|
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
|
+
* ```
|
|
132
484
|
*/
|
|
133
485
|
export declare function detectRenames(storage: BlameStorage, fromCommit: string, toCommit: string, options?: {
|
|
134
486
|
threshold?: number;
|
|
135
487
|
}): Promise<Map<string, string>>;
|
|
136
488
|
/**
|
|
137
|
-
*
|
|
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
|
+
* ```
|
|
138
509
|
*/
|
|
139
510
|
export declare function buildBlameHistory(storage: BlameStorage, path: string, lineNumber: number, commit: string, options?: BlameOptions): Promise<BlameHistoryEntry[]>;
|
|
140
511
|
/**
|
|
141
|
-
*
|
|
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
|
+
* ```
|
|
142
533
|
*/
|
|
143
534
|
export declare function formatBlame(result: BlameResult, options?: BlameFormatOptions): string;
|
|
144
535
|
/**
|
|
145
|
-
*
|
|
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
|
+
* ```
|
|
146
549
|
*/
|
|
147
550
|
export declare function parseBlameOutput(output: string): BlameResult;
|
|
148
551
|
//# sourceMappingURL=blame.d.ts.map
|
package/dist/ops/blame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blame.d.ts","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"blame.d.ts","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}
|