gitx.do 0.0.1

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 (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +156 -0
  3. package/dist/durable-object/object-store.d.ts +113 -0
  4. package/dist/durable-object/object-store.d.ts.map +1 -0
  5. package/dist/durable-object/object-store.js +387 -0
  6. package/dist/durable-object/object-store.js.map +1 -0
  7. package/dist/durable-object/schema.d.ts +17 -0
  8. package/dist/durable-object/schema.d.ts.map +1 -0
  9. package/dist/durable-object/schema.js +43 -0
  10. package/dist/durable-object/schema.js.map +1 -0
  11. package/dist/durable-object/wal.d.ts +111 -0
  12. package/dist/durable-object/wal.d.ts.map +1 -0
  13. package/dist/durable-object/wal.js +200 -0
  14. package/dist/durable-object/wal.js.map +1 -0
  15. package/dist/index.d.ts +24 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +101 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mcp/adapter.d.ts +231 -0
  20. package/dist/mcp/adapter.d.ts.map +1 -0
  21. package/dist/mcp/adapter.js +502 -0
  22. package/dist/mcp/adapter.js.map +1 -0
  23. package/dist/mcp/sandbox.d.ts +261 -0
  24. package/dist/mcp/sandbox.d.ts.map +1 -0
  25. package/dist/mcp/sandbox.js +983 -0
  26. package/dist/mcp/sandbox.js.map +1 -0
  27. package/dist/mcp/sdk-adapter.d.ts +413 -0
  28. package/dist/mcp/sdk-adapter.d.ts.map +1 -0
  29. package/dist/mcp/sdk-adapter.js +672 -0
  30. package/dist/mcp/sdk-adapter.js.map +1 -0
  31. package/dist/mcp/tools.d.ts +133 -0
  32. package/dist/mcp/tools.d.ts.map +1 -0
  33. package/dist/mcp/tools.js +1604 -0
  34. package/dist/mcp/tools.js.map +1 -0
  35. package/dist/ops/blame.d.ts +148 -0
  36. package/dist/ops/blame.d.ts.map +1 -0
  37. package/dist/ops/blame.js +754 -0
  38. package/dist/ops/blame.js.map +1 -0
  39. package/dist/ops/branch.d.ts +215 -0
  40. package/dist/ops/branch.d.ts.map +1 -0
  41. package/dist/ops/branch.js +608 -0
  42. package/dist/ops/branch.js.map +1 -0
  43. package/dist/ops/commit-traversal.d.ts +209 -0
  44. package/dist/ops/commit-traversal.d.ts.map +1 -0
  45. package/dist/ops/commit-traversal.js +755 -0
  46. package/dist/ops/commit-traversal.js.map +1 -0
  47. package/dist/ops/commit.d.ts +221 -0
  48. package/dist/ops/commit.d.ts.map +1 -0
  49. package/dist/ops/commit.js +606 -0
  50. package/dist/ops/commit.js.map +1 -0
  51. package/dist/ops/merge-base.d.ts +223 -0
  52. package/dist/ops/merge-base.d.ts.map +1 -0
  53. package/dist/ops/merge-base.js +581 -0
  54. package/dist/ops/merge-base.js.map +1 -0
  55. package/dist/ops/merge.d.ts +385 -0
  56. package/dist/ops/merge.d.ts.map +1 -0
  57. package/dist/ops/merge.js +1203 -0
  58. package/dist/ops/merge.js.map +1 -0
  59. package/dist/ops/tag.d.ts +182 -0
  60. package/dist/ops/tag.d.ts.map +1 -0
  61. package/dist/ops/tag.js +608 -0
  62. package/dist/ops/tag.js.map +1 -0
  63. package/dist/ops/tree-builder.d.ts +82 -0
  64. package/dist/ops/tree-builder.d.ts.map +1 -0
  65. package/dist/ops/tree-builder.js +246 -0
  66. package/dist/ops/tree-builder.js.map +1 -0
  67. package/dist/ops/tree-diff.d.ts +243 -0
  68. package/dist/ops/tree-diff.d.ts.map +1 -0
  69. package/dist/ops/tree-diff.js +657 -0
  70. package/dist/ops/tree-diff.js.map +1 -0
  71. package/dist/pack/delta.d.ts +68 -0
  72. package/dist/pack/delta.d.ts.map +1 -0
  73. package/dist/pack/delta.js +343 -0
  74. package/dist/pack/delta.js.map +1 -0
  75. package/dist/pack/format.d.ts +84 -0
  76. package/dist/pack/format.d.ts.map +1 -0
  77. package/dist/pack/format.js +261 -0
  78. package/dist/pack/format.js.map +1 -0
  79. package/dist/pack/full-generation.d.ts +327 -0
  80. package/dist/pack/full-generation.d.ts.map +1 -0
  81. package/dist/pack/full-generation.js +1159 -0
  82. package/dist/pack/full-generation.js.map +1 -0
  83. package/dist/pack/generation.d.ts +118 -0
  84. package/dist/pack/generation.d.ts.map +1 -0
  85. package/dist/pack/generation.js +459 -0
  86. package/dist/pack/generation.js.map +1 -0
  87. package/dist/pack/index.d.ts +181 -0
  88. package/dist/pack/index.d.ts.map +1 -0
  89. package/dist/pack/index.js +552 -0
  90. package/dist/pack/index.js.map +1 -0
  91. package/dist/refs/branch.d.ts +224 -0
  92. package/dist/refs/branch.d.ts.map +1 -0
  93. package/dist/refs/branch.js +170 -0
  94. package/dist/refs/branch.js.map +1 -0
  95. package/dist/refs/storage.d.ts +208 -0
  96. package/dist/refs/storage.d.ts.map +1 -0
  97. package/dist/refs/storage.js +421 -0
  98. package/dist/refs/storage.js.map +1 -0
  99. package/dist/refs/tag.d.ts +230 -0
  100. package/dist/refs/tag.d.ts.map +1 -0
  101. package/dist/refs/tag.js +188 -0
  102. package/dist/refs/tag.js.map +1 -0
  103. package/dist/storage/lru-cache.d.ts +188 -0
  104. package/dist/storage/lru-cache.d.ts.map +1 -0
  105. package/dist/storage/lru-cache.js +410 -0
  106. package/dist/storage/lru-cache.js.map +1 -0
  107. package/dist/storage/object-index.d.ts +140 -0
  108. package/dist/storage/object-index.d.ts.map +1 -0
  109. package/dist/storage/object-index.js +166 -0
  110. package/dist/storage/object-index.js.map +1 -0
  111. package/dist/storage/r2-pack.d.ts +394 -0
  112. package/dist/storage/r2-pack.d.ts.map +1 -0
  113. package/dist/storage/r2-pack.js +1062 -0
  114. package/dist/storage/r2-pack.js.map +1 -0
  115. package/dist/tiered/cdc-pipeline.d.ts +316 -0
  116. package/dist/tiered/cdc-pipeline.d.ts.map +1 -0
  117. package/dist/tiered/cdc-pipeline.js +771 -0
  118. package/dist/tiered/cdc-pipeline.js.map +1 -0
  119. package/dist/tiered/migration.d.ts +242 -0
  120. package/dist/tiered/migration.d.ts.map +1 -0
  121. package/dist/tiered/migration.js +592 -0
  122. package/dist/tiered/migration.js.map +1 -0
  123. package/dist/tiered/parquet-writer.d.ts +248 -0
  124. package/dist/tiered/parquet-writer.d.ts.map +1 -0
  125. package/dist/tiered/parquet-writer.js +555 -0
  126. package/dist/tiered/parquet-writer.js.map +1 -0
  127. package/dist/tiered/read-path.d.ts +141 -0
  128. package/dist/tiered/read-path.d.ts.map +1 -0
  129. package/dist/tiered/read-path.js +204 -0
  130. package/dist/tiered/read-path.js.map +1 -0
  131. package/dist/types/objects.d.ts +53 -0
  132. package/dist/types/objects.d.ts.map +1 -0
  133. package/dist/types/objects.js +291 -0
  134. package/dist/types/objects.js.map +1 -0
  135. package/dist/types/storage.d.ts +117 -0
  136. package/dist/types/storage.d.ts.map +1 -0
  137. package/dist/types/storage.js +8 -0
  138. package/dist/types/storage.js.map +1 -0
  139. package/dist/utils/hash.d.ts +31 -0
  140. package/dist/utils/hash.d.ts.map +1 -0
  141. package/dist/utils/hash.js +60 -0
  142. package/dist/utils/hash.js.map +1 -0
  143. package/dist/utils/sha1.d.ts +26 -0
  144. package/dist/utils/sha1.d.ts.map +1 -0
  145. package/dist/utils/sha1.js +127 -0
  146. package/dist/utils/sha1.js.map +1 -0
  147. package/dist/wire/capabilities.d.ts +236 -0
  148. package/dist/wire/capabilities.d.ts.map +1 -0
  149. package/dist/wire/capabilities.js +437 -0
  150. package/dist/wire/capabilities.js.map +1 -0
  151. package/dist/wire/pkt-line.d.ts +67 -0
  152. package/dist/wire/pkt-line.d.ts.map +1 -0
  153. package/dist/wire/pkt-line.js +145 -0
  154. package/dist/wire/pkt-line.js.map +1 -0
  155. package/dist/wire/receive-pack.d.ts +302 -0
  156. package/dist/wire/receive-pack.d.ts.map +1 -0
  157. package/dist/wire/receive-pack.js +885 -0
  158. package/dist/wire/receive-pack.js.map +1 -0
  159. package/dist/wire/smart-http.d.ts +321 -0
  160. package/dist/wire/smart-http.d.ts.map +1 -0
  161. package/dist/wire/smart-http.js +654 -0
  162. package/dist/wire/smart-http.js.map +1 -0
  163. package/dist/wire/upload-pack.d.ts +333 -0
  164. package/dist/wire/upload-pack.d.ts.map +1 -0
  165. package/dist/wire/upload-pack.js +850 -0
  166. package/dist/wire/upload-pack.js.map +1 -0
  167. package/package.json +61 -0
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Commit Graph Traversal
3
+ *
4
+ * Provides functionality for walking commit graphs, finding ancestors,
5
+ * topological sorting, and revision range parsing.
6
+ */
7
+ import { CommitObject } from '../types/objects';
8
+ import type { CommitProvider } from '../types/storage';
9
+ export type { CommitProvider };
10
+ /**
11
+ * Sorting strategy for commit traversal
12
+ */
13
+ export type SortStrategy = 'topological' | 'date' | 'author-date' | 'none';
14
+ /**
15
+ * Options for commit traversal
16
+ */
17
+ export interface TraversalOptions {
18
+ /** Maximum number of commits to return */
19
+ maxCount?: number;
20
+ /** Skip the first N commits */
21
+ skip?: number;
22
+ /** Only include commits that modify these paths */
23
+ paths?: string[];
24
+ /** Sorting strategy */
25
+ sort?: SortStrategy;
26
+ /** Whether to reverse the output order */
27
+ reverse?: boolean;
28
+ /** Starting commit SHA(s) */
29
+ start?: string | string[];
30
+ /** Commits to exclude (and their ancestors) */
31
+ exclude?: string[];
32
+ /** Include merge commits */
33
+ includeMerges?: boolean;
34
+ /** Only include first parent (follow mainline) */
35
+ firstParentOnly?: boolean;
36
+ /** Filter by author */
37
+ author?: string;
38
+ /** Filter by committer */
39
+ committer?: string;
40
+ /** Filter by date range (after) */
41
+ after?: Date;
42
+ /** Filter by date range (before) */
43
+ before?: Date;
44
+ /** Grep commit message */
45
+ grep?: string | RegExp;
46
+ }
47
+ /**
48
+ * Result of parsing a revision range
49
+ */
50
+ export interface RevisionRange {
51
+ /** Type of range: '..' for A..B, '...' for A...B, 'single' for single ref */
52
+ type: 'two-dot' | 'three-dot' | 'single';
53
+ /** Left side of range (or single commit) */
54
+ left: string;
55
+ /** Right side of range (undefined for single) */
56
+ right?: string;
57
+ }
58
+ /**
59
+ * Commit with additional traversal metadata
60
+ */
61
+ export interface TraversalCommit {
62
+ /** The commit object */
63
+ commit: CommitObject;
64
+ /** SHA of this commit */
65
+ sha: string;
66
+ /** Depth from starting commit(s) */
67
+ depth: number;
68
+ /** Whether this is a merge commit */
69
+ isMerge: boolean;
70
+ }
71
+ /**
72
+ * Walker for traversing commit graphs
73
+ *
74
+ * Supports various traversal strategies including topological sorting,
75
+ * date-based sorting, path filtering, and revision ranges.
76
+ */
77
+ export declare class CommitWalker {
78
+ private provider;
79
+ private options;
80
+ private visited;
81
+ private hidden;
82
+ private queue;
83
+ private hiddenExpanded;
84
+ constructor(provider: CommitProvider, options?: TraversalOptions);
85
+ /**
86
+ * Reset the walker state
87
+ */
88
+ reset(): void;
89
+ /**
90
+ * Add a starting commit to the walker
91
+ */
92
+ push(sha: string): void;
93
+ /**
94
+ * Hide a commit and its ancestors from the walk
95
+ */
96
+ hide(sha: string): void;
97
+ /**
98
+ * Expand hidden commits to include all ancestors
99
+ */
100
+ private expandHidden;
101
+ /**
102
+ * Get the next commit in the walk
103
+ */
104
+ next(): Promise<TraversalCommit | null>;
105
+ /**
106
+ * Check if there are more commits to walk
107
+ */
108
+ hasNext(): boolean;
109
+ /**
110
+ * Iterate over all commits matching the options
111
+ */
112
+ [Symbol.asyncIterator](): AsyncIterableIterator<TraversalCommit>;
113
+ }
114
+ /**
115
+ * Walk commits starting from the given SHA(s)
116
+ *
117
+ * @param provider - The commit provider for fetching commits
118
+ * @param start - Starting commit SHA or array of SHAs
119
+ * @param options - Traversal options
120
+ * @yields TraversalCommit objects in the requested order
121
+ */
122
+ export declare function walkCommits(provider: CommitProvider, start: string | string[], options?: TraversalOptions): AsyncGenerator<TraversalCommit, void, unknown>;
123
+ /**
124
+ * Check if commit A is an ancestor of commit B
125
+ *
126
+ * @param provider - The commit provider for fetching commits
127
+ * @param ancestor - Potential ancestor commit SHA
128
+ * @param descendant - Potential descendant commit SHA
129
+ * @returns true if ancestor is reachable from descendant
130
+ */
131
+ export declare function isAncestor(provider: CommitProvider, ancestor: string, descendant: string): Promise<boolean>;
132
+ /**
133
+ * Find the common ancestor(s) of two commits
134
+ *
135
+ * @param provider - The commit provider for fetching commits
136
+ * @param commit1 - First commit SHA
137
+ * @param commit2 - Second commit SHA
138
+ * @param all - If true, return all common ancestors; if false, return only the best one
139
+ * @returns The common ancestor SHA(s), or null if none found
140
+ */
141
+ export declare function findCommonAncestor(provider: CommitProvider, commit1: string, commit2: string, all?: boolean): Promise<string | string[] | null>;
142
+ /**
143
+ * Find the merge base(s) of multiple commits
144
+ *
145
+ * @param provider - The commit provider for fetching commits
146
+ * @param commits - Array of commit SHAs
147
+ * @returns The merge base SHA(s)
148
+ */
149
+ export declare function findMergeBase(provider: CommitProvider, commits: string[]): Promise<string[]>;
150
+ /**
151
+ * Parse a revision range specification
152
+ *
153
+ * Supports:
154
+ * - Single commit: "abc123"
155
+ * - Two-dot range: "A..B" (commits reachable from B but not from A)
156
+ * - Three-dot range: "A...B" (symmetric difference)
157
+ * - Caret exclusion: "^A B" (B excluding A)
158
+ *
159
+ * @param spec - The revision specification string
160
+ * @returns Parsed revision range
161
+ */
162
+ export declare function parseRevisionRange(spec: string): RevisionRange;
163
+ /**
164
+ * Expand a revision range into include/exclude commit sets
165
+ *
166
+ * @param provider - The commit provider for fetching commits
167
+ * @param range - The parsed revision range
168
+ * @returns Object with include and exclude commit arrays
169
+ */
170
+ export declare function expandRevisionRange(provider: CommitProvider, range: RevisionRange): Promise<{
171
+ include: string[];
172
+ exclude: string[];
173
+ }>;
174
+ /**
175
+ * Sort commits topologically (children before parents)
176
+ *
177
+ * @param provider - The commit provider for fetching commits
178
+ * @param commits - Array of commit SHAs to sort
179
+ * @returns Sorted array of commit SHAs
180
+ */
181
+ export declare function topologicalSort(provider: CommitProvider, commits: string[]): Promise<string[]>;
182
+ /**
183
+ * Sort commits by date
184
+ *
185
+ * @param provider - The commit provider for fetching commits
186
+ * @param commits - Array of commit SHAs to sort
187
+ * @param useAuthorDate - If true, use author date; otherwise use committer date
188
+ * @returns Sorted array of commit SHAs (newest first)
189
+ */
190
+ export declare function sortByDate(provider: CommitProvider, commits: string[], useAuthorDate?: boolean): Promise<string[]>;
191
+ /**
192
+ * Get all commits between two commits (exclusive of start, inclusive of end)
193
+ *
194
+ * @param provider - The commit provider for fetching commits
195
+ * @param start - Starting commit SHA (exclusive)
196
+ * @param end - Ending commit SHA (inclusive)
197
+ * @returns Array of commit SHAs
198
+ */
199
+ export declare function getCommitsBetween(provider: CommitProvider, start: string, end: string): Promise<string[]>;
200
+ /**
201
+ * Count the number of commits reachable from a commit
202
+ *
203
+ * @param provider - The commit provider for fetching commits
204
+ * @param sha - Starting commit SHA
205
+ * @param maxDepth - Maximum depth to count
206
+ * @returns Number of reachable commits
207
+ */
208
+ export declare function countCommits(provider: CommitProvider, sha: string, maxDepth?: number): Promise<number>;
209
+ //# sourceMappingURL=commit-traversal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-traversal.d.ts","sourceRoot":"","sources":["../../src/ops/commit-traversal.ts"],"names":[],"mappings":"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"}