gitx.do 0.1.0 → 0.1.2

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 (344) hide show
  1. package/README.md +40 -353
  2. package/dist/do/logger.d.ts +50 -0
  3. package/dist/do/logger.d.ts.map +1 -0
  4. package/dist/do/logger.js +122 -0
  5. package/dist/do/logger.js.map +1 -0
  6. package/dist/{durable-object → do}/schema.d.ts +3 -3
  7. package/dist/do/schema.d.ts.map +1 -0
  8. package/dist/{durable-object → do}/schema.js +4 -3
  9. package/dist/do/schema.js.map +1 -0
  10. package/dist/do/types.d.ts +267 -0
  11. package/dist/do/types.d.ts.map +1 -0
  12. package/dist/do/types.js +62 -0
  13. package/dist/do/types.js.map +1 -0
  14. package/dist/index.d.ts +15 -415
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +31 -483
  17. package/dist/index.js.map +1 -1
  18. package/package.json +13 -21
  19. package/dist/cli/commands/add.d.ts +0 -174
  20. package/dist/cli/commands/add.d.ts.map +0 -1
  21. package/dist/cli/commands/add.js +0 -131
  22. package/dist/cli/commands/add.js.map +0 -1
  23. package/dist/cli/commands/blame.d.ts +0 -259
  24. package/dist/cli/commands/blame.d.ts.map +0 -1
  25. package/dist/cli/commands/blame.js +0 -609
  26. package/dist/cli/commands/blame.js.map +0 -1
  27. package/dist/cli/commands/branch.d.ts +0 -249
  28. package/dist/cli/commands/branch.d.ts.map +0 -1
  29. package/dist/cli/commands/branch.js +0 -693
  30. package/dist/cli/commands/branch.js.map +0 -1
  31. package/dist/cli/commands/commit.d.ts +0 -182
  32. package/dist/cli/commands/commit.d.ts.map +0 -1
  33. package/dist/cli/commands/commit.js +0 -437
  34. package/dist/cli/commands/commit.js.map +0 -1
  35. package/dist/cli/commands/diff.d.ts +0 -464
  36. package/dist/cli/commands/diff.d.ts.map +0 -1
  37. package/dist/cli/commands/diff.js +0 -958
  38. package/dist/cli/commands/diff.js.map +0 -1
  39. package/dist/cli/commands/log.d.ts +0 -239
  40. package/dist/cli/commands/log.d.ts.map +0 -1
  41. package/dist/cli/commands/log.js +0 -535
  42. package/dist/cli/commands/log.js.map +0 -1
  43. package/dist/cli/commands/merge.d.ts +0 -106
  44. package/dist/cli/commands/merge.d.ts.map +0 -1
  45. package/dist/cli/commands/merge.js +0 -55
  46. package/dist/cli/commands/merge.js.map +0 -1
  47. package/dist/cli/commands/review.d.ts +0 -457
  48. package/dist/cli/commands/review.d.ts.map +0 -1
  49. package/dist/cli/commands/review.js +0 -533
  50. package/dist/cli/commands/review.js.map +0 -1
  51. package/dist/cli/commands/status.d.ts +0 -269
  52. package/dist/cli/commands/status.d.ts.map +0 -1
  53. package/dist/cli/commands/status.js +0 -493
  54. package/dist/cli/commands/status.js.map +0 -1
  55. package/dist/cli/commands/web.d.ts +0 -199
  56. package/dist/cli/commands/web.d.ts.map +0 -1
  57. package/dist/cli/commands/web.js +0 -696
  58. package/dist/cli/commands/web.js.map +0 -1
  59. package/dist/cli/fs-adapter.d.ts +0 -656
  60. package/dist/cli/fs-adapter.d.ts.map +0 -1
  61. package/dist/cli/fs-adapter.js +0 -1179
  62. package/dist/cli/fs-adapter.js.map +0 -1
  63. package/dist/cli/fsx-cli-adapter.d.ts +0 -359
  64. package/dist/cli/fsx-cli-adapter.d.ts.map +0 -1
  65. package/dist/cli/fsx-cli-adapter.js +0 -619
  66. package/dist/cli/fsx-cli-adapter.js.map +0 -1
  67. package/dist/cli/index.d.ts +0 -387
  68. package/dist/cli/index.d.ts.map +0 -1
  69. package/dist/cli/index.js +0 -523
  70. package/dist/cli/index.js.map +0 -1
  71. package/dist/cli/ui/components/DiffView.d.ts +0 -7
  72. package/dist/cli/ui/components/DiffView.d.ts.map +0 -1
  73. package/dist/cli/ui/components/DiffView.js +0 -11
  74. package/dist/cli/ui/components/DiffView.js.map +0 -1
  75. package/dist/cli/ui/components/ErrorDisplay.d.ts +0 -6
  76. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +0 -1
  77. package/dist/cli/ui/components/ErrorDisplay.js +0 -11
  78. package/dist/cli/ui/components/ErrorDisplay.js.map +0 -1
  79. package/dist/cli/ui/components/FuzzySearch.d.ts +0 -9
  80. package/dist/cli/ui/components/FuzzySearch.d.ts.map +0 -1
  81. package/dist/cli/ui/components/FuzzySearch.js +0 -12
  82. package/dist/cli/ui/components/FuzzySearch.js.map +0 -1
  83. package/dist/cli/ui/components/LoadingSpinner.d.ts +0 -6
  84. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +0 -1
  85. package/dist/cli/ui/components/LoadingSpinner.js +0 -10
  86. package/dist/cli/ui/components/LoadingSpinner.js.map +0 -1
  87. package/dist/cli/ui/components/NavigationList.d.ts +0 -9
  88. package/dist/cli/ui/components/NavigationList.d.ts.map +0 -1
  89. package/dist/cli/ui/components/NavigationList.js +0 -11
  90. package/dist/cli/ui/components/NavigationList.js.map +0 -1
  91. package/dist/cli/ui/components/ScrollableContent.d.ts +0 -8
  92. package/dist/cli/ui/components/ScrollableContent.d.ts.map +0 -1
  93. package/dist/cli/ui/components/ScrollableContent.js +0 -11
  94. package/dist/cli/ui/components/ScrollableContent.js.map +0 -1
  95. package/dist/cli/ui/components/index.d.ts +0 -7
  96. package/dist/cli/ui/components/index.d.ts.map +0 -1
  97. package/dist/cli/ui/components/index.js +0 -9
  98. package/dist/cli/ui/components/index.js.map +0 -1
  99. package/dist/cli/ui/terminal-ui.d.ts +0 -52
  100. package/dist/cli/ui/terminal-ui.d.ts.map +0 -1
  101. package/dist/cli/ui/terminal-ui.js +0 -121
  102. package/dist/cli/ui/terminal-ui.js.map +0 -1
  103. package/dist/do/BashModule.d.ts +0 -871
  104. package/dist/do/BashModule.d.ts.map +0 -1
  105. package/dist/do/BashModule.js +0 -1143
  106. package/dist/do/BashModule.js.map +0 -1
  107. package/dist/do/FsModule.d.ts +0 -601
  108. package/dist/do/FsModule.d.ts.map +0 -1
  109. package/dist/do/FsModule.js +0 -1120
  110. package/dist/do/FsModule.js.map +0 -1
  111. package/dist/do/GitModule.d.ts +0 -635
  112. package/dist/do/GitModule.d.ts.map +0 -1
  113. package/dist/do/GitModule.js +0 -781
  114. package/dist/do/GitModule.js.map +0 -1
  115. package/dist/do/GitRepoDO.d.ts +0 -281
  116. package/dist/do/GitRepoDO.d.ts.map +0 -1
  117. package/dist/do/GitRepoDO.js +0 -479
  118. package/dist/do/GitRepoDO.js.map +0 -1
  119. package/dist/do/bash-ast.d.ts +0 -246
  120. package/dist/do/bash-ast.d.ts.map +0 -1
  121. package/dist/do/bash-ast.js +0 -888
  122. package/dist/do/bash-ast.js.map +0 -1
  123. package/dist/do/container-executor.d.ts +0 -491
  124. package/dist/do/container-executor.d.ts.map +0 -1
  125. package/dist/do/container-executor.js +0 -730
  126. package/dist/do/container-executor.js.map +0 -1
  127. package/dist/do/index.d.ts +0 -53
  128. package/dist/do/index.d.ts.map +0 -1
  129. package/dist/do/index.js +0 -91
  130. package/dist/do/index.js.map +0 -1
  131. package/dist/do/tiered-storage.d.ts +0 -403
  132. package/dist/do/tiered-storage.d.ts.map +0 -1
  133. package/dist/do/tiered-storage.js +0 -689
  134. package/dist/do/tiered-storage.js.map +0 -1
  135. package/dist/do/withBash.d.ts +0 -231
  136. package/dist/do/withBash.d.ts.map +0 -1
  137. package/dist/do/withBash.js +0 -244
  138. package/dist/do/withBash.js.map +0 -1
  139. package/dist/do/withFs.d.ts +0 -237
  140. package/dist/do/withFs.d.ts.map +0 -1
  141. package/dist/do/withFs.js +0 -387
  142. package/dist/do/withFs.js.map +0 -1
  143. package/dist/do/withGit.d.ts +0 -180
  144. package/dist/do/withGit.d.ts.map +0 -1
  145. package/dist/do/withGit.js +0 -271
  146. package/dist/do/withGit.js.map +0 -1
  147. package/dist/durable-object/object-store.d.ts +0 -633
  148. package/dist/durable-object/object-store.d.ts.map +0 -1
  149. package/dist/durable-object/object-store.js +0 -1161
  150. package/dist/durable-object/object-store.js.map +0 -1
  151. package/dist/durable-object/schema.d.ts.map +0 -1
  152. package/dist/durable-object/schema.js.map +0 -1
  153. package/dist/durable-object/wal.d.ts +0 -416
  154. package/dist/durable-object/wal.d.ts.map +0 -1
  155. package/dist/durable-object/wal.js +0 -445
  156. package/dist/durable-object/wal.js.map +0 -1
  157. package/dist/mcp/adapter.d.ts +0 -772
  158. package/dist/mcp/adapter.d.ts.map +0 -1
  159. package/dist/mcp/adapter.js +0 -895
  160. package/dist/mcp/adapter.js.map +0 -1
  161. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -22
  162. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  163. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -140
  164. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  165. package/dist/mcp/sandbox/object-store-proxy.d.ts +0 -32
  166. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +0 -1
  167. package/dist/mcp/sandbox/object-store-proxy.js +0 -30
  168. package/dist/mcp/sandbox/object-store-proxy.js.map +0 -1
  169. package/dist/mcp/sandbox/template.d.ts +0 -17
  170. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  171. package/dist/mcp/sandbox/template.js +0 -71
  172. package/dist/mcp/sandbox/template.js.map +0 -1
  173. package/dist/mcp/sandbox.d.ts +0 -764
  174. package/dist/mcp/sandbox.d.ts.map +0 -1
  175. package/dist/mcp/sandbox.js +0 -1362
  176. package/dist/mcp/sandbox.js.map +0 -1
  177. package/dist/mcp/sdk-adapter.d.ts +0 -835
  178. package/dist/mcp/sdk-adapter.d.ts.map +0 -1
  179. package/dist/mcp/sdk-adapter.js +0 -974
  180. package/dist/mcp/sdk-adapter.js.map +0 -1
  181. package/dist/mcp/tools/do.d.ts +0 -32
  182. package/dist/mcp/tools/do.d.ts.map +0 -1
  183. package/dist/mcp/tools/do.js +0 -115
  184. package/dist/mcp/tools/do.js.map +0 -1
  185. package/dist/mcp/tools.d.ts +0 -548
  186. package/dist/mcp/tools.d.ts.map +0 -1
  187. package/dist/mcp/tools.js +0 -1934
  188. package/dist/mcp/tools.js.map +0 -1
  189. package/dist/ops/blame.d.ts +0 -551
  190. package/dist/ops/blame.d.ts.map +0 -1
  191. package/dist/ops/blame.js +0 -1037
  192. package/dist/ops/blame.js.map +0 -1
  193. package/dist/ops/branch.d.ts +0 -766
  194. package/dist/ops/branch.d.ts.map +0 -1
  195. package/dist/ops/branch.js +0 -950
  196. package/dist/ops/branch.js.map +0 -1
  197. package/dist/ops/commit-traversal.d.ts +0 -349
  198. package/dist/ops/commit-traversal.d.ts.map +0 -1
  199. package/dist/ops/commit-traversal.js +0 -821
  200. package/dist/ops/commit-traversal.js.map +0 -1
  201. package/dist/ops/commit.d.ts +0 -555
  202. package/dist/ops/commit.d.ts.map +0 -1
  203. package/dist/ops/commit.js +0 -826
  204. package/dist/ops/commit.js.map +0 -1
  205. package/dist/ops/merge-base.d.ts +0 -397
  206. package/dist/ops/merge-base.d.ts.map +0 -1
  207. package/dist/ops/merge-base.js +0 -691
  208. package/dist/ops/merge-base.js.map +0 -1
  209. package/dist/ops/merge.d.ts +0 -855
  210. package/dist/ops/merge.d.ts.map +0 -1
  211. package/dist/ops/merge.js +0 -1551
  212. package/dist/ops/merge.js.map +0 -1
  213. package/dist/ops/tag.d.ts +0 -247
  214. package/dist/ops/tag.d.ts.map +0 -1
  215. package/dist/ops/tag.js +0 -649
  216. package/dist/ops/tag.js.map +0 -1
  217. package/dist/ops/tree-builder.d.ts +0 -178
  218. package/dist/ops/tree-builder.d.ts.map +0 -1
  219. package/dist/ops/tree-builder.js +0 -271
  220. package/dist/ops/tree-builder.js.map +0 -1
  221. package/dist/ops/tree-diff.d.ts +0 -291
  222. package/dist/ops/tree-diff.d.ts.map +0 -1
  223. package/dist/ops/tree-diff.js +0 -705
  224. package/dist/ops/tree-diff.js.map +0 -1
  225. package/dist/pack/delta.d.ts +0 -248
  226. package/dist/pack/delta.d.ts.map +0 -1
  227. package/dist/pack/delta.js +0 -736
  228. package/dist/pack/delta.js.map +0 -1
  229. package/dist/pack/format.d.ts +0 -446
  230. package/dist/pack/format.d.ts.map +0 -1
  231. package/dist/pack/format.js +0 -572
  232. package/dist/pack/format.js.map +0 -1
  233. package/dist/pack/full-generation.d.ts +0 -612
  234. package/dist/pack/full-generation.d.ts.map +0 -1
  235. package/dist/pack/full-generation.js +0 -1378
  236. package/dist/pack/full-generation.js.map +0 -1
  237. package/dist/pack/generation.d.ts +0 -441
  238. package/dist/pack/generation.d.ts.map +0 -1
  239. package/dist/pack/generation.js +0 -707
  240. package/dist/pack/generation.js.map +0 -1
  241. package/dist/pack/index.d.ts +0 -502
  242. package/dist/pack/index.d.ts.map +0 -1
  243. package/dist/pack/index.js +0 -833
  244. package/dist/pack/index.js.map +0 -1
  245. package/dist/refs/branch.d.ts +0 -668
  246. package/dist/refs/branch.d.ts.map +0 -1
  247. package/dist/refs/branch.js +0 -897
  248. package/dist/refs/branch.js.map +0 -1
  249. package/dist/refs/storage.d.ts +0 -833
  250. package/dist/refs/storage.d.ts.map +0 -1
  251. package/dist/refs/storage.js +0 -1023
  252. package/dist/refs/storage.js.map +0 -1
  253. package/dist/refs/tag.d.ts +0 -860
  254. package/dist/refs/tag.d.ts.map +0 -1
  255. package/dist/refs/tag.js +0 -996
  256. package/dist/refs/tag.js.map +0 -1
  257. package/dist/storage/backend.d.ts +0 -425
  258. package/dist/storage/backend.d.ts.map +0 -1
  259. package/dist/storage/backend.js +0 -41
  260. package/dist/storage/backend.js.map +0 -1
  261. package/dist/storage/fsx-adapter.d.ts +0 -204
  262. package/dist/storage/fsx-adapter.d.ts.map +0 -1
  263. package/dist/storage/fsx-adapter.js +0 -470
  264. package/dist/storage/fsx-adapter.js.map +0 -1
  265. package/dist/storage/lru-cache.d.ts +0 -691
  266. package/dist/storage/lru-cache.d.ts.map +0 -1
  267. package/dist/storage/lru-cache.js +0 -813
  268. package/dist/storage/lru-cache.js.map +0 -1
  269. package/dist/storage/object-index.d.ts +0 -585
  270. package/dist/storage/object-index.d.ts.map +0 -1
  271. package/dist/storage/object-index.js +0 -532
  272. package/dist/storage/object-index.js.map +0 -1
  273. package/dist/storage/r2-pack.d.ts +0 -1257
  274. package/dist/storage/r2-pack.d.ts.map +0 -1
  275. package/dist/storage/r2-pack.js +0 -1770
  276. package/dist/storage/r2-pack.js.map +0 -1
  277. package/dist/tiered/cdc-pipeline.d.ts +0 -1888
  278. package/dist/tiered/cdc-pipeline.d.ts.map +0 -1
  279. package/dist/tiered/cdc-pipeline.js +0 -1880
  280. package/dist/tiered/cdc-pipeline.js.map +0 -1
  281. package/dist/tiered/migration.d.ts +0 -1104
  282. package/dist/tiered/migration.d.ts.map +0 -1
  283. package/dist/tiered/migration.js +0 -1214
  284. package/dist/tiered/migration.js.map +0 -1
  285. package/dist/tiered/parquet-writer.d.ts +0 -1145
  286. package/dist/tiered/parquet-writer.d.ts.map +0 -1
  287. package/dist/tiered/parquet-writer.js +0 -1183
  288. package/dist/tiered/parquet-writer.js.map +0 -1
  289. package/dist/tiered/read-path.d.ts +0 -835
  290. package/dist/tiered/read-path.d.ts.map +0 -1
  291. package/dist/tiered/read-path.js +0 -487
  292. package/dist/tiered/read-path.js.map +0 -1
  293. package/dist/types/capability.d.ts +0 -1385
  294. package/dist/types/capability.d.ts.map +0 -1
  295. package/dist/types/capability.js +0 -36
  296. package/dist/types/capability.js.map +0 -1
  297. package/dist/types/index.d.ts +0 -13
  298. package/dist/types/index.d.ts.map +0 -1
  299. package/dist/types/index.js +0 -18
  300. package/dist/types/index.js.map +0 -1
  301. package/dist/types/objects.d.ts +0 -692
  302. package/dist/types/objects.d.ts.map +0 -1
  303. package/dist/types/objects.js +0 -837
  304. package/dist/types/objects.js.map +0 -1
  305. package/dist/types/storage.d.ts +0 -603
  306. package/dist/types/storage.d.ts.map +0 -1
  307. package/dist/types/storage.js +0 -191
  308. package/dist/types/storage.js.map +0 -1
  309. package/dist/types/worker-loader.d.ts +0 -60
  310. package/dist/types/worker-loader.d.ts.map +0 -1
  311. package/dist/types/worker-loader.js +0 -62
  312. package/dist/types/worker-loader.js.map +0 -1
  313. package/dist/utils/hash.d.ts +0 -197
  314. package/dist/utils/hash.d.ts.map +0 -1
  315. package/dist/utils/hash.js +0 -268
  316. package/dist/utils/hash.js.map +0 -1
  317. package/dist/utils/sha1.d.ts +0 -290
  318. package/dist/utils/sha1.d.ts.map +0 -1
  319. package/dist/utils/sha1.js +0 -582
  320. package/dist/utils/sha1.js.map +0 -1
  321. package/dist/wire/capabilities.d.ts +0 -1044
  322. package/dist/wire/capabilities.d.ts.map +0 -1
  323. package/dist/wire/capabilities.js +0 -941
  324. package/dist/wire/capabilities.js.map +0 -1
  325. package/dist/wire/path-security.d.ts +0 -157
  326. package/dist/wire/path-security.d.ts.map +0 -1
  327. package/dist/wire/path-security.js +0 -307
  328. package/dist/wire/path-security.js.map +0 -1
  329. package/dist/wire/pkt-line.d.ts +0 -345
  330. package/dist/wire/pkt-line.d.ts.map +0 -1
  331. package/dist/wire/pkt-line.js +0 -381
  332. package/dist/wire/pkt-line.js.map +0 -1
  333. package/dist/wire/receive-pack.d.ts +0 -1059
  334. package/dist/wire/receive-pack.d.ts.map +0 -1
  335. package/dist/wire/receive-pack.js +0 -1414
  336. package/dist/wire/receive-pack.js.map +0 -1
  337. package/dist/wire/smart-http.d.ts +0 -799
  338. package/dist/wire/smart-http.d.ts.map +0 -1
  339. package/dist/wire/smart-http.js +0 -945
  340. package/dist/wire/smart-http.js.map +0 -1
  341. package/dist/wire/upload-pack.d.ts +0 -727
  342. package/dist/wire/upload-pack.d.ts.map +0 -1
  343. package/dist/wire/upload-pack.js +0 -1138
  344. package/dist/wire/upload-pack.js.map +0 -1
