gitx.do 0.0.2 → 0.1.0

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 (334) hide show
  1. package/README.md +319 -92
  2. package/dist/cli/commands/add.d.ts +174 -0
  3. package/dist/cli/commands/add.d.ts.map +1 -0
  4. package/dist/cli/commands/add.js +131 -0
  5. package/dist/cli/commands/add.js.map +1 -0
  6. package/dist/cli/commands/blame.d.ts +259 -0
  7. package/dist/cli/commands/blame.d.ts.map +1 -0
  8. package/dist/cli/commands/blame.js +609 -0
  9. package/dist/cli/commands/blame.js.map +1 -0
  10. package/dist/cli/commands/branch.d.ts +249 -0
  11. package/dist/cli/commands/branch.d.ts.map +1 -0
  12. package/dist/cli/commands/branch.js +693 -0
  13. package/dist/cli/commands/branch.js.map +1 -0
  14. package/dist/cli/commands/commit.d.ts +182 -0
  15. package/dist/cli/commands/commit.d.ts.map +1 -0
  16. package/dist/cli/commands/commit.js +437 -0
  17. package/dist/cli/commands/commit.js.map +1 -0
  18. package/dist/cli/commands/diff.d.ts +464 -0
  19. package/dist/cli/commands/diff.d.ts.map +1 -0
  20. package/dist/cli/commands/diff.js +958 -0
  21. package/dist/cli/commands/diff.js.map +1 -0
  22. package/dist/cli/commands/log.d.ts +239 -0
  23. package/dist/cli/commands/log.d.ts.map +1 -0
  24. package/dist/cli/commands/log.js +535 -0
  25. package/dist/cli/commands/log.js.map +1 -0
  26. package/dist/cli/commands/merge.d.ts +106 -0
  27. package/dist/cli/commands/merge.d.ts.map +1 -0
  28. package/dist/cli/commands/merge.js +55 -0
  29. package/dist/cli/commands/merge.js.map +1 -0
  30. package/dist/cli/commands/review.d.ts +457 -0
  31. package/dist/cli/commands/review.d.ts.map +1 -0
  32. package/dist/cli/commands/review.js +533 -0
  33. package/dist/cli/commands/review.js.map +1 -0
  34. package/dist/cli/commands/status.d.ts +269 -0
  35. package/dist/cli/commands/status.d.ts.map +1 -0
  36. package/dist/cli/commands/status.js +493 -0
  37. package/dist/cli/commands/status.js.map +1 -0
  38. package/dist/cli/commands/web.d.ts +199 -0
  39. package/dist/cli/commands/web.d.ts.map +1 -0
  40. package/dist/cli/commands/web.js +696 -0
  41. package/dist/cli/commands/web.js.map +1 -0
  42. package/dist/cli/fs-adapter.d.ts +656 -0
  43. package/dist/cli/fs-adapter.d.ts.map +1 -0
  44. package/dist/cli/fs-adapter.js +1179 -0
  45. package/dist/cli/fs-adapter.js.map +1 -0
  46. package/dist/cli/fsx-cli-adapter.d.ts +359 -0
  47. package/dist/cli/fsx-cli-adapter.d.ts.map +1 -0
  48. package/dist/cli/fsx-cli-adapter.js +619 -0
  49. package/dist/cli/fsx-cli-adapter.js.map +1 -0
  50. package/dist/cli/index.d.ts +387 -0
  51. package/dist/cli/index.d.ts.map +1 -0
  52. package/dist/cli/index.js +523 -0
  53. package/dist/cli/index.js.map +1 -0
  54. package/dist/cli/ui/components/DiffView.d.ts +7 -0
  55. package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
  56. package/dist/cli/ui/components/DiffView.js +11 -0
  57. package/dist/cli/ui/components/DiffView.js.map +1 -0
  58. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
  59. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
  60. package/dist/cli/ui/components/ErrorDisplay.js +11 -0
  61. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
  62. package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
  63. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
  64. package/dist/cli/ui/components/FuzzySearch.js +12 -0
  65. package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
  66. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
  67. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
  68. package/dist/cli/ui/components/LoadingSpinner.js +10 -0
  69. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
  70. package/dist/cli/ui/components/NavigationList.d.ts +9 -0
  71. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
  72. package/dist/cli/ui/components/NavigationList.js +11 -0
  73. package/dist/cli/ui/components/NavigationList.js.map +1 -0
  74. package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
  75. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
  76. package/dist/cli/ui/components/ScrollableContent.js +11 -0
  77. package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
  78. package/dist/cli/ui/components/index.d.ts +7 -0
  79. package/dist/cli/ui/components/index.d.ts.map +1 -0
  80. package/dist/cli/ui/components/index.js +9 -0
  81. package/dist/cli/ui/components/index.js.map +1 -0
  82. package/dist/cli/ui/terminal-ui.d.ts +52 -0
  83. package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
  84. package/dist/cli/ui/terminal-ui.js +121 -0
  85. package/dist/cli/ui/terminal-ui.js.map +1 -0
  86. package/dist/do/BashModule.d.ts +871 -0
  87. package/dist/do/BashModule.d.ts.map +1 -0
  88. package/dist/do/BashModule.js +1143 -0
  89. package/dist/do/BashModule.js.map +1 -0
  90. package/dist/do/FsModule.d.ts +601 -0
  91. package/dist/do/FsModule.d.ts.map +1 -0
  92. package/dist/do/FsModule.js +1120 -0
  93. package/dist/do/FsModule.js.map +1 -0
  94. package/dist/do/GitModule.d.ts +635 -0
  95. package/dist/do/GitModule.d.ts.map +1 -0
  96. package/dist/do/GitModule.js +781 -0
  97. package/dist/do/GitModule.js.map +1 -0
  98. package/dist/do/GitRepoDO.d.ts +281 -0
  99. package/dist/do/GitRepoDO.d.ts.map +1 -0
  100. package/dist/do/GitRepoDO.js +479 -0
  101. package/dist/do/GitRepoDO.js.map +1 -0
  102. package/dist/do/bash-ast.d.ts +246 -0
  103. package/dist/do/bash-ast.d.ts.map +1 -0
  104. package/dist/do/bash-ast.js +888 -0
  105. package/dist/do/bash-ast.js.map +1 -0
  106. package/dist/do/container-executor.d.ts +491 -0
  107. package/dist/do/container-executor.d.ts.map +1 -0
  108. package/dist/do/container-executor.js +730 -0
  109. package/dist/do/container-executor.js.map +1 -0
  110. package/dist/do/index.d.ts +53 -0
  111. package/dist/do/index.d.ts.map +1 -0
  112. package/dist/do/index.js +91 -0
  113. package/dist/do/index.js.map +1 -0
  114. package/dist/do/tiered-storage.d.ts +403 -0
  115. package/dist/do/tiered-storage.d.ts.map +1 -0
  116. package/dist/do/tiered-storage.js +689 -0
  117. package/dist/do/tiered-storage.js.map +1 -0
  118. package/dist/do/withBash.d.ts +231 -0
  119. package/dist/do/withBash.d.ts.map +1 -0
  120. package/dist/do/withBash.js +244 -0
  121. package/dist/do/withBash.js.map +1 -0
  122. package/dist/do/withFs.d.ts +237 -0
  123. package/dist/do/withFs.d.ts.map +1 -0
  124. package/dist/do/withFs.js +387 -0
  125. package/dist/do/withFs.js.map +1 -0
  126. package/dist/do/withGit.d.ts +180 -0
  127. package/dist/do/withGit.d.ts.map +1 -0
  128. package/dist/do/withGit.js +271 -0
  129. package/dist/do/withGit.js.map +1 -0
  130. package/dist/durable-object/object-store.d.ts +545 -25
  131. package/dist/durable-object/object-store.d.ts.map +1 -1
  132. package/dist/durable-object/object-store.js +833 -59
  133. package/dist/durable-object/object-store.js.map +1 -1
  134. package/dist/durable-object/schema.d.ts +200 -1
  135. package/dist/durable-object/schema.d.ts.map +1 -1
  136. package/dist/durable-object/schema.js +247 -2
  137. package/dist/durable-object/schema.js.map +1 -1
  138. package/dist/durable-object/wal.d.ts +336 -31
  139. package/dist/durable-object/wal.d.ts.map +1 -1
  140. package/dist/durable-object/wal.js +272 -27
  141. package/dist/durable-object/wal.js.map +1 -1
  142. package/dist/index.d.ts +408 -4
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +413 -7
  145. package/dist/index.js.map +1 -1
  146. package/dist/mcp/adapter.d.ts +579 -38
  147. package/dist/mcp/adapter.d.ts.map +1 -1
  148. package/dist/mcp/adapter.js +426 -33
  149. package/dist/mcp/adapter.js.map +1 -1
  150. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +22 -0
  151. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +1 -0
  152. package/dist/mcp/sandbox/miniflare-evaluator.js +140 -0
  153. package/dist/mcp/sandbox/miniflare-evaluator.js.map +1 -0
  154. package/dist/mcp/sandbox/object-store-proxy.d.ts +32 -0
  155. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +1 -0
  156. package/dist/mcp/sandbox/object-store-proxy.js +30 -0
  157. package/dist/mcp/sandbox/object-store-proxy.js.map +1 -0
  158. package/dist/mcp/sandbox/template.d.ts +17 -0
  159. package/dist/mcp/sandbox/template.d.ts.map +1 -0
  160. package/dist/mcp/sandbox/template.js +71 -0
  161. package/dist/mcp/sandbox/template.js.map +1 -0
  162. package/dist/mcp/sandbox.d.ts +532 -29
  163. package/dist/mcp/sandbox.d.ts.map +1 -1
  164. package/dist/mcp/sandbox.js +405 -26
  165. package/dist/mcp/sandbox.js.map +1 -1
  166. package/dist/mcp/sdk-adapter.d.ts +478 -56
  167. package/dist/mcp/sdk-adapter.d.ts.map +1 -1
  168. package/dist/mcp/sdk-adapter.js +346 -44
  169. package/dist/mcp/sdk-adapter.js.map +1 -1
  170. package/dist/mcp/tools/do.d.ts +32 -0
  171. package/dist/mcp/tools/do.d.ts.map +1 -0
  172. package/dist/mcp/tools/do.js +115 -0
  173. package/dist/mcp/tools/do.js.map +1 -0
  174. package/dist/mcp/tools.d.ts +445 -30
  175. package/dist/mcp/tools.d.ts.map +1 -1
  176. package/dist/mcp/tools.js +363 -33
  177. package/dist/mcp/tools.js.map +1 -1
  178. package/dist/ops/blame.d.ts +424 -21
  179. package/dist/ops/blame.d.ts.map +1 -1
  180. package/dist/ops/blame.js +303 -20
  181. package/dist/ops/blame.js.map +1 -1
  182. package/dist/ops/branch.d.ts +583 -32
  183. package/dist/ops/branch.d.ts.map +1 -1
  184. package/dist/ops/branch.js +365 -23
  185. package/dist/ops/branch.js.map +1 -1
  186. package/dist/ops/commit-traversal.d.ts +164 -24
  187. package/dist/ops/commit-traversal.d.ts.map +1 -1
  188. package/dist/ops/commit-traversal.js +68 -2
  189. package/dist/ops/commit-traversal.js.map +1 -1
  190. package/dist/ops/commit.d.ts +387 -53
  191. package/dist/ops/commit.d.ts.map +1 -1
  192. package/dist/ops/commit.js +249 -29
  193. package/dist/ops/commit.js.map +1 -1
  194. package/dist/ops/merge-base.d.ts +195 -21
  195. package/dist/ops/merge-base.d.ts.map +1 -1
  196. package/dist/ops/merge-base.js +122 -12
  197. package/dist/ops/merge-base.js.map +1 -1
  198. package/dist/ops/merge.d.ts +600 -130
  199. package/dist/ops/merge.d.ts.map +1 -1
  200. package/dist/ops/merge.js +408 -60
  201. package/dist/ops/merge.js.map +1 -1
  202. package/dist/ops/tag.d.ts +67 -2
  203. package/dist/ops/tag.d.ts.map +1 -1
  204. package/dist/ops/tag.js +42 -1
  205. package/dist/ops/tag.js.map +1 -1
  206. package/dist/ops/tree-builder.d.ts +102 -6
  207. package/dist/ops/tree-builder.d.ts.map +1 -1
  208. package/dist/ops/tree-builder.js +30 -5
  209. package/dist/ops/tree-builder.js.map +1 -1
  210. package/dist/ops/tree-diff.d.ts +50 -2
  211. package/dist/ops/tree-diff.d.ts.map +1 -1
  212. package/dist/ops/tree-diff.js +50 -2
  213. package/dist/ops/tree-diff.js.map +1 -1
  214. package/dist/pack/delta.d.ts +219 -39
  215. package/dist/pack/delta.d.ts.map +1 -1
  216. package/dist/pack/delta.js +468 -75
  217. package/dist/pack/delta.js.map +1 -1
  218. package/dist/pack/format.d.ts +390 -28
  219. package/dist/pack/format.d.ts.map +1 -1
  220. package/dist/pack/format.js +344 -33
  221. package/dist/pack/format.js.map +1 -1
  222. package/dist/pack/full-generation.d.ts +313 -28
  223. package/dist/pack/full-generation.d.ts.map +1 -1
  224. package/dist/pack/full-generation.js +238 -19
  225. package/dist/pack/full-generation.js.map +1 -1
  226. package/dist/pack/generation.d.ts +346 -23
  227. package/dist/pack/generation.d.ts.map +1 -1
  228. package/dist/pack/generation.js +269 -21
  229. package/dist/pack/generation.js.map +1 -1
  230. package/dist/pack/index.d.ts +407 -86
  231. package/dist/pack/index.d.ts.map +1 -1
  232. package/dist/pack/index.js +351 -70
  233. package/dist/pack/index.js.map +1 -1
  234. package/dist/refs/branch.d.ts +534 -90
  235. package/dist/refs/branch.d.ts.map +1 -1
  236. package/dist/refs/branch.js +814 -87
  237. package/dist/refs/branch.js.map +1 -1
  238. package/dist/refs/storage.d.ts +684 -59
  239. package/dist/refs/storage.d.ts.map +1 -1
  240. package/dist/refs/storage.js +671 -69
  241. package/dist/refs/storage.js.map +1 -1
  242. package/dist/refs/tag.d.ts +721 -91
  243. package/dist/refs/tag.d.ts.map +1 -1
  244. package/dist/refs/tag.js +908 -100
  245. package/dist/refs/tag.js.map +1 -1
  246. package/dist/storage/backend.d.ts +425 -0
  247. package/dist/storage/backend.d.ts.map +1 -0
  248. package/dist/storage/backend.js +41 -0
  249. package/dist/storage/backend.js.map +1 -0
  250. package/dist/storage/fsx-adapter.d.ts +204 -0
  251. package/dist/storage/fsx-adapter.d.ts.map +1 -0
  252. package/dist/storage/fsx-adapter.js +470 -0
  253. package/dist/storage/fsx-adapter.js.map +1 -0
  254. package/dist/storage/lru-cache.d.ts +556 -53
  255. package/dist/storage/lru-cache.d.ts.map +1 -1
  256. package/dist/storage/lru-cache.js +439 -36
  257. package/dist/storage/lru-cache.js.map +1 -1
  258. package/dist/storage/object-index.d.ts +483 -38
  259. package/dist/storage/object-index.d.ts.map +1 -1
  260. package/dist/storage/object-index.js +388 -22
  261. package/dist/storage/object-index.js.map +1 -1
  262. package/dist/storage/r2-pack.d.ts +957 -94
  263. package/dist/storage/r2-pack.d.ts.map +1 -1
  264. package/dist/storage/r2-pack.js +756 -48
  265. package/dist/storage/r2-pack.js.map +1 -1
  266. package/dist/tiered/cdc-pipeline.d.ts +1610 -38
  267. package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
  268. package/dist/tiered/cdc-pipeline.js +1131 -22
  269. package/dist/tiered/cdc-pipeline.js.map +1 -1
  270. package/dist/tiered/migration.d.ts +903 -41
  271. package/dist/tiered/migration.d.ts.map +1 -1
  272. package/dist/tiered/migration.js +646 -24
  273. package/dist/tiered/migration.js.map +1 -1
  274. package/dist/tiered/parquet-writer.d.ts +944 -47
  275. package/dist/tiered/parquet-writer.d.ts.map +1 -1
  276. package/dist/tiered/parquet-writer.js +667 -39
  277. package/dist/tiered/parquet-writer.js.map +1 -1
  278. package/dist/tiered/read-path.d.ts +728 -34
  279. package/dist/tiered/read-path.d.ts.map +1 -1
  280. package/dist/tiered/read-path.js +310 -27
  281. package/dist/tiered/read-path.js.map +1 -1
  282. package/dist/types/capability.d.ts +1385 -0
  283. package/dist/types/capability.d.ts.map +1 -0
  284. package/dist/types/capability.js +36 -0
  285. package/dist/types/capability.js.map +1 -0
  286. package/dist/types/index.d.ts +13 -0
  287. package/dist/types/index.d.ts.map +1 -0
  288. package/dist/types/index.js +18 -0
  289. package/dist/types/index.js.map +1 -0
  290. package/dist/types/objects.d.ts +639 -0
  291. package/dist/types/objects.d.ts.map +1 -1
  292. package/dist/types/objects.js +554 -8
  293. package/dist/types/objects.js.map +1 -1
  294. package/dist/types/storage.d.ts +521 -35
  295. package/dist/types/storage.d.ts.map +1 -1
  296. package/dist/types/storage.js +187 -4
  297. package/dist/types/storage.js.map +1 -1
  298. package/dist/types/worker-loader.d.ts +60 -0
  299. package/dist/types/worker-loader.d.ts.map +1 -0
  300. package/dist/types/worker-loader.js +62 -0
  301. package/dist/types/worker-loader.js.map +1 -0
  302. package/dist/utils/hash.d.ts +186 -20
  303. package/dist/utils/hash.d.ts.map +1 -1
  304. package/dist/utils/hash.js +249 -41
  305. package/dist/utils/hash.js.map +1 -1
  306. package/dist/utils/sha1.d.ts +273 -9
  307. package/dist/utils/sha1.d.ts.map +1 -1
  308. package/dist/utils/sha1.js +466 -11
  309. package/dist/utils/sha1.js.map +1 -1
  310. package/dist/wire/capabilities.d.ts +896 -88
  311. package/dist/wire/capabilities.d.ts.map +1 -1
  312. package/dist/wire/capabilities.js +566 -62
  313. package/dist/wire/capabilities.js.map +1 -1
  314. package/dist/wire/path-security.d.ts +157 -0
  315. package/dist/wire/path-security.d.ts.map +1 -0
  316. package/dist/wire/path-security.js +307 -0
  317. package/dist/wire/path-security.js.map +1 -0
  318. package/dist/wire/pkt-line.d.ts +293 -15
  319. package/dist/wire/pkt-line.d.ts.map +1 -1
  320. package/dist/wire/pkt-line.js +251 -15
  321. package/dist/wire/pkt-line.js.map +1 -1
  322. package/dist/wire/receive-pack.d.ts +821 -64
  323. package/dist/wire/receive-pack.d.ts.map +1 -1
  324. package/dist/wire/receive-pack.js +571 -42
  325. package/dist/wire/receive-pack.js.map +1 -1
  326. package/dist/wire/smart-http.d.ts +575 -97
  327. package/dist/wire/smart-http.d.ts.map +1 -1
  328. package/dist/wire/smart-http.js +337 -46
  329. package/dist/wire/smart-http.js.map +1 -1
  330. package/dist/wire/upload-pack.d.ts +492 -98
  331. package/dist/wire/upload-pack.d.ts.map +1 -1
  332. package/dist/wire/upload-pack.js +347 -59
  333. package/dist/wire/upload-pack.js.map +1 -1
  334. package/package.json +10 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FsModule.js","sourceRoot":"","sources":["../../src/do/FsModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,635 @@
