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,223 @@
1
+ /**
2
+ * Merge Base Finding Operations
3
+ *
4
+ * Provides functionality for finding merge bases between commits,
5
+ * which is essential for merge operations, rebasing, and understanding
6
+ * branch relationships in the commit graph.
7
+ *
8
+ * A merge base is the best common ancestor(s) of two or more commits.
9
+ * The "best" common ancestor is one that is not an ancestor of any
10
+ * other common ancestor (i.e., a maximal common ancestor).
11
+ */
12
+ import type { BasicCommitProvider as CommitProvider } from '../types/storage';
13
+ export type { CommitProvider };
14
+ /**
15
+ * Result of a merge base operation
16
+ */
17
+ export interface MergeBaseResult {
18
+ /** The merge base commit SHA(s) */
19
+ bases: string[];
20
+ /** Whether a unique merge base was found */
21
+ isUnique: boolean;
22
+ /** Whether the commits share any common history */
23
+ hasCommonHistory: boolean;
24
+ /** The number of merge bases found */
25
+ count: number;
26
+ }
27
+ /**
28
+ * Options for merge base finding
29
+ */
30
+ export interface MergeBaseOptions {
31
+ /** Return all merge bases instead of just one */
32
+ all?: boolean;
33
+ /** Use octopus merge strategy (for >2 commits) */
34
+ octopus?: boolean;
35
+ /** Return independent refs (refs that cannot be reached from each other) */
36
+ independent?: boolean;
37
+ /** Include fork point calculation */
38
+ forkPoint?: boolean;
39
+ }
40
+ /**
41
+ * Result of fork point detection
42
+ */
43
+ export interface ForkPointResult {
44
+ /** The fork point commit SHA, or null if not found */
45
+ forkPoint: string | null;
46
+ /** The branch ref that was analyzed */
47
+ ref: string;
48
+ /** Whether the fork point could be determined */
49
+ found: boolean;
50
+ /** Commits on the branch since the fork point */
51
+ commitsSinceFork: number;
52
+ }
53
+ /**
54
+ * Result of ancestor check
55
+ */
56
+ export interface AncestorCheckResult {
57
+ /** Whether the first commit is an ancestor of the second */
58
+ isAncestor: boolean;
59
+ /** The distance (number of commits) if ancestor, -1 otherwise */
60
+ distance: number;
61
+ }
62
+ /**
63
+ * Find the merge base of two or more commits
64
+ *
65
+ * Given two commits, finds the best common ancestor (merge base).
66
+ * Given multiple commits, finds the merge base of all of them.
67
+ *
68
+ * This is equivalent to `git merge-base`.
69
+ *
70
+ * @param provider - The commit provider for fetching commits
71
+ * @param commits - Two or more commit SHAs
72
+ * @param options - Options for the merge base search
73
+ * @returns The merge base result
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const result = await findMergeBase(provider, ['abc123', 'def456'])
78
+ * if (result.hasCommonHistory) {
79
+ * console.log('Merge base:', result.bases[0])
80
+ * }
81
+ * ```
82
+ */
83
+ export declare function findMergeBase(provider: CommitProvider, commits: string[], options?: MergeBaseOptions): Promise<MergeBaseResult>;
84
+ /**
85
+ * Find all merge bases between two commits
86
+ *
87
+ * Unlike findMergeBase with all=true, this specifically finds
88
+ * all maximal common ancestors, which is useful for criss-cross
89
+ * merge situations.
90
+ *
91
+ * This is equivalent to `git merge-base --all`.
92
+ *
93
+ * @param provider - The commit provider for fetching commits
94
+ * @param commit1 - First commit SHA
95
+ * @param commit2 - Second commit SHA
96
+ * @returns Array of all merge base SHAs
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * const bases = await findAllMergeBases(provider, 'abc123', 'def456')
101
+ * if (bases.length > 1) {
102
+ * console.log('Multiple merge bases (criss-cross merge):', bases)
103
+ * }
104
+ * ```
105
+ */
106
+ export declare function findAllMergeBases(provider: CommitProvider, commit1: string, commit2: string): Promise<string[]>;
107
+ /**
108
+ * Find the fork point of a branch relative to another ref
109
+ *
110
+ * Calculates where a branch forked off from another branch,
111
+ * taking into account any rebases that may have occurred.
112
+ * This uses reflog information when available.
113
+ *
114
+ * This is equivalent to `git merge-base --fork-point`.
115
+ *
116
+ * @param provider - The commit provider for fetching commits
117
+ * @param ref - The branch ref to analyze
118
+ * @param baseRef - The base ref to compare against
119
+ * @param reflog - Optional reflog entries for more accurate detection
120
+ * @returns The fork point result
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const result = await findForkPoint(provider, 'feature-branch', 'main')
125
+ * if (result.found) {
126
+ * console.log('Forked from:', result.forkPoint)
127
+ * }
128
+ * ```
129
+ */
130
+ export declare function findForkPoint(provider: CommitProvider, ref: string, baseRef: string, reflog?: string[]): Promise<ForkPointResult>;
131
+ /**
132
+ * Check if one commit is an ancestor of another
133
+ *
134
+ * Returns true if the first commit is reachable from the second
135
+ * commit by following parent links.
136
+ *
137
+ * This is equivalent to `git merge-base --is-ancestor`.
138
+ *
139
+ * @param provider - The commit provider for fetching commits
140
+ * @param potentialAncestor - The commit to check as potential ancestor
141
+ * @param commit - The commit to start walking from
142
+ * @returns True if potentialAncestor is an ancestor of commit
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * if (await isAncestor(provider, 'oldcommit', 'newcommit')) {
147
+ * console.log('oldcommit is an ancestor of newcommit')
148
+ * }
149
+ * ```
150
+ */
151
+ export declare function isAncestor(provider: CommitProvider, potentialAncestor: string, commit: string): Promise<boolean>;
152
+ /**
153
+ * Check ancestor relationship and return additional information
154
+ *
155
+ * @param provider - The commit provider for fetching commits
156
+ * @param potentialAncestor - The commit to check as potential ancestor
157
+ * @param commit - The commit to start walking from
158
+ * @returns Detailed ancestor check result
159
+ */
160
+ export declare function checkAncestor(provider: CommitProvider, potentialAncestor: string, commit: string): Promise<AncestorCheckResult>;
161
+ /**
162
+ * Find independent commits from a list
163
+ *
164
+ * Returns the subset of commits that are not reachable from
165
+ * any other commit in the list.
166
+ *
167
+ * This is equivalent to `git merge-base --independent`.
168
+ *
169
+ * @param provider - The commit provider for fetching commits
170
+ * @param commits - List of commit SHAs to analyze
171
+ * @returns Array of independent commit SHAs
172
+ *
173
+ * @example
174
+ * ```ts
175
+ * const independent = await findIndependentCommits(provider, [a, b, c])
176
+ * // Returns commits that are not ancestors of others
177
+ * ```
178
+ */
179
+ export declare function findIndependentCommits(provider: CommitProvider, commits: string[]): Promise<string[]>;
180
+ /**
181
+ * Find the octopus merge base
182
+ *
183
+ * For merging more than two branches, finds a suitable merge base
184
+ * that works for all branches.
185
+ *
186
+ * @param provider - The commit provider for fetching commits
187
+ * @param commits - List of commit SHAs (3 or more)
188
+ * @returns The octopus merge base SHA(s)
189
+ */
190
+ export declare function findOctopusMergeBase(provider: CommitProvider, commits: string[]): Promise<string[]>;
191
+ /**
192
+ * Compute the three-way merge base for a merge operation
193
+ *
194
+ * Given the current HEAD, merge target, and optionally a common ancestor,
195
+ * returns the appropriate base for a three-way merge.
196
+ *
197
+ * @param provider - The commit provider for fetching commits
198
+ * @param ours - Our commit (HEAD)
199
+ * @param theirs - Their commit (merge target)
200
+ * @returns The merge base for three-way merge
201
+ */
202
+ export declare function computeThreeWayMergeBase(provider: CommitProvider, ours: string, theirs: string): Promise<MergeBaseResult>;
203
+ /**
204
+ * Check if commits have any common history
205
+ *
206
+ * @param provider - The commit provider for fetching commits
207
+ * @param commits - List of commit SHAs to check
208
+ * @returns True if all commits share common history
209
+ */
210
+ export declare function hasCommonHistory(provider: CommitProvider, commits: string[]): Promise<boolean>;
211
+ /**
212
+ * Calculate merge base for a recursive merge
213
+ *
214
+ * When there are multiple merge bases (criss-cross merge situation),
215
+ * this creates a virtual merge base by merging the merge bases.
216
+ *
217
+ * @param provider - The commit provider for fetching commits
218
+ * @param commit1 - First commit SHA
219
+ * @param commit2 - Second commit SHA
220
+ * @returns The recursive merge base
221
+ */
222
+ export declare function computeRecursiveMergeBase(provider: CommitProvider, commit1: string, commit2: string): Promise<MergeBaseResult>;
223
+ //# sourceMappingURL=merge-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-base.d.ts","sourceRoot":"","sources":["../../src/ops/merge-base.ts"],"names":[],"mappings":"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"}