@@ -1,692 +0,0 @@
1
- /**
2
- * @fileoverview Git Object Types and Serialization
3
- *
4
- * This module defines the core Git object types (blob, tree, commit, tag) and provides
5
- * functions for serializing and deserializing these objects in the Git format.
6
- *
7
- * Git uses a content-addressable storage model where each object is identified by
8
- * its SHA-1 hash. The format for each object type is:
9
- * - Header: "{type} {size}\0"
10
- * - Content: type-specific binary data
11
- *
12
- * @module types/objects
13
- *
14
- * @example
15
- * ```typescript
16
- * import { serializeBlob, parseBlob, isBlob } from './types/objects'
17
- *
18
- * // Create and serialize a blob
19
- * const content = new TextEncoder().encode('Hello, World!')
20
- * const serialized = serializeBlob(content)
21
- *
22
- * // Parse it back
23
- * const blob = parseBlob(serialized)
24
- * console.log(blob.type) // 'blob'
25
- * ```
26
- */
27
- /**
28
- * The four Git object types.
29
- *
30
- * @description
31
- * - `blob`: Raw file content
32
- * - `tree`: Directory listing (contains references to blobs and other trees)
33
- * - `commit`: A snapshot pointing to a tree with metadata (author, message, parents)
34
- * - `tag`: An annotated tag pointing to another object with metadata
35
- */
36
- export type ObjectType = 'blob' | 'tree' | 'commit' | 'tag';
37
- /**
38
- * Base interface for all Git objects.
39
- *
40
- * @description
41
- * All Git objects share a common structure with a type discriminator
42
- * and raw binary data. The data field contains the object content
43
- * WITHOUT the Git header (type and size).
44
- *
45
- * @property type - The object type discriminator
46
- * @property data - Raw binary content of the object (excluding header)
47
- */
48
- export interface GitObject {
49
- /** The type of Git object */
50
- type: ObjectType;
51
- /** Raw binary data of the object content */
52
- data: Uint8Array;
53
- }
54
- /**
55
- * A Git blob object representing raw file content.
56
- *
57
- * @description
58
- * Blobs are the simplest Git objects - they just store raw file content.
59
- * The data field contains the file content as-is, without any transformation.
60
- *
61
- * @example
62
- * ```typescript
63
- * const blob: BlobObject = {
64
- * type: 'blob',
65
- * data: new TextEncoder().encode('file content')
66
- * }
67
- * ```
68
- */
69
- export interface BlobObject extends GitObject {
70
- /** Type discriminator - always 'blob' for blob objects */
71
- type: 'blob';
72
- }
73
- /**
74
- * A single entry in a Git tree object.
75
- *
76
- * @description
77
- * Tree entries represent files or subdirectories within a directory.
78
- * Each entry has a file mode, name, and SHA-1 reference to the content.
79
- *
80
- * @property mode - Unix file mode as a string
81
- * @property name - File or directory name (no path separators)
82
- * @property sha - 40-character hex SHA-1 of the referenced object
83
- *
84
- * @example
85
- * ```typescript
86
- * const fileEntry: TreeEntry = {
87
- * mode: '100644', // Regular file
88
- * name: 'README.md',
89
- * sha: 'abc123...' // SHA-1 of the blob
90
- * }
91
- *
92
- * const dirEntry: TreeEntry = {
93
- * mode: '040000', // Directory
94
- * name: 'src',
95
- * sha: 'def456...' // SHA-1 of another tree
96
- * }
97
- * ```
98
- */
99
- export interface TreeEntry {
100
- /**
101
- * Unix file mode string.
102
- * Common values:
103
- * - '100644': Regular file
104
- * - '100755': Executable file
105
- * - '040000': Directory (subdirectory)
106
- * - '120000': Symbolic link
107
- * - '160000': Git submodule (gitlink)
108
- */
109
- mode: string;
110
- /** File or directory name */
111
- name: string;
112
- /** 40-character lowercase hex SHA-1 hash of the referenced object */
113
- sha: string;
114
- }
115
- /**
116
- * A Git tree object representing a directory.
117
- *
118
- * @description
119
- * Trees are Git's way of representing directories. Each tree contains
120
- * entries pointing to blobs (files) or other trees (subdirectories).
121
- * Entries are sorted by name with a special rule for directories.
122
- *
123
- * @example
124
- * ```typescript
125
- * const tree: TreeObject = {
126
- * type: 'tree',
127
- * data: rawTreeData,
128
- * entries: [
129
- * { mode: '100644', name: 'file.txt', sha: '...' },
130
- * { mode: '040000', name: 'subdir', sha: '...' }
131
- * ]
132
- * }
133
- * ```
134
- */
135
- export interface TreeObject extends GitObject {
136
- /** Type discriminator - always 'tree' for tree objects */
137
- type: 'tree';
138
- /** Parsed tree entries (files and subdirectories) */
139
- entries: TreeEntry[];
140
- }
141
- /**
142
- * Author/committer/tagger information.
143
- *
144
- * @description
145
- * Represents identity information used in commits and tags.
146
- * Includes name, email, Unix timestamp, and timezone offset.
147
- *
148
- * @property name - Full name of the person
149
- * @property email - Email address
150
- * @property timestamp - Unix timestamp in seconds
151
- * @property timezone - Timezone offset string (e.g., '+0530', '-0800')
152
- *
153
- * @example
154
- * ```typescript
155
- * const author: Author = {
156
- * name: 'John Doe',
157
- * email: 'john@example.com',
158
- * timestamp: 1704067200, // Unix seconds
159
- * timezone: '-0800' // PST
160
- * }
161
- * ```
162
- */
163
- export interface Author {
164
- /** Full name of the author */
165
- name: string;
166
- /** Email address */
167
- email: string;
168
- /** Unix timestamp in seconds since epoch */
169
- timestamp: number;
170
- /** Timezone offset in +/-HHMM format (e.g., '+0530', '-0800') */
171
- timezone: string;
172
- }
173
- /**
174
- * A Git commit object representing a snapshot in history.
175
- *
176
- * @description
177
- * Commits are the core of Git's version control. Each commit points to
178
- * a tree (representing the project state), has zero or more parent commits,
179
- * and includes author/committer information with a message.
180
- *
181
- * @property tree - SHA-1 of the tree object representing project state
182
- * @property parents - Array of parent commit SHA-1s (empty for initial commit)
183
- * @property author - Who created the original changes
184
- * @property committer - Who created the commit
185
- * @property message - Commit message describing the changes
186
- *
187
- * @example
188
- * ```typescript
189
- * const commit: CommitObject = {
190
- * type: 'commit',
191
- * data: rawCommitData,
192
- * tree: 'abc123...',
193
- * parents: ['parent1sha...'],
194
- * author: { name: 'Alice', email: 'alice@example.com', timestamp: 1704067200, timezone: '+0000' },
195
- * committer: { name: 'Alice', email: 'alice@example.com', timestamp: 1704067200, timezone: '+0000' },
196
- * message: 'Initial commit\n\nAdd project structure'
197
- * }
198
- * ```
199
- */
200
- export interface CommitObject extends GitObject {
201
- /** Type discriminator - always 'commit' for commit objects */
202
- type: 'commit';
203
- /** 40-character hex SHA-1 of the root tree object */
204
- tree: string;
205
- /** Array of parent commit SHA-1s (empty for root commit, multiple for merge) */
206
- parents: string[];
207
- /** Original author of the changes */
208
- author: Author;
209
- /** Person who created this commit (may differ from author in cherry-picks, rebases) */
210
- committer: Author;
211
- /** Commit message including subject line and optional body */
212
- message: string;
213
- }
214
- /**
215
- * A Git tag object (annotated tag).
216
- *
217
- * @description
218
- * Annotated tags are Git objects that contain metadata about a tag,
219
- * including who created it, when, and an optional message. They can
220
- * point to any Git object (usually commits).
221
- *
222
- * Note: Lightweight tags are just refs pointing directly to commits,
223
- * not tag objects.
224
- *
225
- * @property object - SHA-1 of the tagged object
226
- * @property objectType - Type of the tagged object
227
- * @property tagger - Who created the tag (optional for some tags)
228
- * @property message - Tag message/annotation
229
- * @property name - Tag name
230
- * @property tag - Alternative tag name field (deprecated, use name)
231
- *
232
- * @example
233
- * ```typescript
234
- * const tag: TagObject = {
235
- * type: 'tag',
236
- * data: rawTagData,
237
- * object: 'commitsha...',
238
- * objectType: 'commit',
239
- * name: 'v1.0.0',
240
- * tagger: { name: 'Bob', email: 'bob@example.com', timestamp: 1704067200, timezone: '+0000' },
241
- * message: 'Release version 1.0.0'
242
- * }
243
- * ```
244
- */
245
- export interface TagObject extends GitObject {
246
- /** Type discriminator - always 'tag' for tag objects */
247
- type: 'tag';
248
- /** 40-character hex SHA-1 of the tagged object */
249
- object: string;
250
- /** Type of the object being tagged */
251
- objectType: ObjectType;
252
- /** Tag creator information (optional for lightweight-style annotated tags) */
253
- tagger?: Author;
254
- /** Tag annotation message */
255
- message: string;
256
- /** Tag name (e.g., 'v1.0.0') */
257
- name: string;
258
- /** Alternative tag name field (deprecated, prefer 'name') */
259
- tag?: string;
260
- }
261
- /**
262
- * Valid SHA-1 hash pattern (40 lowercase hexadecimal characters).
263
- *
264
- * @description
265
- * Regular expression for validating SHA-1 hashes used in Git.
266
- * Matches exactly 40 lowercase hexadecimal characters.
267
- *
268
- * @example
269
- * ```typescript
270
- * if (SHA_PATTERN.test(input)) {
271
- * // Valid SHA-1 format
272
- * }
273
- * ```
274
- */
275
- export declare const SHA_PATTERN: RegExp;
276
- /**
277
- * Valid file modes in Git.
278
- *
279
- * @description
280
- * The set of valid mode strings for tree entries:
281
- * - '100644': Regular file (non-executable)
282
- * - '100755': Executable file
283
- * - '040000': Directory (tree)
284
- * - '120000': Symbolic link
285
- * - '160000': Git submodule (gitlink)
286
- */
287
- export declare const VALID_MODES: Set<string>;
288
- /**
289
- * Validate a SHA-1 hash string.
290
- *
291
- * @description
292
- * Checks if a string is a valid Git SHA-1 hash (40 lowercase hex characters).
293
- * Use this to validate user input or data from external sources.
294
- *
295
- * @param sha - The string to validate
296
- * @returns True if the string is a valid SHA-1 hash
297
- *
298
- * @example
299
- * ```typescript
300
- * if (isValidSha('abc123')) {
301
- * console.log('Invalid SHA') // Too short
302
- * }
303
- *
304
- * if (isValidSha('da39a3ee5e6b4b0d3255bfef95601890afd80709')) {
305
- * console.log('Valid SHA')
306
- * }
307
- * ```
308
- */
309
- export declare function isValidSha(sha: string): boolean;
310
- /**
311
- * Validate a Git object type string.
312
- *
313
- * @description
314
- * Checks if a string is one of the four valid Git object types.
315
- *
316
- * @param type - The string to validate
317
- * @returns True if the string is a valid object type
318
- *
319
- * @example
320
- * ```typescript
321
- * if (isValidObjectType(input)) {
322
- * // input is 'blob' | 'tree' | 'commit' | 'tag'
323
- * }
324
- * ```
325
- */
326
- export declare function isValidObjectType(type: string): type is ObjectType;
327
- /**
328
- * Validate a tree entry mode string.
329
- *
330
- * @description
331
- * Checks if a string is a valid Git tree entry mode.
332
- *
333
- * @param mode - The mode string to validate
334
- * @returns True if the mode is valid
335
- *
336
- * @example
337
- * ```typescript
338
- * if (isValidMode('100644')) {
339
- * console.log('Valid regular file mode')
340
- * }
341
- * ```
342
- */
343
- export declare function isValidMode(mode: string): boolean;
344
- /**
345
- * Validate a tree entry object.
346
- *
347
- * @description
348
- * Validates all fields of a tree entry including mode, name, and SHA.
349
- * Returns an object with validity status and optional error message.
350
- *
351
- * @param entry - The tree entry to validate
352
- * @returns Validation result with isValid boolean and optional error message
353
- *
354
- * @example
355
- * ```typescript
356
- * const result = validateTreeEntry({ mode: '100644', name: 'file.txt', sha: 'abc...' })
357
- * if (!result.isValid) {
358
- * console.error(result.error)
359
- * }
360
- * ```
361
- */
362
- export declare function validateTreeEntry(entry: TreeEntry): {
363
- isValid: boolean;
364
- error?: string;
365
- };
366
- /**
367
- * Validate an author object.
368
- *
369
- * @description
370
- * Validates all fields of an Author object including name, email,
371
- * timestamp, and timezone format.
372
- *
373
- * @param author - The author object to validate
374
- * @returns Validation result with isValid boolean and optional error message
375
- *
376
- * @example
377
- * ```typescript
378
- * const result = validateAuthor({
379
- * name: 'Alice',
380
- * email: 'alice@example.com',
381
- * timestamp: 1704067200,
382
- * timezone: '+0000'
383
- * })
384
- * if (!result.isValid) {
385
- * console.error(result.error)
386
- * }
387
- * ```
388
- */
389
- export declare function validateAuthor(author: Author): {
390
- isValid: boolean;
391
- error?: string;
392
- };
393
- /**
394
- * Validate a commit object (excluding type and data fields).
395
- *
396
- * @description
397
- * Validates the structure and content of commit fields.
398
- * Checks tree SHA, parent SHAs, author, committer, and message.
399
- *
400
- * @param commit - The commit data to validate
401
- * @returns Validation result with isValid boolean and optional error message
402
- *
403
- * @example
404
- * ```typescript
405
- * const result = validateCommit({
406
- * tree: 'abc123...',
407
- * parents: ['parent1...'],
408
- * author: { ... },
409
- * committer: { ... },
410
- * message: 'Initial commit'
411
- * })
412
- * ```
413
- */
414
- export declare function validateCommit(commit: Omit<CommitObject, 'type' | 'data'>): {
415
- isValid: boolean;
416
- error?: string;
417
- };
418
- /**
419
- * Validate a tag object (excluding type and data fields).
420
- *
421
- * @description
422
- * Validates the structure and content of tag fields.
423
- * Checks object SHA, object type, name, tagger, and message.
424
- *
425
- * @param tag - The tag data to validate
426
- * @returns Validation result with isValid boolean and optional error message
427
- *
428
- * @example
429
- * ```typescript
430
- * const result = validateTag({
431
- * object: 'commitsha...',
432
- * objectType: 'commit',
433
- * name: 'v1.0.0',
434
- * tagger: { ... },
435
- * message: 'Release v1.0.0'
436
- * })
437
- * ```
438
- */
439
- export declare function validateTag(tag: Omit<TagObject, 'type' | 'data'>): {
440
- isValid: boolean;
441
- error?: string;
442
- };
443
- /**
444
- * Type guard to check if a GitObject is a BlobObject.
445
- *
446
- * @description
447
- * Narrows the type of a GitObject to BlobObject based on the type field.
448
- *
449
- * @param obj - The Git object to check
450
- * @returns True if the object is a blob, false otherwise
451
- *
452
- * @example
453
- * ```typescript
454
- * const obj: GitObject = getObject(sha)
455
- * if (isBlob(obj)) {
456
- * // obj is now typed as BlobObject
457
- * const content = new TextDecoder().decode(obj.data)
458
- * }
459
- * ```
460
- */
461
- export declare function isBlob(obj: GitObject): obj is BlobObject;
462
- /**
463
- * Type guard to check if a GitObject is a TreeObject.
464
- *
465
- * @description
466
- * Narrows the type of a GitObject to TreeObject based on the type field.
467
- *
468
- * @param obj - The Git object to check
469
- * @returns True if the object is a tree, false otherwise
470
- *
471
- * @example
472
- * ```typescript
473
- * const obj: GitObject = getObject(sha)
474
- * if (isTree(obj)) {
475
- * // obj is now typed as TreeObject
476
- * for (const entry of obj.entries) {
477
- * console.log(entry.name, entry.mode)
478
- * }
479
- * }
480
- * ```
481
- */
482
- export declare function isTree(obj: GitObject): obj is TreeObject;
483
- /**
484
- * Type guard to check if a GitObject is a CommitObject.
485
- *
486
- * @description
487
- * Narrows the type of a GitObject to CommitObject based on the type field.
488
- *
489
- * @param obj - The Git object to check
490
- * @returns True if the object is a commit, false otherwise
491
- *
492
- * @example
493
- * ```typescript
494
- * const obj: GitObject = getObject(sha)
495
- * if (isCommit(obj)) {
496
- * // obj is now typed as CommitObject
497
- * console.log(obj.message, obj.author.name)
498
- * }
499
- * ```
500
- */
501
- export declare function isCommit(obj: GitObject): obj is CommitObject;
502
- /**
503
- * Type guard to check if a GitObject is a TagObject.
504
- *
505
- * @description
506
- * Narrows the type of a GitObject to TagObject based on the type field.
507
- *
508
- * @param obj - The Git object to check
509
- * @returns True if the object is a tag, false otherwise
510
- *
511
- * @example
512
- * ```typescript
513
- * const obj: GitObject = getObject(sha)
514
- * if (isTag(obj)) {
515
- * // obj is now typed as TagObject
516
- * console.log(obj.name, obj.message)
517
- * }
518
- * ```
519
- */
520
- export declare function isTag(obj: GitObject): obj is TagObject;
521
- /**
522
- * Serialize raw blob data into Git blob object format.
523
- *
524
- * @description
525
- * Creates a complete Git blob object with header: "blob {size}\0{content}"
526
- * This format is used for hashing and storage.
527
- *
528
- * @param data - Raw file content as binary data
529
- * @returns Complete blob object with Git header
530
- *
531
- * @example
532
- * ```typescript
533
- * const content = new TextEncoder().encode('Hello, World!')
534
- * const blob = serializeBlob(content)
535
- * // blob contains: "blob 13\0Hello, World!"
536
- *
537
- * // Hash it to get the SHA
538
- * const sha = await sha1(blob)
539
- * ```
540
- */
541
- export declare function serializeBlob(data: Uint8Array): Uint8Array;
542
- /**
543
- * Serialize tree entries into Git tree object format.
544
- *
545
- * @description
546
- * Creates a complete Git tree object with header and sorted entries.
547
- * Each entry format: "{mode} {name}\0{20-byte-sha}"
548
- * Entries are sorted by name with directories treated as having trailing slashes.
549
- *
550
- * @param entries - Array of tree entries to serialize
551
- * @returns Complete tree object with Git header
552
- *
553
- * @example
554
- * ```typescript
555
- * const entries: TreeEntry[] = [
556
- * { mode: '100644', name: 'file.txt', sha: 'abc...' },
557
- * { mode: '040000', name: 'src', sha: 'def...' }
558
- * ]
559
- * const tree = serializeTree(entries)
560
- * const sha = await sha1(tree)
561
- * ```
562
- */
563
- export declare function serializeTree(entries: TreeEntry[]): Uint8Array;
564
- /**
565
- * Serialize commit data into Git commit object format.
566
- *
567
- * @description
568
- * Creates a complete Git commit object with header and formatted content.
569
- * The content includes tree SHA, parent SHAs, author, committer, and message.
570
- *
571
- * @param commit - Commit data (without 'type' and 'data' fields)
572
- * @returns Complete commit object with Git header
573
- *
574
- * @example
575
- * ```typescript
576
- * const commit = serializeCommit({
577
- * tree: 'abc123...',
578
- * parents: ['parent1...'],
579
- * author: { name: 'Alice', email: 'alice@example.com', timestamp: 1704067200, timezone: '+0000' },
580
- * committer: { name: 'Alice', email: 'alice@example.com', timestamp: 1704067200, timezone: '+0000' },
581
- * message: 'Initial commit'
582
- * })
583
- * const sha = await sha1(commit)
584
- * ```
585
- */
586
- export declare function serializeCommit(commit: Omit<CommitObject, 'type' | 'data'>): Uint8Array;
587
- /**
588
- * Serialize tag data into Git tag object format.
589
- *
590
- * @description
591
- * Creates a complete Git tag object with header and formatted content.
592
- * The content includes object SHA, object type, tag name, tagger (optional), and message.
593
- *
594
- * @param tag - Tag data (without 'type' and 'data' fields)
595
- * @returns Complete tag object with Git header
596
- *
597
- * @example
598
- * ```typescript
599
- * const tag = serializeTag({
600
- * object: 'commitsha...',
601
- * objectType: 'commit',
602
- * name: 'v1.0.0',
603
- * tagger: { name: 'Bob', email: 'bob@example.com', timestamp: 1704067200, timezone: '+0000' },
604
- * message: 'Release v1.0.0'
605
- * })
606
- * const sha = await sha1(tag)
607
- * ```
608
- */
609
- export declare function serializeTag(tag: Omit<TagObject, 'type' | 'data'>): Uint8Array;
610
- /**
611
- * Parse a Git blob object from its serialized format.
612
- *
613
- * @description
614
- * Parses a complete Git blob object (with header) back into a BlobObject.
615
- * Validates the header format and extracts the content.
616
- *
617
- * @param data - Complete blob object data including Git header
618
- * @returns Parsed BlobObject
619
- * @throws Error if the data is not a valid blob object (missing null byte or invalid header)
620
- *
621
- * @example
622
- * ```typescript
623
- * const rawBlob = await storage.getObject(sha)
624
- * const blob = parseBlob(rawBlob)
625
- * const content = new TextDecoder().decode(blob.data)
626
- * ```
627
- */
628
- export declare function parseBlob(data: Uint8Array): BlobObject;
629
- /**
630
- * Parse a Git tree object from its serialized format.
631
- *
632
- * @description
633
- * Parses a complete Git tree object (with header) back into a TreeObject.
634
- * Extracts all tree entries with their modes, names, and SHA references.
635
- *
636
- * @param data - Complete tree object data including Git header
637
- * @returns Parsed TreeObject with entries array
638
- * @throws Error if the data is not a valid tree object (missing null byte or invalid header)
639
- *
640
- * @example
641
- * ```typescript
642
- * const rawTree = await storage.getObject(sha)
643
- * const tree = parseTree(rawTree)
644
- * for (const entry of tree.entries) {
645
- * console.log(`${entry.mode} ${entry.name} ${entry.sha}`)
646
- * }
647
- * ```
648
- */
649
- export declare function parseTree(data: Uint8Array): TreeObject;
650
- /**
651
- * Parse a Git commit object from its serialized format.
652
- *
653
- * @description
654
- * Parses a complete Git commit object (with header) back into a CommitObject.
655
- * Extracts tree SHA, parent SHAs, author, committer, and message.
656
- *
657
- * @param data - Complete commit object data including Git header
658
- * @returns Parsed CommitObject
659
- * @throws Error if the data is not a valid commit object (missing null byte, invalid header, or missing author/committer)
660
- *
661
- * @example
662
- * ```typescript
663
- * const rawCommit = await storage.getObject(sha)
664
- * const commit = parseCommit(rawCommit)
665
- * console.log(`Author: ${commit.author.name}`)
666
- * console.log(`Message: ${commit.message}`)
667
- * console.log(`Parents: ${commit.parents.length}`)
668
- * ```
669
- */
670
- export declare function parseCommit(data: Uint8Array): CommitObject;
671
- /**
672
- * Parse a Git tag object from its serialized format.
673
- *
674
- * @description
675
- * Parses a complete Git tag object (with header) back into a TagObject.
676
- * Extracts object SHA, object type, tag name, tagger, and message.
677
- *
678
- * @param data - Complete tag object data including Git header
679
- * @returns Parsed TagObject
680
- * @throws Error if the data is not a valid tag object (missing null byte, invalid header, or missing tagger)
681
- *
682
- * @example
683
- * ```typescript
684
- * const rawTag = await storage.getObject(sha)
685
- * const tag = parseTag(rawTag)
686
- * console.log(`Tag: ${tag.name}`)
687
- * console.log(`Points to: ${tag.object} (${tag.objectType})`)
688
- * console.log(`Message: ${tag.message}`)
689
- * ```
690
- */
691
- export declare function parseTag(data: Uint8Array): TagObject;
692
- //# sourceMappingURL=objects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/types/objects.ts"],"names":[],"mappings":"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"}