1
+ /**
2
+ * @fileoverview GitModule for Durable Object Integration
3
+ *
4
+ * This module provides a GitModule class that integrates with dotdo's $ WorkflowContext,
5
+ * providing $.git.sync(), $.git.push(), and $.git.binding functionality.
6
+ *
7
+ * The module depends on FsModule for file operations and uses R2 as the
8
+ * global git object store for cross-DO synchronization.
9
+ *
10
+ * @module do/GitModule
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { GitModule } from 'gitx.do/do'
15
+ *
16
+ * class MyDO extends DO {
17
+ * git = new GitModule(this.$, {
18
+ * repo: 'org/repo',
19
+ * branch: 'main',
20
+ * r2: this.env.R2_BUCKET
21
+ * })
22
+ *
23
+ * async syncRepository() {
24
+ * await this.git.sync()
25
+ * const status = await this.git.status()
26
+ * console.log(`On branch ${status.branch}`)
27
+ * }
28
+ * }
29
+ * ```
30
+ */
31
+ /**
32
+ * Filesystem capability interface that GitModule depends on.
33
+ * Mirrors the FsCapability from dotdo's WorkflowContext.
34
+ */
35
+ export interface FsCapability {
36
+ readFile(path: string): Promise<string | Buffer>;
37
+ writeFile(path: string, content: string | Buffer): Promise<void>;
38
+ readDir(path: string): Promise<string[]>;
39
+ exists(path: string): Promise<boolean>;
40
+ mkdir(path: string, options?: {
41
+ recursive?: boolean;
42
+ }): Promise<void>;
43
+ rm(path: string, options?: {
44
+ recursive?: boolean;
45
+ force?: boolean;
46
+ }): Promise<void>;
47
+ /**
48
+ * Get the integer rowid (file_id) for a file path.
49
+ * Used to establish foreign key references in git_content table.
50
+ * @param path - File path to look up
51
+ * @returns The file's integer rowid, or null if file doesn't exist
52
+ */
53
+ getFileId?(path: string): Promise<number | null>;
54
+ }
55
+ /**
56
+ * R2 Bucket interface for object storage operations.
57
+ * Used as the global git object store.
58
+ */
59
+ export interface R2BucketLike {
60
+ get(key: string): Promise<R2ObjectLike | null>;
61
+ put(key: string, value: ArrayBuffer | Uint8Array | string): Promise<R2ObjectLike>;
62
+ delete(key: string | string[]): Promise<void>;
63
+ list(options?: {
64
+ prefix?: string;
65
+ limit?: number;
66
+ cursor?: string;
67
+ }): Promise<R2ObjectsLike>;
68
+ }
69
+ /**
70
+ * R2 Object interface.
71
+ */
72
+ export interface R2ObjectLike {
73
+ key: string;
74
+ size: number;
75
+ arrayBuffer(): Promise<ArrayBuffer>;
76
+ text(): Promise<string>;
77
+ }
78
+ /**
79
+ * R2 Objects list result interface.
80
+ */
81
+ export interface R2ObjectsLike {
82
+ objects: R2ObjectLike[];
83
+ truncated: boolean;
84
+ cursor?: string;
85
+ }
86
+ /**
87
+ * Database storage interface for GitModule persistence.
88
+ * Provides access to the git, git_branches, and git_content tables.
89
+ */
90
+ export interface GitStorage {
91
+ /**
92
+ * SQL execution interface.
93
+ */
94
+ sql: {
95
+ /**
96
+ * Execute a SQL query with optional parameters.
97
+ * @param query - SQL query string (can use ? placeholders)
98
+ * @param params - Parameter values for placeholders
99
+ * @returns Result object with toArray() method for reading rows
100
+ */
101
+ exec(query: string, ...params: unknown[]): {
102
+ toArray(): unknown[];
103
+ };
104
+ };
105
+ }
106
+ /**
107
+ * Row structure for the git table.
108
+ */
109
+ export interface GitRow {
110
+ id: number;
111
+ repo: string;
112
+ path: string | null;
113
+ branch: string;
114
+ commit: string | null;
115
+ last_sync: number | null;
116
+ object_prefix: string;
117
+ created_at: number | null;
118
+ updated_at: number | null;
119
+ }
120
+ /**
121
+ * Row structure for the git_branches table.
122
+ */
123
+ export interface GitBranchRow {
124
+ id: number;
125
+ repo_id: number;
126
+ name: string;
127
+ head: string | null;
128
+ upstream: string | null;
129
+ tracking: number;
130
+ ahead: number;
131
+ behind: number;
132
+ created_at: number | null;
133
+ updated_at: number | null;
134
+ }
135
+ /**
136
+ * Row structure for the git_content table.
137
+ * Uses file_id to reference the shared files table for efficient lookups.
138
+ */
139
+ export interface GitContentRow {
140
+ id: number;
141
+ repo_id: number;
142
+ file_id: number | null;
143
+ path: string;
144
+ content: Uint8Array | null;
145
+ mode: string;
146
+ status: string;
147
+ sha: string | null;
148
+ created_at: number | null;
149
+ updated_at: number | null;
150
+ }
151
+ /**
152
+ * Git binding configuration for the module.
153
+ * Represents the connection between a DO and a git repository.
154
+ */
155
+ export interface GitBinding {
156
+ /**
157
+ * Repository identifier (e.g., 'org/repo' or full URL)
158
+ */
159
+ repo: string;
160
+ /**
161
+ * Optional path prefix within the repository
162
+ */
163
+ path?: string;
164
+ /**
165
+ * Branch name to track
166
+ * @default 'main'
167
+ */
168
+ branch: string;
169
+ /**
170
+ * Current commit SHA that this DO is synced to
171
+ */
172
+ commit?: string;
173
+ /**
174
+ * Last sync timestamp
175
+ */
176
+ lastSync?: Date;
177
+ }
178
+ /**
179
+ * Configuration options for GitModule.
180
+ */
181
+ export interface GitModuleOptions {
182
+ /**
183
+ * Repository identifier (e.g., 'org/repo')
184
+ */
185
+ repo: string;
186
+ /**
187
+ * Branch to track
188
+ * @default 'main'
189
+ */
190
+ branch?: string;
191
+ /**
192
+ * Optional path prefix within the repository
193
+ */
194
+ path?: string;
195
+ /**
196
+ * R2 bucket for global object storage
197
+ */
198
+ r2?: R2BucketLike;
199
+ /**
200
+ * Filesystem capability to use for file operations
201
+ */
202
+ fs?: FsCapability;
203
+ /**
204
+ * Custom object key prefix in R2
205
+ * @default 'git/objects'
206
+ */
207
+ objectPrefix?: string;
208
+ /**
209
+ * Database storage for persistent state.
210
+ * When provided, GitModule will persist state to the git, git_branches,
211
+ * and git_content tables.
212
+ */
213
+ storage?: GitStorage;
214
+ }
215
+ /**
216
+ * Git status information.
217
+ */
218
+ export interface GitStatus {
219
+ /**
220
+ * Current branch name
221
+ */
222
+ branch: string;
223
+ /**
224
+ * Current HEAD commit SHA
225
+ */
226
+ head?: string;
227
+ /**
228
+ * Files staged for commit
229
+ */
230
+ staged: string[];
231
+ /**
232
+ * Files with unstaged changes
233
+ */
234
+ unstaged: string[];
235
+ /**
236
+ * Untracked files
237
+ */
238
+ untracked?: string[];
239
+ /**
240
+ * Whether the working tree is clean
241
+ */
242
+ clean: boolean;
243
+ }
244
+ /**
245
+ * Result of a sync operation.
246
+ */
247
+ export interface SyncResult {
248
+ /**
249
+ * Whether the sync succeeded
250
+ */
251
+ success: boolean;
252
+ /**
253
+ * Number of objects fetched
254
+ */
255
+ objectsFetched: number;
256
+ /**
257
+ * Number of files written
258
+ */
259
+ filesWritten: number;
260
+ /**
261
+ * New HEAD commit after sync
262
+ */
263
+ commit?: string;
264
+ /**
265
+ * Error message if sync failed
266
+ */
267
+ error?: string;
268
+ }
269
+ /**
270
+ * Result of a push operation.
271
+ */
272
+ export interface PushResult {
273
+ /**
274
+ * Whether the push succeeded
275
+ */
276
+ success: boolean;
277
+ /**
278
+ * Number of objects pushed
279
+ */
280
+ objectsPushed: number;
281
+ /**
282
+ * New commit SHA after push
283
+ */
284
+ commit?: string;
285
+ /**
286
+ * Error message if push failed
287
+ */
288
+ error?: string;
289
+ }
290
+ /**
291
+ * GitModule class for integration with dotdo's $ WorkflowContext.
292
+ *
293
+ * @description
294
+ * Provides git functionality as a capability module that integrates with
295
+ * dotdo's Durable Object framework. The module:
296
+ *
297
+ * - Syncs git objects from R2 global object store to local storage via FsModule
298
+ * - Pushes local changes back to R2 for cross-DO synchronization
299
+ * - Provides a binding property for repository configuration
300
+ * - Implements standard git operations (status, add, commit)
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * // In a Durable Object
305
+ * class MyDO extends DO {
306
+ * private git: GitModule
307
+ *
308
+ * constructor(state: DurableObjectState, env: Env) {
309
+ * super(state, env)
310
+ * this.git = new GitModule({
311
+ * repo: 'my-org/my-repo',
312
+ * branch: 'main',
313
+ * r2: env.GIT_OBJECTS,
314
+ * fs: this.$.fs
315
+ * })
316
+ * }
317
+ *
318
+ * async fetch(request: Request) {
319
+ * // Sync from R2
320
+ * await this.git.sync()
321
+ *
322
+ * // Make changes via $.fs
323
+ * await this.$.fs.writeFile('/src/index.ts', 'new code')
324
+ *
325
+ * // Stage and commit
326
+ * await this.git.add('src/index.ts')
327
+ * await this.git.commit('Update code')
328
+ *
329
+ * // Push to R2
330
+ * await this.git.push()
331
+ *
332
+ * return new Response('OK')
333
+ * }
334
+ * }
335
+ * ```
336
+ */
337
+ export declare class GitModule {
338
+ /**
339
+ * Capability module name for identification.
340
+ */
341
+ readonly name: "git";
342
+ /**
343
+ * Repository identifier.
344
+ */
345
+ private readonly repo;
346
+ /**
347
+ * Branch being tracked.
348
+ */
349
+ private readonly branch;
350
+ /**
351
+ * Path prefix within the repository.
352
+ */
353
+ private readonly path?;
354
+ /**
355
+ * R2 bucket for global object storage.
356
+ */
357
+ private readonly r2?;
358
+ /**
359
+ * Filesystem capability for file operations.
360
+ */
361
+ private readonly fs?;
362
+ /**
363
+ * Object key prefix in R2.
364
+ */
365
+ private readonly objectPrefix;
366
+ /**
367
+ * Database storage for persistence.
368
+ */
369
+ private readonly storage?;
370
+ /**
371
+ * Database row ID for this repository binding.
372
+ */
373
+ private repoId?;
374
+ /**
375
+ * Current HEAD commit SHA.
376
+ */
377
+ private currentCommit?;
378
+ /**
379
+ * Timestamp of last sync operation.
380
+ */
381
+ private lastSyncTime?;
382
+ /**
383
+ * Staged files pending commit.
384
+ */
385
+ private stagedFiles;
386
+ /**
387
+ * Pending objects to push to R2.
388
+ * Map of SHA to { type, data } for objects that have been committed locally
389
+ * but not yet pushed to the R2 object store.
390
+ */
391
+ private pendingObjects;
392
+ /**
393
+ * Create a new GitModule instance.
394
+ *
395
+ * @param options - Configuration options
396
+ *
397
+ * @example
398
+ * ```typescript
399
+ * const git = new GitModule({
400
+ * repo: 'org/repo',
401
+ * branch: 'main',
402
+ * r2: env.R2_BUCKET,
403
+ * fs: workflowContext.fs
404
+ * })
405
+ * ```
406
+ */
407
+ constructor(options: GitModuleOptions);
408
+ /**
409
+ * Get the current git binding configuration.
410
+ *
411
+ * @description
412
+ * Returns the binding information connecting this module to a git repository.
413
+ * This includes the repository, branch, path, current commit, and last sync time.
414
+ *
415
+ * @returns Current git binding
416
+ *
417
+ * @example
418
+ * ```typescript
419
+ * const binding = git.binding
420
+ * console.log(`Repo: ${binding.repo}`)
421
+ * console.log(`Branch: ${binding.branch}`)
422
+ * console.log(`Commit: ${binding.commit ?? 'not synced'}`)
423
+ * ```
424
+ */
425
+ get binding(): GitBinding;
426
+ /**
427
+ * Optional initialization hook.
428
+ * Called when the module is first loaded.
429
+ * When storage is provided, loads or creates the repository binding from the database.
430
+ */
431
+ initialize(): Promise<void>;
432
+ /**
433
+ * Optional cleanup hook.
434
+ * Called when the capability is unloaded.
435
+ */
436
+ dispose(): Promise<void>;
437
+ /**
438
+ * Sync git objects from R2 to local storage via FsModule.
439
+ *
440
+ * @description
441
+ * Fetches git objects from the R2 global object store and writes them
442
+ * to the local filesystem via the FsModule. This syncs the DO's local
443
+ * state with the shared repository state.
444
+ *
445
+ * @returns Result of the sync operation
446
+ *
447
+ * @example
448
+ * ```typescript
449
+ * const result = await git.sync()
450
+ * if (result.success) {
451
+ * console.log(`Synced ${result.objectsFetched} objects`)
452
+ * console.log(`Now at commit ${result.commit}`)
453
+ * } else {
454
+ * console.error(`Sync failed: ${result.error}`)
455
+ * }
456
+ * ```
457
+ */
458
+ sync(): Promise<SyncResult>;
459
+ /**
460
+ * Push local changes to R2 object store.
461
+ *
462
+ * @description
463
+ * Writes local git objects to the R2 global object store for
464
+ * cross-DO synchronization. This makes local changes available
465
+ * to other DOs that sync from the same repository.
466
+ *
467
+ * @returns Result of the push operation
468
+ *
469
+ * @example
470
+ * ```typescript
471
+ * // Make changes and commit
472
+ * await git.add('src/index.ts')
473
+ * await git.commit('Update code')
474
+ *
475
+ * // Push to R2
476
+ * const result = await git.push()
477
+ * if (result.success) {
478
+ * console.log(`Pushed ${result.objectsPushed} objects`)
479
+ * }
480
+ * ```
481
+ */
482
+ push(): Promise<PushResult>;
483
+ /**
484
+ * Get the current repository status.
485
+ *
486
+ * @description
487
+ * Returns information about the current branch, HEAD commit,
488
+ * and staged/unstaged files.
489
+ *
490
+ * @returns Status object with branch and file information
491
+ *
492
+ * @example
493
+ * ```typescript
494
+ * const status = await git.status()
495
+ * console.log(`On branch ${status.branch}`)
496
+ * if (status.staged.length > 0) {
497
+ * console.log(`${status.staged.length} files staged`)
498
+ * }
499
+ * ```
500
+ */
501
+ status(): Promise<GitStatus>;
502
+ /**
503
+ * Stage files for commit.
504
+ *
505
+ * @description
506
+ * Adds files to the staging area for the next commit.
507
+ *
508
+ * @param files - File path or array of file paths to stage
509
+ *
510
+ * @example
511
+ * ```typescript
512
+ * await git.add('src/index.ts')
513
+ * await git.add(['src/a.ts', 'src/b.ts'])
514
+ * ```
515
+ */
516
+ add(files: string | string[]): Promise<void>;
517
+ /**
518
+ * Create a new commit with staged changes.
519
+ *
520
+ * @description
521
+ * Creates a commit object with the currently staged changes.
522
+ * Returns the commit hash.
523
+ *
524
+ * @param message - Commit message
525
+ * @returns Commit hash or object with hash
526
+ *
527
+ * @example
528
+ * ```typescript
529
+ * await git.add('src/index.ts')
530
+ * const result = await git.commit('Update code')
531
+ * console.log(`Created commit: ${result}`)
532
+ * ```
533
+ */
534
+ commit(message: string): Promise<string | {
535
+ hash: string;
536
+ }>;
537
+ /**
538
+ * Build tree content from entries.
539
+ * Format: mode name\0sha20bytes (repeated)
540
+ */
541
+ private buildTreeContent;
542
+ /**
543
+ * Convert hex string to bytes.
544
+ */
545
+ private hexToBytes;
546
+ /**
547
+ * Hash raw bytes using SHA-1.
548
+ */
549
+ private hashBytes;
550
+ /**
551
+ * Get diff between references or working tree.
552
+ *
553
+ * @param _ref - Reference to diff against (not yet implemented)
554
+ * @returns Unified diff output
555
+ */
556
+ diff(_ref?: string): Promise<string>;
557
+ /**
558
+ * Get commit history.
559
+ *
560
+ * @param _options - Options for filtering results (not yet implemented)
561
+ * @returns Array of commit objects
562
+ */
563
+ log(_options?: {
564
+ limit?: number;
565
+ }): Promise<Array<{
566
+ hash: string;
567
+ message: string;
568
+ }>>;
569
+ /**
570
+ * Pull changes from R2 (alias for sync).
571
+ *
572
+ * @param _remote - Remote name (ignored, always uses R2)
573
+ * @param _branch - Branch to pull (uses configured branch)
574
+ */
575
+ pull(_remote?: string, _branch?: string): Promise<void>;
576
+ /**
577
+ * Fetch a git object from R2 by SHA.
578
+ */
579
+ private fetchObject;
580
+ /**
581
+ * Store a git object in R2.
582
+ */
583
+ private storeObject;
584
+ /**
585
+ * Recursively sync a tree and its contents.
586
+ */
587
+ private syncTree;
588
+ /**
589
+ * Convert bytes to hex string.
590
+ */
591
+ private bytesToHex;
592
+ /**
593
+ * Persist sync state to the database.
594
+ * Updates the git table with the current commit and last sync timestamp.
595
+ */
596
+ private persistSyncState;
597
+ /**
598
+ * Persist a staged file to the database.
599
+ * Inserts or updates a record in the git_content table.
600
+ * Uses file_id foreign key to reference the shared files table when available.
601
+ */
602
+ private persistStagedFile;
603
+ /**
604
+ * Persist commit state to the database.
605
+ * Updates the git table with the new commit hash and clears staged files.
606
+ */
607
+ private persistCommitState;
608
+ }
609
+ /**
610
+ * Create a GitModule instance with the given options.
611
+ *
612
+ * @param options - Configuration options for the module
613
+ * @returns A new GitModule instance
614
+ *
615
+ * @example
616
+ * ```typescript
617
+ * import { createGitModule } from 'gitx.do/do'
618
+ *
619
+ * const git = createGitModule({
620
+ * repo: 'org/repo',
621
+ * branch: 'main',
622
+ * r2: env.R2_BUCKET,
623
+ * fs: workflowContext.fs
624
+ * })
625
+ * ```
626
+ */
627
+ export declare function createGitModule(options: GitModuleOptions): GitModule;
628
+ /**
629
+ * Check if a value is a GitModule instance.
630
+ *
631
+ * @param value - Value to check
632
+ * @returns True if value is a GitModule
633
+ */
634
+ export declare function isGitModule(value: unknown): value is GitModule;
635
+ //# sourceMappingURL=GitModule.d.ts.map