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":"container-executor.js","sourceRoot":"","sources":["../../src/do/container-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview gitx.do/do Entry Point
|
|
3
|
+
*
|
|
4
|
+
* This is the entry point for integrating gitx with dotdo's Durable Objects.
|
|
5
|
+
* It exports the GitModule class and related utilities for use in DOs.
|
|
6
|
+
*
|
|
7
|
+
* @module gitx.do/do
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Import for DO integration
|
|
12
|
+
* import { GitModule, createGitModule, withGit } from 'gitx.do/do'
|
|
13
|
+
*
|
|
14
|
+
* // Create a GitModule in your DO
|
|
15
|
+
* class MyDO extends DO {
|
|
16
|
+
* git = new GitModule({
|
|
17
|
+
* repo: 'org/repo',
|
|
18
|
+
* branch: 'main',
|
|
19
|
+
* r2: this.env.R2_BUCKET
|
|
20
|
+
* })
|
|
21
|
+
*
|
|
22
|
+
* async syncRepository() {
|
|
23
|
+
* await this.git.sync()
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* // Or use the withGit mixin
|
|
28
|
+
* class MyDO extends withGit(DO, { repo: 'org/repo' }) {
|
|
29
|
+
* // this.git is automatically available
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import { GitModule, createGitModule, isGitModule, type GitModuleOptions, type GitBinding, type GitStatus, type SyncResult, type PushResult, type FsCapability, type R2BucketLike, type R2ObjectLike, type R2ObjectsLike } from './GitModule';
|
|
34
|
+
export { GitModule, createGitModule, isGitModule, type GitModuleOptions, type GitBinding, type GitStatus, type SyncResult, type PushResult, type FsCapability, type R2BucketLike, type R2ObjectLike, type R2ObjectsLike, };
|
|
35
|
+
import { BashModule, createBashModule, createCallableBashModule, isBashModule, isCallableBashModule, type BashModuleOptions, type BashResult, type ExecOptions, type SpawnOptions, type SpawnHandle, type BashExecutor, type SafetyAnalysis, type FsCapability as BashFsCapability, type BashStorage, type ExecRow, type ExecPolicy, type BashTagFunction, type CallableBashModule } from './BashModule';
|
|
36
|
+
export { BashModule, createBashModule, createCallableBashModule, isBashModule, isCallableBashModule, type BashModuleOptions, type BashResult, type ExecOptions, type SpawnOptions, type SpawnHandle, type BashExecutor, type SafetyAnalysis, type BashFsCapability, type BashStorage, type ExecRow, type ExecPolicy, type BashTagFunction, type CallableBashModule, };
|
|
37
|
+
import { parseBashCommand, analyzeASTSafety, parseAndAnalyze, type ASTNodeType, type ListOperator, type RedirectType, type ASTNode, type WordNode, type RedirectNode, type AssignmentNode, type CommandNode, type PipelineNode, type ListNode, type SubshellNode, type FunctionNode, type ImpactLevel, type ASTSafetyAnalysis, type SafetyIssue } from './bash-ast';
|
|
38
|
+
export { parseBashCommand, analyzeASTSafety, parseAndAnalyze, type ASTNodeType, type ListOperator, type RedirectType, type ASTNode, type WordNode, type RedirectNode, type AssignmentNode, type CommandNode, type PipelineNode, type ListNode, type SubshellNode, type FunctionNode, type ImpactLevel, type ASTSafetyAnalysis, type SafetyIssue, };
|
|
39
|
+
import { withBash, hasBashCapability, type WithBashCapability, type WithBashOptions, type Constructor } from './withBash';
|
|
40
|
+
export { withBash, hasBashCapability, type WithBashCapability, type WithBashOptions, type Constructor, };
|
|
41
|
+
import { withGit, hasGitCapability, type WithGitCapability, type WithGitOptions, type WithGitContext } from './withGit';
|
|
42
|
+
export { withGit, hasGitCapability, type WithGitCapability, type WithGitOptions, type WithGitContext, };
|
|
43
|
+
import { withFs, hasFsCapability, type WithFsCapability, type WithFsOptions, type WithFsContext } from './withFs';
|
|
44
|
+
export { withFs, hasFsCapability, type WithFsCapability, type WithFsOptions, type WithFsContext, };
|
|
45
|
+
import { FsModule, createFsModule, isFsModule, S_IFMT, S_IFREG, S_IFDIR, S_IFLNK, ENOENT, EEXIST, EISDIR, ENOTDIR, ENOTEMPTY, type FsModuleOptions, type SqlStorage, type SqlResult, type R2BucketLike as FsR2BucketLike, type R2ObjectLike as FsR2ObjectLike, type ReadOptions, type WriteOptions, type MkdirOptions, type RmdirOptions, type RemoveOptions, type ReaddirOptions, type MoveOptions, type CopyOptions, type Dirent, type Stats } from './FsModule';
|
|
46
|
+
export { FsModule, createFsModule, isFsModule, S_IFMT, S_IFREG, S_IFDIR, S_IFLNK, ENOENT, EEXIST, EISDIR, ENOTDIR, ENOTEMPTY, type FsModuleOptions, type SqlStorage, type SqlResult, type FsR2BucketLike, type FsR2ObjectLike, type ReadOptions, type WriteOptions, type MkdirOptions, type RmdirOptions, type RemoveOptions, type ReaddirOptions, type MoveOptions, type CopyOptions, type Dirent, type Stats, };
|
|
47
|
+
import { CloudflareContainerExecutor, createContainerExecutor, createSandboxExecutor, createHttpExecutor, createWebSocketExecutor, isContainerExecutor, type ContainerExecutorOptions, type CloudflareSandbox, type SandboxExecOptions, type SandboxExecResult, type SandboxStreamResult, type SandboxStreamChunk, type SandboxProcessHandle, type CloudflareContainer, type CloudflareContainerInstance, type ContainerStartOptions } from './container-executor';
|
|
48
|
+
export { CloudflareContainerExecutor, createContainerExecutor, createSandboxExecutor, createHttpExecutor, createWebSocketExecutor, isContainerExecutor, type ContainerExecutorOptions, type CloudflareSandbox, type SandboxExecOptions, type SandboxExecResult, type SandboxStreamResult, type SandboxStreamChunk, type SandboxProcessHandle, type CloudflareContainer, type CloudflareContainerInstance, type ContainerStartOptions, };
|
|
49
|
+
import { TieredStorage, createTieredStorage, type TieredStorageOptions, type TieredStorageStats, type GetObjectResult, type ObjectMetadata, type StorageTier, type R2BucketLike as TieredR2BucketLike, type R2ObjectLike as TieredR2ObjectLike, type R2ObjectsLike as TieredR2ObjectsLike, type R2PutOptions, type SqlStorage as TieredSqlStorage } from './tiered-storage';
|
|
50
|
+
export { TieredStorage, createTieredStorage, type TieredStorageOptions, type TieredStorageStats, type GetObjectResult, type ObjectMetadata, type StorageTier, type TieredR2BucketLike, type TieredR2ObjectLike, type TieredR2ObjectsLike, type R2PutOptions, type TieredSqlStorage, };
|
|
51
|
+
import { GitRepoDO, isGitRepoDO } from './GitRepoDO';
|
|
52
|
+
export { GitRepoDO, isGitRepoDO };
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/do/index.ts"],"names":[],"mappings":"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"}
|
package/dist/do/index.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview gitx.do/do Entry Point
|
|
3
|
+
*
|
|
4
|
+
* This is the entry point for integrating gitx with dotdo's Durable Objects.
|
|
5
|
+
* It exports the GitModule class and related utilities for use in DOs.
|
|
6
|
+
*
|
|
7
|
+
* @module gitx.do/do
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Import for DO integration
|
|
12
|
+
* import { GitModule, createGitModule, withGit } from 'gitx.do/do'
|
|
13
|
+
*
|
|
14
|
+
* // Create a GitModule in your DO
|
|
15
|
+
* class MyDO extends DO {
|
|
16
|
+
* git = new GitModule({
|
|
17
|
+
* repo: 'org/repo',
|
|
18
|
+
* branch: 'main',
|
|
19
|
+
* r2: this.env.R2_BUCKET
|
|
20
|
+
* })
|
|
21
|
+
*
|
|
22
|
+
* async syncRepository() {
|
|
23
|
+
* await this.git.sync()
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* // Or use the withGit mixin
|
|
28
|
+
* class MyDO extends withGit(DO, { repo: 'org/repo' }) {
|
|
29
|
+
* // this.git is automatically available
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// GitModule Imports and Exports
|
|
35
|
+
// ============================================================================
|
|
36
|
+
import { GitModule, createGitModule, isGitModule, } from './GitModule';
|
|
37
|
+
export { GitModule, createGitModule, isGitModule, };
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// BashModule Imports and Exports
|
|
40
|
+
// ============================================================================
|
|
41
|
+
import { BashModule, createBashModule, createCallableBashModule, isBashModule, isCallableBashModule, } from './BashModule';
|
|
42
|
+
export { BashModule, createBashModule, createCallableBashModule, isBashModule, isCallableBashModule, };
|
|
43
|
+
// ============================================================================
|
|
44
|
+
// Bash AST Parser Imports and Exports
|
|
45
|
+
// ============================================================================
|
|
46
|
+
import { parseBashCommand, analyzeASTSafety, parseAndAnalyze, } from './bash-ast';
|
|
47
|
+
export { parseBashCommand, analyzeASTSafety, parseAndAnalyze, };
|
|
48
|
+
// ============================================================================
|
|
49
|
+
// withBash Mixin Imports and Exports
|
|
50
|
+
// ============================================================================
|
|
51
|
+
import { withBash, hasBashCapability, } from './withBash';
|
|
52
|
+
export { withBash, hasBashCapability, };
|
|
53
|
+
// ============================================================================
|
|
54
|
+
// withGit Mixin Imports and Exports
|
|
55
|
+
// ============================================================================
|
|
56
|
+
import { withGit, hasGitCapability, } from './withGit';
|
|
57
|
+
export { withGit, hasGitCapability, };
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// withFs Mixin Imports and Exports
|
|
60
|
+
// ============================================================================
|
|
61
|
+
import { withFs, hasFsCapability, } from './withFs';
|
|
62
|
+
export { withFs, hasFsCapability, };
|
|
63
|
+
// ============================================================================
|
|
64
|
+
// FsModule Imports and Exports
|
|
65
|
+
// ============================================================================
|
|
66
|
+
import { FsModule, createFsModule, isFsModule,
|
|
67
|
+
// Constants
|
|
68
|
+
S_IFMT, S_IFREG, S_IFDIR, S_IFLNK,
|
|
69
|
+
// Error classes
|
|
70
|
+
ENOENT, EEXIST, EISDIR, ENOTDIR, ENOTEMPTY, } from './FsModule';
|
|
71
|
+
export { FsModule, createFsModule, isFsModule,
|
|
72
|
+
// Constants
|
|
73
|
+
S_IFMT, S_IFREG, S_IFDIR, S_IFLNK,
|
|
74
|
+
// Error classes
|
|
75
|
+
ENOENT, EEXIST, EISDIR, ENOTDIR, ENOTEMPTY, };
|
|
76
|
+
// ============================================================================
|
|
77
|
+
// Container Executor Imports and Exports
|
|
78
|
+
// ============================================================================
|
|
79
|
+
import { CloudflareContainerExecutor, createContainerExecutor, createSandboxExecutor, createHttpExecutor, createWebSocketExecutor, isContainerExecutor, } from './container-executor';
|
|
80
|
+
export { CloudflareContainerExecutor, createContainerExecutor, createSandboxExecutor, createHttpExecutor, createWebSocketExecutor, isContainerExecutor, };
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// TieredStorage Imports and Exports
|
|
83
|
+
// ============================================================================
|
|
84
|
+
import { TieredStorage, createTieredStorage, } from './tiered-storage';
|
|
85
|
+
export { TieredStorage, createTieredStorage, };
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// GitRepoDO Imports and Exports
|
|
88
|
+
// ============================================================================
|
|
89
|
+
import { GitRepoDO, isGitRepoDO } from './GitRepoDO';
|
|
90
|
+
export { GitRepoDO, isGitRepoDO };
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/do/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,GAUZ,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,GAUZ,CAAA;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,GAcrB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,GAcrB,CAAA;AAED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAgBhB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAgBhB,CAAA;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,iBAAiB,GAIlB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,QAAQ,EACR,iBAAiB,GAIlB,CAAA;AAED,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E,OAAO,EACL,OAAO,EACP,gBAAgB,GAIjB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,OAAO,EACP,gBAAgB,GAIjB,CAAA;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,OAAO,EACL,MAAM,EACN,eAAe,GAIhB,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,MAAM,EACN,eAAe,GAIhB,CAAA;AAED,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,cAAc,EACd,UAAU;AACV,YAAY;AACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO;AACP,gBAAgB;AAChB,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,GAiBV,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,UAAU;AACV,YAAY;AACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO;AACP,gBAAgB;AAChB,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,GAiBV,CAAA;AAED,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,GAWpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,GAWpB,CAAA;AAED,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E,OAAO,EACL,aAAa,EACb,mBAAmB,GAWpB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,EACb,mBAAmB,GAWpB,CAAA;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview R2 Tiered Storage for GitModule
|
|
3
|
+
*
|
|
4
|
+
* This module provides tiered storage support for Git objects in the GitModule,
|
|
5
|
+
* implementing a three-tier architecture:
|
|
6
|
+
*
|
|
7
|
+
* - **Hot tier**: SQLite in Durable Object (fastest access, limited capacity)
|
|
8
|
+
* - **Warm tier**: R2 loose objects (medium latency, larger capacity)
|
|
9
|
+
* - **Cold tier**: R2 packfiles (highest latency, most efficient storage)
|
|
10
|
+
*
|
|
11
|
+
* The module automatically:
|
|
12
|
+
* - Promotes frequently accessed objects to the hot tier
|
|
13
|
+
* - Demotes old/rarely accessed objects to warm/cold tiers
|
|
14
|
+
* - Supports packfile storage in R2 for efficiency
|
|
15
|
+
*
|
|
16
|
+
* @module do/tiered-storage
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { TieredStorage } from 'gitx.do/do'
|
|
21
|
+
*
|
|
22
|
+
* const storage = new TieredStorage({
|
|
23
|
+
* r2: env.R2_BUCKET,
|
|
24
|
+
* sql: ctx.storage.sql,
|
|
25
|
+
* prefix: 'git/objects',
|
|
26
|
+
* hotTierMaxBytes: 50 * 1024 * 1024, // 50MB in SQLite
|
|
27
|
+
* promotionThreshold: 3, // Promote after 3 accesses
|
|
28
|
+
* demotionAgeDays: 7 // Demote after 7 days without access
|
|
29
|
+
* })
|
|
30
|
+
*
|
|
31
|
+
* // Get an object (checks hot -> warm -> cold)
|
|
32
|
+
* const obj = await storage.getObject(sha)
|
|
33
|
+
*
|
|
34
|
+
* // Store an object (goes to appropriate tier based on size/frequency)
|
|
35
|
+
* await storage.putObject(sha, type, data)
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
import type { ObjectType } from '../types/objects';
|
|
39
|
+
/**
|
|
40
|
+
* R2 Bucket interface for object storage operations.
|
|
41
|
+
*/
|
|
42
|
+
export interface R2BucketLike {
|
|
43
|
+
get(key: string): Promise<R2ObjectLike | null>;
|
|
44
|
+
put(key: string, value: ArrayBuffer | Uint8Array | string, options?: R2PutOptions): Promise<R2ObjectLike>;
|
|
45
|
+
delete(key: string | string[]): Promise<void>;
|
|
46
|
+
list(options?: {
|
|
47
|
+
prefix?: string;
|
|
48
|
+
limit?: number;
|
|
49
|
+
cursor?: string;
|
|
50
|
+
}): Promise<R2ObjectsLike>;
|
|
51
|
+
head(key: string): Promise<R2ObjectLike | null>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* R2 Put options interface.
|
|
55
|
+
*/
|
|
56
|
+
export interface R2PutOptions {
|
|
57
|
+
customMetadata?: Record<string, string>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* R2 Object interface.
|
|
61
|
+
*/
|
|
62
|
+
export interface R2ObjectLike {
|
|
63
|
+
key: string;
|
|
64
|
+
size: number;
|
|
65
|
+
customMetadata?: Record<string, string>;
|
|
66
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
67
|
+
text(): Promise<string>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* R2 Objects list result interface.
|
|
71
|
+
*/
|
|
72
|
+
export interface R2ObjectsLike {
|
|
73
|
+
objects: R2ObjectLike[];
|
|
74
|
+
truncated: boolean;
|
|
75
|
+
cursor?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* SQL interface for Durable Object storage.
|
|
79
|
+
*/
|
|
80
|
+
export interface SqlStorage {
|
|
81
|
+
exec(query: string, ...params: unknown[]): {
|
|
82
|
+
toArray(): unknown[];
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Storage tier enumeration.
|
|
87
|
+
*/
|
|
88
|
+
export type StorageTier = 'hot' | 'warm' | 'cold';
|
|
89
|
+
/**
|
|
90
|
+
* Object metadata stored in SQLite for tracking.
|
|
91
|
+
*/
|
|
92
|
+
export interface ObjectMetadata {
|
|
93
|
+
sha: string;
|
|
94
|
+
type: ObjectType;
|
|
95
|
+
size: number;
|
|
96
|
+
tier: StorageTier;
|
|
97
|
+
accessCount: number;
|
|
98
|
+
lastAccessed: number;
|
|
99
|
+
createdAt: number;
|
|
100
|
+
packId?: string;
|
|
101
|
+
packOffset?: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Configuration options for TieredStorage.
|
|
105
|
+
*/
|
|
106
|
+
export interface TieredStorageOptions {
|
|
107
|
+
/**
|
|
108
|
+
* R2 bucket for warm and cold storage.
|
|
109
|
+
*/
|
|
110
|
+
r2: R2BucketLike;
|
|
111
|
+
/**
|
|
112
|
+
* SQL storage interface for hot tier and metadata.
|
|
113
|
+
*/
|
|
114
|
+
sql: SqlStorage;
|
|
115
|
+
/**
|
|
116
|
+
* Key prefix for R2 objects.
|
|
117
|
+
* @default 'git/objects'
|
|
118
|
+
*/
|
|
119
|
+
prefix?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Maximum bytes to store in the hot tier (SQLite).
|
|
122
|
+
* @default 50 * 1024 * 1024 (50MB)
|
|
123
|
+
*/
|
|
124
|
+
hotTierMaxBytes?: number;
|
|
125
|
+
/**
|
|
126
|
+
* Number of accesses before promoting to hot tier.
|
|
127
|
+
* @default 3
|
|
128
|
+
*/
|
|
129
|
+
promotionThreshold?: number;
|
|
130
|
+
/**
|
|
131
|
+
* Days without access before demoting to colder tier.
|
|
132
|
+
* @default 7
|
|
133
|
+
*/
|
|
134
|
+
demotionAgeDays?: number;
|
|
135
|
+
/**
|
|
136
|
+
* Maximum object size to store in hot tier.
|
|
137
|
+
* @default 1 * 1024 * 1024 (1MB)
|
|
138
|
+
*/
|
|
139
|
+
hotTierMaxObjectSize?: number;
|
|
140
|
+
/**
|
|
141
|
+
* Enable automatic promotion on access.
|
|
142
|
+
* @default true
|
|
143
|
+
*/
|
|
144
|
+
autoPromote?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Enable automatic demotion of old objects.
|
|
147
|
+
* @default true
|
|
148
|
+
*/
|
|
149
|
+
autoDemote?: boolean;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Result of a get operation.
|
|
153
|
+
*/
|
|
154
|
+
export interface GetObjectResult {
|
|
155
|
+
type: ObjectType;
|
|
156
|
+
data: Uint8Array;
|
|
157
|
+
tier: StorageTier;
|
|
158
|
+
promoted: boolean;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Statistics about the tiered storage.
|
|
162
|
+
*/
|
|
163
|
+
export interface TieredStorageStats {
|
|
164
|
+
hotTierCount: number;
|
|
165
|
+
hotTierBytes: number;
|
|
166
|
+
warmTierCount: number;
|
|
167
|
+
coldTierCount: number;
|
|
168
|
+
totalObjects: number;
|
|
169
|
+
cacheHitRate: number;
|
|
170
|
+
promotions: number;
|
|
171
|
+
demotions: number;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* TieredStorage - R2 Tiered Storage for GitModule
|
|
175
|
+
*
|
|
176
|
+
* @description
|
|
177
|
+
* Provides a three-tier storage system for Git objects optimized for
|
|
178
|
+
* Cloudflare Workers with Durable Objects:
|
|
179
|
+
*
|
|
180
|
+
* - **Hot tier**: SQLite blob storage in Durable Object
|
|
181
|
+
* - Fastest access (local to DO)
|
|
182
|
+
* - Limited capacity (50MB default)
|
|
183
|
+
* - For frequently accessed objects
|
|
184
|
+
*
|
|
185
|
+
* - **Warm tier**: R2 loose objects
|
|
186
|
+
* - Medium latency (~50-100ms)
|
|
187
|
+
* - Unlimited capacity
|
|
188
|
+
* - For recently accessed objects
|
|
189
|
+
*
|
|
190
|
+
* - **Cold tier**: R2 packfiles
|
|
191
|
+
* - Highest latency (requires packfile parsing)
|
|
192
|
+
* - Most storage efficient
|
|
193
|
+
* - For archived/rarely accessed objects
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* const storage = new TieredStorage({
|
|
198
|
+
* r2: env.GIT_OBJECTS,
|
|
199
|
+
* sql: ctx.storage.sql,
|
|
200
|
+
* prefix: 'repos/my-repo/objects'
|
|
201
|
+
* })
|
|
202
|
+
*
|
|
203
|
+
* // Store a new object
|
|
204
|
+
* await storage.putObject('abc123...', 'blob', blobData)
|
|
205
|
+
*
|
|
206
|
+
* // Retrieve an object (auto-promotes on frequent access)
|
|
207
|
+
* const result = await storage.getObject('abc123...')
|
|
208
|
+
* console.log(`Found in ${result.tier} tier, promoted: ${result.promoted}`)
|
|
209
|
+
*
|
|
210
|
+
* // Run maintenance (demotes old objects)
|
|
211
|
+
* await storage.runMaintenance()
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
export declare class TieredStorage {
|
|
215
|
+
private readonly r2;
|
|
216
|
+
private readonly sql;
|
|
217
|
+
private readonly prefix;
|
|
218
|
+
private readonly hotTierMaxBytes;
|
|
219
|
+
private readonly promotionThreshold;
|
|
220
|
+
private readonly demotionAgeDays;
|
|
221
|
+
private readonly hotTierMaxObjectSize;
|
|
222
|
+
private readonly autoPromote;
|
|
223
|
+
private readonly autoDemote;
|
|
224
|
+
private hotHits;
|
|
225
|
+
private warmHits;
|
|
226
|
+
private coldHits;
|
|
227
|
+
private misses;
|
|
228
|
+
private promotions;
|
|
229
|
+
private demotions;
|
|
230
|
+
private initialized;
|
|
231
|
+
/**
|
|
232
|
+
* Creates a new TieredStorage instance.
|
|
233
|
+
*
|
|
234
|
+
* @param options - Configuration options
|
|
235
|
+
*/
|
|
236
|
+
constructor(options: TieredStorageOptions);
|
|
237
|
+
/**
|
|
238
|
+
* Initialize the SQLite schema for tiered storage.
|
|
239
|
+
*/
|
|
240
|
+
initialize(): Promise<void>;
|
|
241
|
+
/**
|
|
242
|
+
* Get an object from the tiered storage.
|
|
243
|
+
*
|
|
244
|
+
* @description
|
|
245
|
+
* Attempts to retrieve the object from each tier in order:
|
|
246
|
+
* 1. Hot tier (SQLite)
|
|
247
|
+
* 2. Warm tier (R2 loose objects)
|
|
248
|
+
* 3. Cold tier (R2 packfiles)
|
|
249
|
+
*
|
|
250
|
+
* Automatically promotes frequently accessed objects to hotter tiers.
|
|
251
|
+
*
|
|
252
|
+
* @param sha - 40-character SHA-1 hash of the object
|
|
253
|
+
* @returns Object data with tier information, or null if not found
|
|
254
|
+
*/
|
|
255
|
+
getObject(sha: string): Promise<GetObjectResult | null>;
|
|
256
|
+
/**
|
|
257
|
+
* Store an object in the tiered storage.
|
|
258
|
+
*
|
|
259
|
+
* @description
|
|
260
|
+
* Stores the object in the appropriate tier based on size and configuration:
|
|
261
|
+
* - Small, new objects go to hot tier if capacity allows
|
|
262
|
+
* - Large objects go directly to warm tier
|
|
263
|
+
*
|
|
264
|
+
* @param sha - 40-character SHA-1 hash
|
|
265
|
+
* @param type - Git object type
|
|
266
|
+
* @param data - Raw object data
|
|
267
|
+
* @returns The tier where the object was stored
|
|
268
|
+
*/
|
|
269
|
+
putObject(sha: string, type: ObjectType, data: Uint8Array): Promise<StorageTier>;
|
|
270
|
+
/**
|
|
271
|
+
* Check if an object exists in any tier.
|
|
272
|
+
*
|
|
273
|
+
* @param sha - 40-character SHA-1 hash
|
|
274
|
+
* @returns True if object exists
|
|
275
|
+
*/
|
|
276
|
+
hasObject(sha: string): Promise<boolean>;
|
|
277
|
+
/**
|
|
278
|
+
* Delete an object from all tiers.
|
|
279
|
+
*
|
|
280
|
+
* @param sha - 40-character SHA-1 hash
|
|
281
|
+
*/
|
|
282
|
+
deleteObject(sha: string): Promise<void>;
|
|
283
|
+
/**
|
|
284
|
+
* Manually promote an object to the hot tier.
|
|
285
|
+
*
|
|
286
|
+
* @param sha - Object SHA to promote
|
|
287
|
+
* @param type - Object type
|
|
288
|
+
* @param data - Object data
|
|
289
|
+
* @returns True if promotion succeeded
|
|
290
|
+
*/
|
|
291
|
+
promoteToHot(sha: string, type: ObjectType, data: Uint8Array): Promise<boolean>;
|
|
292
|
+
/**
|
|
293
|
+
* Demote an object from hot to warm tier.
|
|
294
|
+
*
|
|
295
|
+
* @param sha - Object SHA to demote
|
|
296
|
+
*/
|
|
297
|
+
demoteToWarm(sha: string): Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* Demote an object from warm to cold tier (packfile).
|
|
300
|
+
*
|
|
301
|
+
* @description
|
|
302
|
+
* This is typically done during packfile creation, where multiple
|
|
303
|
+
* warm objects are combined into a packfile for efficiency.
|
|
304
|
+
*
|
|
305
|
+
* @param sha - Object SHA to demote
|
|
306
|
+
* @param packId - Packfile ID where object will be stored
|
|
307
|
+
* @param packOffset - Byte offset within the packfile
|
|
308
|
+
*/
|
|
309
|
+
demoteToCold(sha: string, packId: string, packOffset: number): Promise<void>;
|
|
310
|
+
/**
|
|
311
|
+
* Run maintenance tasks (demotion of old objects).
|
|
312
|
+
*
|
|
313
|
+
* @description
|
|
314
|
+
* This should be called periodically to:
|
|
315
|
+
* 1. Demote old hot tier objects to warm
|
|
316
|
+
* 2. Optionally pack warm objects into cold tier
|
|
317
|
+
*
|
|
318
|
+
* @param options - Maintenance options
|
|
319
|
+
* @returns Number of objects demoted
|
|
320
|
+
*/
|
|
321
|
+
runMaintenance(options?: {
|
|
322
|
+
dryRun?: boolean;
|
|
323
|
+
}): Promise<number>;
|
|
324
|
+
/**
|
|
325
|
+
* Get storage statistics.
|
|
326
|
+
*/
|
|
327
|
+
getStats(): Promise<TieredStorageStats>;
|
|
328
|
+
/**
|
|
329
|
+
* Create a packfile from warm tier objects.
|
|
330
|
+
*
|
|
331
|
+
* @description
|
|
332
|
+
* Combines multiple warm tier objects into a packfile stored in R2.
|
|
333
|
+
* This is more storage-efficient and can reduce costs.
|
|
334
|
+
*
|
|
335
|
+
* @param shas - Array of SHA hashes to pack
|
|
336
|
+
* @returns Pack ID and size
|
|
337
|
+
*/
|
|
338
|
+
createPackfile(shas: string[]): Promise<{
|
|
339
|
+
packId: string;
|
|
340
|
+
size: number;
|
|
341
|
+
objectCount: number;
|
|
342
|
+
}>;
|
|
343
|
+
/**
|
|
344
|
+
* Get object from hot tier (SQLite).
|
|
345
|
+
*/
|
|
346
|
+
private getFromHotTier;
|
|
347
|
+
/**
|
|
348
|
+
* Get object from warm tier (R2 loose objects).
|
|
349
|
+
*/
|
|
350
|
+
private getFromWarmTier;
|
|
351
|
+
/**
|
|
352
|
+
* Get object from cold tier (R2 packfile).
|
|
353
|
+
*/
|
|
354
|
+
private getFromColdTier;
|
|
355
|
+
/**
|
|
356
|
+
* Store object in hot tier.
|
|
357
|
+
*/
|
|
358
|
+
private storeInHotTier;
|
|
359
|
+
/**
|
|
360
|
+
* Store object in warm tier.
|
|
361
|
+
*/
|
|
362
|
+
private storeInWarmTier;
|
|
363
|
+
/**
|
|
364
|
+
* Promote object to warm tier.
|
|
365
|
+
*/
|
|
366
|
+
private promoteToWarm;
|
|
367
|
+
/**
|
|
368
|
+
* Get metadata for an object.
|
|
369
|
+
*/
|
|
370
|
+
private getMetadata;
|
|
371
|
+
/**
|
|
372
|
+
* Record an access to an object.
|
|
373
|
+
*/
|
|
374
|
+
private recordAccess;
|
|
375
|
+
/**
|
|
376
|
+
* Get total bytes in hot tier.
|
|
377
|
+
*/
|
|
378
|
+
private getHotTierBytes;
|
|
379
|
+
/**
|
|
380
|
+
* Evict objects from hot tier to make room.
|
|
381
|
+
*/
|
|
382
|
+
private evictFromHotTier;
|
|
383
|
+
/**
|
|
384
|
+
* Build R2 key for a loose object.
|
|
385
|
+
*/
|
|
386
|
+
private buildR2Key;
|
|
387
|
+
/**
|
|
388
|
+
* Build a simple packfile from objects.
|
|
389
|
+
*/
|
|
390
|
+
private buildPackfile;
|
|
391
|
+
/**
|
|
392
|
+
* Parse an object from packfile data at offset.
|
|
393
|
+
*/
|
|
394
|
+
private parsePackObject;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Create a TieredStorage instance.
|
|
398
|
+
*
|
|
399
|
+
* @param options - Configuration options
|
|
400
|
+
* @returns Configured TieredStorage instance
|
|
401
|
+
*/
|
|
402
|
+
export declare function createTieredStorage(options: TieredStorageOptions): TieredStorage;
|
|
403
|
+
//# sourceMappingURL=tiered-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiered-storage.d.ts","sourceRoot":"","sources":["../../src/do/tiered-storage.ts"],"names":[],"mappings":"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"}
|