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,302 @@
1
+ /**
2
+ * Git receive-pack protocol implementation
3
+ *
4
+ * The receive-pack service is the server-side of git push. It:
5
+ * 1. Advertises refs and capabilities
6
+ * 2. Receives ref updates and pack data
7
+ * 3. Validates and applies the updates
8
+ *
9
+ * Protocol flow:
10
+ * 1. Server advertises refs with capabilities
11
+ * 2. Client sends ref update commands (old-sha new-sha refname)
12
+ * 3. Client sends packfile with new objects
13
+ * 4. Server validates packfile and updates refs
14
+ * 5. Server sends status report (if report-status enabled)
15
+ *
16
+ * Reference: https://git-scm.com/docs/pack-protocol
17
+ * https://git-scm.com/docs/git-receive-pack
18
+ */
19
+ import type { ObjectType } from '../types/objects';
20
+ /** Zero SHA - used for ref creation and deletion */
21
+ export declare const ZERO_SHA: string;
22
+ /**
23
+ * A reference (branch, tag, etc.) with its SHA and optional peeled value
24
+ */
25
+ export interface Ref {
26
+ name: string;
27
+ sha: string;
28
+ peeled?: string;
29
+ }
30
+ /**
31
+ * Capabilities supported by receive-pack
32
+ */
33
+ export interface ReceivePackCapabilities {
34
+ /** Client wants status report */
35
+ reportStatus?: boolean;
36
+ /** Client wants v2 status report */
37
+ reportStatusV2?: boolean;
38
+ /** Allow ref deletion */
39
+ deleteRefs?: boolean;
40
+ /** Suppress progress messages */
41
+ quiet?: boolean;
42
+ /** Atomic push (all or nothing) */
43
+ atomic?: boolean;
44
+ /** Support push options */
45
+ pushOptions?: boolean;
46
+ /** Side-band multiplexing */
47
+ sideBand64k?: boolean;
48
+ /** Push certificate nonce */
49
+ pushCert?: string;
50
+ /** Agent string */
51
+ agent?: string;
52
+ }
53
+ /**
54
+ * Ref update command from client
55
+ */
56
+ export interface RefUpdateCommand {
57
+ oldSha: string;
58
+ newSha: string;
59
+ refName: string;
60
+ type: 'create' | 'update' | 'delete';
61
+ capabilities?: string[];
62
+ }
63
+ /**
64
+ * Result of a ref update operation
65
+ */
66
+ export interface RefUpdateResult {
67
+ refName: string;
68
+ success: boolean;
69
+ error?: string;
70
+ oldTarget?: string;
71
+ newTarget?: string;
72
+ forced?: boolean;
73
+ }
74
+ /**
75
+ * Packfile validation result
76
+ */
77
+ export interface PackfileValidation {
78
+ valid: boolean;
79
+ objectCount?: number;
80
+ error?: string;
81
+ }
82
+ /**
83
+ * Hook execution point
84
+ */
85
+ export type HookExecutionPoint = 'pre-receive' | 'update' | 'post-receive' | 'post-update';
86
+ /**
87
+ * Hook execution result
88
+ */
89
+ export interface HookResult {
90
+ success: boolean;
91
+ message?: string;
92
+ pushSuccess?: boolean;
93
+ hookSuccess?: boolean;
94
+ results?: RefUpdateResult[];
95
+ }
96
+ /**
97
+ * Session state for receive-pack operation
98
+ */
99
+ export interface ReceivePackSession {
100
+ repoId: string;
101
+ capabilities: ReceivePackCapabilities;
102
+ commands: RefUpdateCommand[];
103
+ }
104
+ /**
105
+ * Object store interface
106
+ */
107
+ export interface ObjectStore {
108
+ getObject(sha: string): Promise<{
109
+ type: ObjectType;
110
+ data: Uint8Array;
111
+ } | null>;
112
+ hasObject(sha: string): Promise<boolean>;
113
+ getCommitParents(sha: string): Promise<string[]>;
114
+ getRefs(): Promise<Ref[]>;
115
+ getRef(name: string): Promise<Ref | null>;
116
+ setRef(name: string, sha: string): Promise<void>;
117
+ deleteRef(name: string): Promise<void>;
118
+ storeObject(sha: string, type: string, data: Uint8Array): Promise<void>;
119
+ isAncestor(ancestor: string, descendant: string): Promise<boolean>;
120
+ }
121
+ /**
122
+ * Parsed receive-pack request
123
+ */
124
+ export interface ReceivePackRequest {
125
+ commands: RefUpdateCommand[];
126
+ capabilities: string[];
127
+ packfile: Uint8Array;
128
+ pushOptions: string[];
129
+ }
130
+ /**
131
+ * Report status input
132
+ */
133
+ export interface ReportStatusInput {
134
+ unpackStatus: string;
135
+ refResults: RefUpdateResult[];
136
+ options?: Record<string, string>;
137
+ }
138
+ /**
139
+ * Unpack result
140
+ */
141
+ export interface UnpackResult {
142
+ success: boolean;
143
+ objectsUnpacked: number;
144
+ unpackedShas: string[];
145
+ error?: string;
146
+ }
147
+ /**
148
+ * Process commands result
149
+ */
150
+ export interface ProcessCommandsResult {
151
+ results: RefUpdateResult[];
152
+ }
153
+ /**
154
+ * Atomic ref update result
155
+ */
156
+ export interface AtomicRefUpdateResult {
157
+ success: boolean;
158
+ results: RefUpdateResult[];
159
+ }
160
+ /**
161
+ * Permission check result
162
+ */
163
+ export interface PermissionCheckResult {
164
+ allowed: boolean;
165
+ reason?: string;
166
+ }
167
+ /**
168
+ * Permission check options
169
+ */
170
+ export interface PermissionCheckOptions {
171
+ protectedRefs?: string[];
172
+ allowedRefPatterns?: string[];
173
+ }
174
+ /**
175
+ * Process commands options
176
+ */
177
+ export interface ProcessCommandsOptions {
178
+ forcePush?: boolean;
179
+ }
180
+ /**
181
+ * Packfile validation options
182
+ */
183
+ export interface PackfileValidationOptions {
184
+ verifyChecksum?: boolean;
185
+ allowEmpty?: boolean;
186
+ }
187
+ /**
188
+ * Unpack options
189
+ */
190
+ export interface UnpackOptions {
191
+ resolveDelta?: boolean;
192
+ onProgress?: (message: string) => void;
193
+ }
194
+ /**
195
+ * Hook options
196
+ */
197
+ export interface HookOptions {
198
+ timeout?: number;
199
+ pushOptions?: string[];
200
+ }
201
+ /**
202
+ * Build capability string for receive-pack
203
+ */
204
+ export declare function buildReceiveCapabilityString(capabilities: ReceivePackCapabilities): string;
205
+ /**
206
+ * Parse capabilities from string
207
+ */
208
+ export declare function parseReceiveCapabilities(capsString: string): ReceivePackCapabilities;
209
+ /**
210
+ * Create a new receive-pack session
211
+ */
212
+ export declare function createReceiveSession(repoId: string): ReceivePackSession;
213
+ /**
214
+ * Advertise refs to client
215
+ */
216
+ export declare function advertiseReceiveRefs(store: ObjectStore, capabilities?: ReceivePackCapabilities): Promise<string>;
217
+ /**
218
+ * Parse a single command line
219
+ */
220
+ export declare function parseCommandLine(line: string): RefUpdateCommand;
221
+ /**
222
+ * Parse complete receive-pack request
223
+ */
224
+ export declare function parseReceivePackRequest(data: Uint8Array): ReceivePackRequest;
225
+ /**
226
+ * Validate packfile structure
227
+ */
228
+ export declare function validatePackfile(packfile: Uint8Array, options?: PackfileValidationOptions): Promise<PackfileValidation>;
229
+ /**
230
+ * Unpack objects from packfile
231
+ */
232
+ export declare function unpackObjects(packfile: Uint8Array, _store: ObjectStore, options?: UnpackOptions): Promise<UnpackResult>;
233
+ /**
234
+ * Validate ref name according to git rules
235
+ */
236
+ export declare function validateRefName(refName: string): boolean;
237
+ /**
238
+ * Validate fast-forward update
239
+ */
240
+ export declare function validateFastForward(oldSha: string, newSha: string, store: ObjectStore): Promise<boolean>;
241
+ /**
242
+ * Check ref permissions
243
+ */
244
+ export declare function checkRefPermissions(refName: string, operation: 'create' | 'update' | 'delete' | 'force-update', options: PermissionCheckOptions): Promise<PermissionCheckResult>;
245
+ /**
246
+ * Process ref update commands
247
+ */
248
+ export declare function processCommands(session: ReceivePackSession, commands: RefUpdateCommand[], store: ObjectStore, options?: ProcessCommandsOptions): Promise<ProcessCommandsResult>;
249
+ /**
250
+ * Update refs in the store
251
+ */
252
+ export declare function updateRefs(commands: RefUpdateCommand[], store: ObjectStore): Promise<void>;
253
+ /**
254
+ * Atomic ref update - all or nothing
255
+ */
256
+ export declare function atomicRefUpdate(commands: RefUpdateCommand[], store: ObjectStore): Promise<AtomicRefUpdateResult>;
257
+ type PreReceiveHookFn = (commands: RefUpdateCommand[], env: Record<string, string>) => Promise<HookResult>;
258
+ type UpdateHookFn = (refName: string, oldSha: string, newSha: string, env: Record<string, string>) => Promise<HookResult>;
259
+ type PostReceiveHookFn = (commands: RefUpdateCommand[], results: RefUpdateResult[], env: Record<string, string>) => Promise<HookResult>;
260
+ type PostUpdateHookFn = (refNames: string[]) => Promise<HookResult>;
261
+ /**
262
+ * Execute pre-receive hook
263
+ */
264
+ export declare function executePreReceiveHook(commands: RefUpdateCommand[], _store: ObjectStore, hookFn: PreReceiveHookFn, env?: Record<string, string>, options?: HookOptions): Promise<HookResult>;
265
+ /**
266
+ * Execute update hook for each ref
267
+ */
268
+ export declare function executeUpdateHook(commands: RefUpdateCommand[], _store: ObjectStore, hookFn: UpdateHookFn, env?: Record<string, string>): Promise<{
269
+ results: RefUpdateResult[];
270
+ }>;
271
+ /**
272
+ * Execute post-receive hook
273
+ */
274
+ export declare function executePostReceiveHook(commands: RefUpdateCommand[], results: RefUpdateResult[], _store: ObjectStore, hookFn: PostReceiveHookFn, options?: HookOptions): Promise<{
275
+ pushSuccess: boolean;
276
+ hookSuccess: boolean;
277
+ }>;
278
+ /**
279
+ * Execute post-update hook
280
+ */
281
+ export declare function executePostUpdateHook(_commands: RefUpdateCommand[], results: RefUpdateResult[], hookFn: PostUpdateHookFn): Promise<void>;
282
+ /**
283
+ * Format report-status response
284
+ */
285
+ export declare function formatReportStatus(input: ReportStatusInput): string;
286
+ /**
287
+ * Format report-status-v2 response
288
+ */
289
+ export declare function formatReportStatusV2(input: ReportStatusInput): string;
290
+ /**
291
+ * Format rejection message
292
+ */
293
+ export declare function rejectPush(refName: string, reason: string, options: {
294
+ reportStatus?: boolean;
295
+ sideBand?: boolean;
296
+ }): string | Uint8Array;
297
+ /**
298
+ * Handle complete receive-pack request
299
+ */
300
+ export declare function handleReceivePack(session: ReceivePackSession, request: Uint8Array, store: ObjectStore): Promise<Uint8Array>;
301
+ export {};
302
+ //# sourceMappingURL=receive-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receive-pack.d.ts","sourceRoot":"","sources":["../../src/wire/receive-pack.ts"],"names":[],"mappings":"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"}