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.
- package/README.md +319 -92
- package/dist/cli/commands/add.d.ts +174 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +131 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/blame.d.ts +259 -0
- package/dist/cli/commands/blame.d.ts.map +1 -0
- package/dist/cli/commands/blame.js +609 -0
- package/dist/cli/commands/blame.js.map +1 -0
- package/dist/cli/commands/branch.d.ts +249 -0
- package/dist/cli/commands/branch.d.ts.map +1 -0
- package/dist/cli/commands/branch.js +693 -0
- package/dist/cli/commands/branch.js.map +1 -0
- package/dist/cli/commands/commit.d.ts +182 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +437 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/diff.d.ts +464 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +958 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/log.d.ts +239 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +535 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/merge.d.ts +106 -0
- package/dist/cli/commands/merge.d.ts.map +1 -0
- package/dist/cli/commands/merge.js +55 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/review.d.ts +457 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +533 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/status.d.ts +269 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +493 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/web.d.ts +199 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +696 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/fs-adapter.d.ts +656 -0
- package/dist/cli/fs-adapter.d.ts.map +1 -0
- package/dist/cli/fs-adapter.js +1179 -0
- package/dist/cli/fs-adapter.js.map +1 -0
- package/dist/cli/fsx-cli-adapter.d.ts +359 -0
- package/dist/cli/fsx-cli-adapter.d.ts.map +1 -0
- package/dist/cli/fsx-cli-adapter.js +619 -0
- package/dist/cli/fsx-cli-adapter.js.map +1 -0
- package/dist/cli/index.d.ts +387 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +523 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/components/DiffView.d.ts +7 -0
- package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
- package/dist/cli/ui/components/DiffView.js +11 -0
- package/dist/cli/ui/components/DiffView.js.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.js +11 -0
- package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.js +12 -0
- package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.js +10 -0
- package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
- package/dist/cli/ui/components/NavigationList.d.ts +9 -0
- package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
- package/dist/cli/ui/components/NavigationList.js +11 -0
- package/dist/cli/ui/components/NavigationList.js.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.js +11 -0
- package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
- package/dist/cli/ui/components/index.d.ts +7 -0
- package/dist/cli/ui/components/index.d.ts.map +1 -0
- package/dist/cli/ui/components/index.js +9 -0
- package/dist/cli/ui/components/index.js.map +1 -0
- package/dist/cli/ui/terminal-ui.d.ts +52 -0
- package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
- package/dist/cli/ui/terminal-ui.js +121 -0
- package/dist/cli/ui/terminal-ui.js.map +1 -0
- package/dist/do/BashModule.d.ts +871 -0
- package/dist/do/BashModule.d.ts.map +1 -0
- package/dist/do/BashModule.js +1143 -0
- package/dist/do/BashModule.js.map +1 -0
- package/dist/do/FsModule.d.ts +601 -0
- package/dist/do/FsModule.d.ts.map +1 -0
- package/dist/do/FsModule.js +1120 -0
- package/dist/do/FsModule.js.map +1 -0
- package/dist/do/GitModule.d.ts +635 -0
- package/dist/do/GitModule.d.ts.map +1 -0
- package/dist/do/GitModule.js +781 -0
- package/dist/do/GitModule.js.map +1 -0
- package/dist/do/GitRepoDO.d.ts +281 -0
- package/dist/do/GitRepoDO.d.ts.map +1 -0
- package/dist/do/GitRepoDO.js +479 -0
- package/dist/do/GitRepoDO.js.map +1 -0
- package/dist/do/bash-ast.d.ts +246 -0
- package/dist/do/bash-ast.d.ts.map +1 -0
- package/dist/do/bash-ast.js +888 -0
- package/dist/do/bash-ast.js.map +1 -0
- package/dist/do/container-executor.d.ts +491 -0
- package/dist/do/container-executor.d.ts.map +1 -0
- package/dist/do/container-executor.js +730 -0
- package/dist/do/container-executor.js.map +1 -0
- package/dist/do/index.d.ts +53 -0
- package/dist/do/index.d.ts.map +1 -0
- package/dist/do/index.js +91 -0
- package/dist/do/index.js.map +1 -0
- package/dist/do/tiered-storage.d.ts +403 -0
- package/dist/do/tiered-storage.d.ts.map +1 -0
- package/dist/do/tiered-storage.js +689 -0
- package/dist/do/tiered-storage.js.map +1 -0
- package/dist/do/withBash.d.ts +231 -0
- package/dist/do/withBash.d.ts.map +1 -0
- package/dist/do/withBash.js +244 -0
- package/dist/do/withBash.js.map +1 -0
- package/dist/do/withFs.d.ts +237 -0
- package/dist/do/withFs.d.ts.map +1 -0
- package/dist/do/withFs.js +387 -0
- package/dist/do/withFs.js.map +1 -0
- package/dist/do/withGit.d.ts +180 -0
- package/dist/do/withGit.d.ts.map +1 -0
- package/dist/do/withGit.js +271 -0
- package/dist/do/withGit.js.map +1 -0
- package/dist/durable-object/object-store.d.ts +545 -25
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +833 -59
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +200 -1
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +247 -2
- package/dist/durable-object/schema.js.map +1 -1
- package/dist/durable-object/wal.d.ts +336 -31
- package/dist/durable-object/wal.d.ts.map +1 -1
- package/dist/durable-object/wal.js +272 -27
- package/dist/durable-object/wal.js.map +1 -1
- package/dist/index.d.ts +408 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +413 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/adapter.d.ts +579 -38
- package/dist/mcp/adapter.d.ts.map +1 -1
- package/dist/mcp/adapter.js +426 -33
- package/dist/mcp/adapter.js.map +1 -1
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts +22 -0
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +1 -0
- package/dist/mcp/sandbox/miniflare-evaluator.js +140 -0
- package/dist/mcp/sandbox/miniflare-evaluator.js.map +1 -0
- package/dist/mcp/sandbox/object-store-proxy.d.ts +32 -0
- package/dist/mcp/sandbox/object-store-proxy.d.ts.map +1 -0
- package/dist/mcp/sandbox/object-store-proxy.js +30 -0
- package/dist/mcp/sandbox/object-store-proxy.js.map +1 -0
- package/dist/mcp/sandbox/template.d.ts +17 -0
- package/dist/mcp/sandbox/template.d.ts.map +1 -0
- package/dist/mcp/sandbox/template.js +71 -0
- package/dist/mcp/sandbox/template.js.map +1 -0
- package/dist/mcp/sandbox.d.ts +532 -29
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +405 -26
- package/dist/mcp/sandbox.js.map +1 -1
- package/dist/mcp/sdk-adapter.d.ts +478 -56
- package/dist/mcp/sdk-adapter.d.ts.map +1 -1
- package/dist/mcp/sdk-adapter.js +346 -44
- package/dist/mcp/sdk-adapter.js.map +1 -1
- package/dist/mcp/tools/do.d.ts +32 -0
- package/dist/mcp/tools/do.d.ts.map +1 -0
- package/dist/mcp/tools/do.js +115 -0
- package/dist/mcp/tools/do.js.map +1 -0
- package/dist/mcp/tools.d.ts +445 -30
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +363 -33
- package/dist/mcp/tools.js.map +1 -1
- package/dist/ops/blame.d.ts +424 -21
- package/dist/ops/blame.d.ts.map +1 -1
- package/dist/ops/blame.js +303 -20
- package/dist/ops/blame.js.map +1 -1
- package/dist/ops/branch.d.ts +583 -32
- package/dist/ops/branch.d.ts.map +1 -1
- package/dist/ops/branch.js +365 -23
- package/dist/ops/branch.js.map +1 -1
- package/dist/ops/commit-traversal.d.ts +164 -24
- package/dist/ops/commit-traversal.d.ts.map +1 -1
- package/dist/ops/commit-traversal.js +68 -2
- package/dist/ops/commit-traversal.js.map +1 -1
- package/dist/ops/commit.d.ts +387 -53
- package/dist/ops/commit.d.ts.map +1 -1
- package/dist/ops/commit.js +249 -29
- package/dist/ops/commit.js.map +1 -1
- package/dist/ops/merge-base.d.ts +195 -21
- package/dist/ops/merge-base.d.ts.map +1 -1
- package/dist/ops/merge-base.js +122 -12
- package/dist/ops/merge-base.js.map +1 -1
- package/dist/ops/merge.d.ts +600 -130
- package/dist/ops/merge.d.ts.map +1 -1
- package/dist/ops/merge.js +408 -60
- package/dist/ops/merge.js.map +1 -1
- package/dist/ops/tag.d.ts +67 -2
- package/dist/ops/tag.d.ts.map +1 -1
- package/dist/ops/tag.js +42 -1
- package/dist/ops/tag.js.map +1 -1
- package/dist/ops/tree-builder.d.ts +102 -6
- package/dist/ops/tree-builder.d.ts.map +1 -1
- package/dist/ops/tree-builder.js +30 -5
- package/dist/ops/tree-builder.js.map +1 -1
- package/dist/ops/tree-diff.d.ts +50 -2
- package/dist/ops/tree-diff.d.ts.map +1 -1
- package/dist/ops/tree-diff.js +50 -2
- package/dist/ops/tree-diff.js.map +1 -1
- package/dist/pack/delta.d.ts +219 -39
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +468 -75
- package/dist/pack/delta.js.map +1 -1
- package/dist/pack/format.d.ts +390 -28
- package/dist/pack/format.d.ts.map +1 -1
- package/dist/pack/format.js +344 -33
- package/dist/pack/format.js.map +1 -1
- package/dist/pack/full-generation.d.ts +313 -28
- package/dist/pack/full-generation.d.ts.map +1 -1
- package/dist/pack/full-generation.js +238 -19
- package/dist/pack/full-generation.js.map +1 -1
- package/dist/pack/generation.d.ts +346 -23
- package/dist/pack/generation.d.ts.map +1 -1
- package/dist/pack/generation.js +269 -21
- package/dist/pack/generation.js.map +1 -1
- package/dist/pack/index.d.ts +407 -86
- package/dist/pack/index.d.ts.map +1 -1
- package/dist/pack/index.js +351 -70
- package/dist/pack/index.js.map +1 -1
- package/dist/refs/branch.d.ts +534 -90
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +814 -87
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +684 -59
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +671 -69
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +721 -91
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +908 -100
- package/dist/refs/tag.js.map +1 -1
- package/dist/storage/backend.d.ts +425 -0
- package/dist/storage/backend.d.ts.map +1 -0
- package/dist/storage/backend.js +41 -0
- package/dist/storage/backend.js.map +1 -0
- package/dist/storage/fsx-adapter.d.ts +204 -0
- package/dist/storage/fsx-adapter.d.ts.map +1 -0
- package/dist/storage/fsx-adapter.js +470 -0
- package/dist/storage/fsx-adapter.js.map +1 -0
- package/dist/storage/lru-cache.d.ts +556 -53
- package/dist/storage/lru-cache.d.ts.map +1 -1
- package/dist/storage/lru-cache.js +439 -36
- package/dist/storage/lru-cache.js.map +1 -1
- package/dist/storage/object-index.d.ts +483 -38
- package/dist/storage/object-index.d.ts.map +1 -1
- package/dist/storage/object-index.js +388 -22
- package/dist/storage/object-index.js.map +1 -1
- package/dist/storage/r2-pack.d.ts +957 -94
- package/dist/storage/r2-pack.d.ts.map +1 -1
- package/dist/storage/r2-pack.js +756 -48
- package/dist/storage/r2-pack.js.map +1 -1
- package/dist/tiered/cdc-pipeline.d.ts +1610 -38
- package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
- package/dist/tiered/cdc-pipeline.js +1131 -22
- package/dist/tiered/cdc-pipeline.js.map +1 -1
- package/dist/tiered/migration.d.ts +903 -41
- package/dist/tiered/migration.d.ts.map +1 -1
- package/dist/tiered/migration.js +646 -24
- package/dist/tiered/migration.js.map +1 -1
- package/dist/tiered/parquet-writer.d.ts +944 -47
- package/dist/tiered/parquet-writer.d.ts.map +1 -1
- package/dist/tiered/parquet-writer.js +667 -39
- package/dist/tiered/parquet-writer.js.map +1 -1
- package/dist/tiered/read-path.d.ts +728 -34
- package/dist/tiered/read-path.d.ts.map +1 -1
- package/dist/tiered/read-path.js +310 -27
- package/dist/tiered/read-path.js.map +1 -1
- package/dist/types/capability.d.ts +1385 -0
- package/dist/types/capability.d.ts.map +1 -0
- package/dist/types/capability.js +36 -0
- package/dist/types/capability.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/objects.d.ts +639 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +554 -8
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +521 -35
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +187 -4
- package/dist/types/storage.js.map +1 -1
- package/dist/types/worker-loader.d.ts +60 -0
- package/dist/types/worker-loader.d.ts.map +1 -0
- package/dist/types/worker-loader.js +62 -0
- package/dist/types/worker-loader.js.map +1 -0
- package/dist/utils/hash.d.ts +186 -20
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +249 -41
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +273 -9
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +466 -11
- package/dist/utils/sha1.js.map +1 -1
- package/dist/wire/capabilities.d.ts +896 -88
- package/dist/wire/capabilities.d.ts.map +1 -1
- package/dist/wire/capabilities.js +566 -62
- package/dist/wire/capabilities.js.map +1 -1
- package/dist/wire/path-security.d.ts +157 -0
- package/dist/wire/path-security.d.ts.map +1 -0
- package/dist/wire/path-security.js +307 -0
- package/dist/wire/path-security.js.map +1 -0
- package/dist/wire/pkt-line.d.ts +293 -15
- package/dist/wire/pkt-line.d.ts.map +1 -1
- package/dist/wire/pkt-line.js +251 -15
- package/dist/wire/pkt-line.js.map +1 -1
- package/dist/wire/receive-pack.d.ts +821 -64
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +571 -42
- package/dist/wire/receive-pack.js.map +1 -1
- package/dist/wire/smart-http.d.ts +575 -97
- package/dist/wire/smart-http.d.ts.map +1 -1
- package/dist/wire/smart-http.js +337 -46
- package/dist/wire/smart-http.js.map +1 -1
- package/dist/wire/upload-pack.d.ts +492 -98
- package/dist/wire/upload-pack.d.ts.map +1 -1
- package/dist/wire/upload-pack.js +347 -59
- package/dist/wire/upload-pack.js.map +1 -1
- 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
|