gitx.do 0.1.1 → 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 (356) 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 +14 -469
  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 -176
  20. package/dist/cli/commands/add.d.ts.map +0 -1
  21. package/dist/cli/commands/add.js +0 -979
  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/checkout.d.ts +0 -73
  32. package/dist/cli/commands/checkout.d.ts.map +0 -1
  33. package/dist/cli/commands/checkout.js +0 -725
  34. package/dist/cli/commands/checkout.js.map +0 -1
  35. package/dist/cli/commands/commit.d.ts +0 -182
  36. package/dist/cli/commands/commit.d.ts.map +0 -1
  37. package/dist/cli/commands/commit.js +0 -457
  38. package/dist/cli/commands/commit.js.map +0 -1
  39. package/dist/cli/commands/diff.d.ts +0 -464
  40. package/dist/cli/commands/diff.d.ts.map +0 -1
  41. package/dist/cli/commands/diff.js +0 -959
  42. package/dist/cli/commands/diff.js.map +0 -1
  43. package/dist/cli/commands/log.d.ts +0 -239
  44. package/dist/cli/commands/log.d.ts.map +0 -1
  45. package/dist/cli/commands/log.js +0 -535
  46. package/dist/cli/commands/log.js.map +0 -1
  47. package/dist/cli/commands/merge.d.ts +0 -106
  48. package/dist/cli/commands/merge.d.ts.map +0 -1
  49. package/dist/cli/commands/merge.js +0 -852
  50. package/dist/cli/commands/merge.js.map +0 -1
  51. package/dist/cli/commands/review.d.ts +0 -457
  52. package/dist/cli/commands/review.d.ts.map +0 -1
  53. package/dist/cli/commands/review.js +0 -558
  54. package/dist/cli/commands/review.js.map +0 -1
  55. package/dist/cli/commands/stash.d.ts +0 -157
  56. package/dist/cli/commands/stash.d.ts.map +0 -1
  57. package/dist/cli/commands/stash.js +0 -655
  58. package/dist/cli/commands/stash.js.map +0 -1
  59. package/dist/cli/commands/status.d.ts +0 -269
  60. package/dist/cli/commands/status.d.ts.map +0 -1
  61. package/dist/cli/commands/status.js +0 -492
  62. package/dist/cli/commands/status.js.map +0 -1
  63. package/dist/cli/commands/web.d.ts +0 -199
  64. package/dist/cli/commands/web.d.ts.map +0 -1
  65. package/dist/cli/commands/web.js +0 -697
  66. package/dist/cli/commands/web.js.map +0 -1
  67. package/dist/cli/fs-adapter.d.ts +0 -656
  68. package/dist/cli/fs-adapter.d.ts.map +0 -1
  69. package/dist/cli/fs-adapter.js +0 -1177
  70. package/dist/cli/fs-adapter.js.map +0 -1
  71. package/dist/cli/fsx-cli-adapter.d.ts +0 -359
  72. package/dist/cli/fsx-cli-adapter.d.ts.map +0 -1
  73. package/dist/cli/fsx-cli-adapter.js +0 -619
  74. package/dist/cli/fsx-cli-adapter.js.map +0 -1
  75. package/dist/cli/index.d.ts +0 -387
  76. package/dist/cli/index.d.ts.map +0 -1
  77. package/dist/cli/index.js +0 -579
  78. package/dist/cli/index.js.map +0 -1
  79. package/dist/cli/ui/components/DiffView.d.ts +0 -12
  80. package/dist/cli/ui/components/DiffView.d.ts.map +0 -1
  81. package/dist/cli/ui/components/DiffView.js +0 -11
  82. package/dist/cli/ui/components/DiffView.js.map +0 -1
  83. package/dist/cli/ui/components/ErrorDisplay.d.ts +0 -10
  84. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +0 -1
  85. package/dist/cli/ui/components/ErrorDisplay.js +0 -11
  86. package/dist/cli/ui/components/ErrorDisplay.js.map +0 -1
  87. package/dist/cli/ui/components/FuzzySearch.d.ts +0 -15
  88. package/dist/cli/ui/components/FuzzySearch.d.ts.map +0 -1
  89. package/dist/cli/ui/components/FuzzySearch.js +0 -12
  90. package/dist/cli/ui/components/FuzzySearch.js.map +0 -1
  91. package/dist/cli/ui/components/LoadingSpinner.d.ts +0 -10
  92. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +0 -1
  93. package/dist/cli/ui/components/LoadingSpinner.js +0 -10
  94. package/dist/cli/ui/components/LoadingSpinner.js.map +0 -1
  95. package/dist/cli/ui/components/NavigationList.d.ts +0 -14
  96. package/dist/cli/ui/components/NavigationList.d.ts.map +0 -1
  97. package/dist/cli/ui/components/NavigationList.js +0 -11
  98. package/dist/cli/ui/components/NavigationList.js.map +0 -1
  99. package/dist/cli/ui/components/ScrollableContent.d.ts +0 -13
  100. package/dist/cli/ui/components/ScrollableContent.d.ts.map +0 -1
  101. package/dist/cli/ui/components/ScrollableContent.js +0 -11
  102. package/dist/cli/ui/components/ScrollableContent.js.map +0 -1
  103. package/dist/cli/ui/components/index.d.ts +0 -7
  104. package/dist/cli/ui/components/index.d.ts.map +0 -1
  105. package/dist/cli/ui/components/index.js +0 -9
  106. package/dist/cli/ui/components/index.js.map +0 -1
  107. package/dist/cli/ui/terminal-ui.d.ts +0 -85
  108. package/dist/cli/ui/terminal-ui.d.ts.map +0 -1
  109. package/dist/cli/ui/terminal-ui.js +0 -121
  110. package/dist/cli/ui/terminal-ui.js.map +0 -1
  111. package/dist/do/BashModule.d.ts +0 -871
  112. package/dist/do/BashModule.d.ts.map +0 -1
  113. package/dist/do/BashModule.js +0 -1143
  114. package/dist/do/BashModule.js.map +0 -1
  115. package/dist/do/FsModule.d.ts +0 -612
  116. package/dist/do/FsModule.d.ts.map +0 -1
  117. package/dist/do/FsModule.js +0 -1120
  118. package/dist/do/FsModule.js.map +0 -1
  119. package/dist/do/GitModule.d.ts +0 -635
  120. package/dist/do/GitModule.d.ts.map +0 -1
  121. package/dist/do/GitModule.js +0 -784
  122. package/dist/do/GitModule.js.map +0 -1
  123. package/dist/do/GitRepoDO.d.ts +0 -281
  124. package/dist/do/GitRepoDO.d.ts.map +0 -1
  125. package/dist/do/GitRepoDO.js +0 -479
  126. package/dist/do/GitRepoDO.js.map +0 -1
  127. package/dist/do/bash-ast.d.ts +0 -246
  128. package/dist/do/bash-ast.d.ts.map +0 -1
  129. package/dist/do/bash-ast.js +0 -888
  130. package/dist/do/bash-ast.js.map +0 -1
  131. package/dist/do/container-executor.d.ts +0 -491
  132. package/dist/do/container-executor.d.ts.map +0 -1
  133. package/dist/do/container-executor.js +0 -731
  134. package/dist/do/container-executor.js.map +0 -1
  135. package/dist/do/index.d.ts +0 -53
  136. package/dist/do/index.d.ts.map +0 -1
  137. package/dist/do/index.js +0 -91
  138. package/dist/do/index.js.map +0 -1
  139. package/dist/do/tiered-storage.d.ts +0 -403
  140. package/dist/do/tiered-storage.d.ts.map +0 -1
  141. package/dist/do/tiered-storage.js +0 -689
  142. package/dist/do/tiered-storage.js.map +0 -1
  143. package/dist/do/withBash.d.ts +0 -231
  144. package/dist/do/withBash.d.ts.map +0 -1
  145. package/dist/do/withBash.js +0 -244
  146. package/dist/do/withBash.js.map +0 -1
  147. package/dist/do/withFs.d.ts +0 -237
  148. package/dist/do/withFs.d.ts.map +0 -1
  149. package/dist/do/withFs.js +0 -387
  150. package/dist/do/withFs.js.map +0 -1
  151. package/dist/do/withGit.d.ts +0 -180
  152. package/dist/do/withGit.d.ts.map +0 -1
  153. package/dist/do/withGit.js +0 -271
  154. package/dist/do/withGit.js.map +0 -1
  155. package/dist/durable-object/object-store.d.ts +0 -633
  156. package/dist/durable-object/object-store.d.ts.map +0 -1
  157. package/dist/durable-object/object-store.js +0 -1164
  158. package/dist/durable-object/object-store.js.map +0 -1
  159. package/dist/durable-object/schema.d.ts.map +0 -1
  160. package/dist/durable-object/schema.js.map +0 -1
  161. package/dist/durable-object/wal.d.ts +0 -416
  162. package/dist/durable-object/wal.d.ts.map +0 -1
  163. package/dist/durable-object/wal.js +0 -445
  164. package/dist/durable-object/wal.js.map +0 -1
  165. package/dist/mcp/adapter.d.ts +0 -772
  166. package/dist/mcp/adapter.d.ts.map +0 -1
  167. package/dist/mcp/adapter.js +0 -895
  168. package/dist/mcp/adapter.js.map +0 -1
  169. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -22
  170. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  171. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -140
  172. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  173. package/dist/mcp/sandbox/object-store-proxy.d.ts +0 -32
  174. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +0 -1
  175. package/dist/mcp/sandbox/object-store-proxy.js +0 -30
  176. package/dist/mcp/sandbox/object-store-proxy.js.map +0 -1
  177. package/dist/mcp/sandbox/template.d.ts +0 -17
  178. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  179. package/dist/mcp/sandbox/template.js +0 -71
  180. package/dist/mcp/sandbox/template.js.map +0 -1
  181. package/dist/mcp/sandbox.d.ts +0 -764
  182. package/dist/mcp/sandbox.d.ts.map +0 -1
  183. package/dist/mcp/sandbox.js +0 -1362
  184. package/dist/mcp/sandbox.js.map +0 -1
  185. package/dist/mcp/sdk-adapter.d.ts +0 -835
  186. package/dist/mcp/sdk-adapter.d.ts.map +0 -1
  187. package/dist/mcp/sdk-adapter.js +0 -974
  188. package/dist/mcp/sdk-adapter.js.map +0 -1
  189. package/dist/mcp/tools/do.d.ts +0 -32
  190. package/dist/mcp/tools/do.d.ts.map +0 -1
  191. package/dist/mcp/tools/do.js +0 -117
  192. package/dist/mcp/tools/do.js.map +0 -1
  193. package/dist/mcp/tools.d.ts +0 -548
  194. package/dist/mcp/tools.d.ts.map +0 -1
  195. package/dist/mcp/tools.js +0 -3170
  196. package/dist/mcp/tools.js.map +0 -1
  197. package/dist/ops/blame.d.ts +0 -551
  198. package/dist/ops/blame.d.ts.map +0 -1
  199. package/dist/ops/blame.js +0 -1037
  200. package/dist/ops/blame.js.map +0 -1
  201. package/dist/ops/branch.d.ts +0 -766
  202. package/dist/ops/branch.d.ts.map +0 -1
  203. package/dist/ops/branch.js +0 -950
  204. package/dist/ops/branch.js.map +0 -1
  205. package/dist/ops/commit-traversal.d.ts +0 -349
  206. package/dist/ops/commit-traversal.d.ts.map +0 -1
  207. package/dist/ops/commit-traversal.js +0 -821
  208. package/dist/ops/commit-traversal.js.map +0 -1
  209. package/dist/ops/commit.d.ts +0 -555
  210. package/dist/ops/commit.d.ts.map +0 -1
  211. package/dist/ops/commit.js +0 -826
  212. package/dist/ops/commit.js.map +0 -1
  213. package/dist/ops/merge-base.d.ts +0 -397
  214. package/dist/ops/merge-base.d.ts.map +0 -1
  215. package/dist/ops/merge-base.js +0 -691
  216. package/dist/ops/merge-base.js.map +0 -1
  217. package/dist/ops/merge.d.ts +0 -855
  218. package/dist/ops/merge.d.ts.map +0 -1
  219. package/dist/ops/merge.js +0 -1551
  220. package/dist/ops/merge.js.map +0 -1
  221. package/dist/ops/tag.d.ts +0 -247
  222. package/dist/ops/tag.d.ts.map +0 -1
  223. package/dist/ops/tag.js +0 -649
  224. package/dist/ops/tag.js.map +0 -1
  225. package/dist/ops/tree-builder.d.ts +0 -178
  226. package/dist/ops/tree-builder.d.ts.map +0 -1
  227. package/dist/ops/tree-builder.js +0 -271
  228. package/dist/ops/tree-builder.js.map +0 -1
  229. package/dist/ops/tree-diff.d.ts +0 -291
  230. package/dist/ops/tree-diff.d.ts.map +0 -1
  231. package/dist/ops/tree-diff.js +0 -705
  232. package/dist/ops/tree-diff.js.map +0 -1
  233. package/dist/pack/delta.d.ts +0 -248
  234. package/dist/pack/delta.d.ts.map +0 -1
  235. package/dist/pack/delta.js +0 -740
  236. package/dist/pack/delta.js.map +0 -1
  237. package/dist/pack/format.d.ts +0 -446
  238. package/dist/pack/format.d.ts.map +0 -1
  239. package/dist/pack/format.js +0 -572
  240. package/dist/pack/format.js.map +0 -1
  241. package/dist/pack/full-generation.d.ts +0 -612
  242. package/dist/pack/full-generation.d.ts.map +0 -1
  243. package/dist/pack/full-generation.js +0 -1378
  244. package/dist/pack/full-generation.js.map +0 -1
  245. package/dist/pack/generation.d.ts +0 -441
  246. package/dist/pack/generation.d.ts.map +0 -1
  247. package/dist/pack/generation.js +0 -707
  248. package/dist/pack/generation.js.map +0 -1
  249. package/dist/pack/index.d.ts +0 -502
  250. package/dist/pack/index.d.ts.map +0 -1
  251. package/dist/pack/index.js +0 -833
  252. package/dist/pack/index.js.map +0 -1
  253. package/dist/refs/branch.d.ts +0 -683
  254. package/dist/refs/branch.d.ts.map +0 -1
  255. package/dist/refs/branch.js +0 -881
  256. package/dist/refs/branch.js.map +0 -1
  257. package/dist/refs/storage.d.ts +0 -833
  258. package/dist/refs/storage.d.ts.map +0 -1
  259. package/dist/refs/storage.js +0 -1023
  260. package/dist/refs/storage.js.map +0 -1
  261. package/dist/refs/tag.d.ts +0 -860
  262. package/dist/refs/tag.d.ts.map +0 -1
  263. package/dist/refs/tag.js +0 -996
  264. package/dist/refs/tag.js.map +0 -1
  265. package/dist/storage/backend.d.ts +0 -425
  266. package/dist/storage/backend.d.ts.map +0 -1
  267. package/dist/storage/backend.js +0 -41
  268. package/dist/storage/backend.js.map +0 -1
  269. package/dist/storage/fsx-adapter.d.ts +0 -204
  270. package/dist/storage/fsx-adapter.d.ts.map +0 -1
  271. package/dist/storage/fsx-adapter.js +0 -518
  272. package/dist/storage/fsx-adapter.js.map +0 -1
  273. package/dist/storage/lru-cache.d.ts +0 -691
  274. package/dist/storage/lru-cache.d.ts.map +0 -1
  275. package/dist/storage/lru-cache.js +0 -813
  276. package/dist/storage/lru-cache.js.map +0 -1
  277. package/dist/storage/object-index.d.ts +0 -585
  278. package/dist/storage/object-index.d.ts.map +0 -1
  279. package/dist/storage/object-index.js +0 -532
  280. package/dist/storage/object-index.js.map +0 -1
  281. package/dist/storage/r2-pack.d.ts +0 -1257
  282. package/dist/storage/r2-pack.d.ts.map +0 -1
  283. package/dist/storage/r2-pack.js +0 -1773
  284. package/dist/storage/r2-pack.js.map +0 -1
  285. package/dist/tiered/cdc-pipeline.d.ts +0 -1888
  286. package/dist/tiered/cdc-pipeline.d.ts.map +0 -1
  287. package/dist/tiered/cdc-pipeline.js +0 -1880
  288. package/dist/tiered/cdc-pipeline.js.map +0 -1
  289. package/dist/tiered/migration.d.ts +0 -1104
  290. package/dist/tiered/migration.d.ts.map +0 -1
  291. package/dist/tiered/migration.js +0 -1217
  292. package/dist/tiered/migration.js.map +0 -1
  293. package/dist/tiered/parquet-writer.d.ts +0 -1145
  294. package/dist/tiered/parquet-writer.d.ts.map +0 -1
  295. package/dist/tiered/parquet-writer.js +0 -1183
  296. package/dist/tiered/parquet-writer.js.map +0 -1
  297. package/dist/tiered/read-path.d.ts +0 -835
  298. package/dist/tiered/read-path.d.ts.map +0 -1
  299. package/dist/tiered/read-path.js +0 -487
  300. package/dist/tiered/read-path.js.map +0 -1
  301. package/dist/types/capability.d.ts +0 -1385
  302. package/dist/types/capability.d.ts.map +0 -1
  303. package/dist/types/capability.js +0 -36
  304. package/dist/types/capability.js.map +0 -1
  305. package/dist/types/index.d.ts +0 -13
  306. package/dist/types/index.d.ts.map +0 -1
  307. package/dist/types/index.js +0 -18
  308. package/dist/types/index.js.map +0 -1
  309. package/dist/types/interfaces.d.ts +0 -673
  310. package/dist/types/interfaces.d.ts.map +0 -1
  311. package/dist/types/interfaces.js +0 -26
  312. package/dist/types/interfaces.js.map +0 -1
  313. package/dist/types/objects.d.ts +0 -692
  314. package/dist/types/objects.d.ts.map +0 -1
  315. package/dist/types/objects.js +0 -837
  316. package/dist/types/objects.js.map +0 -1
  317. package/dist/types/storage.d.ts +0 -603
  318. package/dist/types/storage.d.ts.map +0 -1
  319. package/dist/types/storage.js +0 -191
  320. package/dist/types/storage.js.map +0 -1
  321. package/dist/types/worker-loader.d.ts +0 -60
  322. package/dist/types/worker-loader.d.ts.map +0 -1
  323. package/dist/types/worker-loader.js +0 -62
  324. package/dist/types/worker-loader.js.map +0 -1
  325. package/dist/utils/hash.d.ts +0 -198
  326. package/dist/utils/hash.d.ts.map +0 -1
  327. package/dist/utils/hash.js +0 -272
  328. package/dist/utils/hash.js.map +0 -1
  329. package/dist/utils/sha1.d.ts +0 -325
  330. package/dist/utils/sha1.d.ts.map +0 -1
  331. package/dist/utils/sha1.js +0 -635
  332. package/dist/utils/sha1.js.map +0 -1
  333. package/dist/wire/capabilities.d.ts +0 -1044
  334. package/dist/wire/capabilities.d.ts.map +0 -1
  335. package/dist/wire/capabilities.js +0 -941
  336. package/dist/wire/capabilities.js.map +0 -1
  337. package/dist/wire/path-security.d.ts +0 -157
  338. package/dist/wire/path-security.d.ts.map +0 -1
  339. package/dist/wire/path-security.js +0 -307
  340. package/dist/wire/path-security.js.map +0 -1
  341. package/dist/wire/pkt-line.d.ts +0 -345
  342. package/dist/wire/pkt-line.d.ts.map +0 -1
  343. package/dist/wire/pkt-line.js +0 -381
  344. package/dist/wire/pkt-line.js.map +0 -1
  345. package/dist/wire/receive-pack.d.ts +0 -1059
  346. package/dist/wire/receive-pack.d.ts.map +0 -1
  347. package/dist/wire/receive-pack.js +0 -1414
  348. package/dist/wire/receive-pack.js.map +0 -1
  349. package/dist/wire/smart-http.d.ts +0 -799
  350. package/dist/wire/smart-http.d.ts.map +0 -1
  351. package/dist/wire/smart-http.js +0 -945
  352. package/dist/wire/smart-http.js.map +0 -1
  353. package/dist/wire/upload-pack.d.ts +0 -727
  354. package/dist/wire/upload-pack.d.ts.map +0 -1
  355. package/dist/wire/upload-pack.js +0 -1141
  356. package/dist/wire/upload-pack.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -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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"}