gitx.do 0.0.1 → 0.0.3
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/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/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/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/durable-object/object-store.d.ts +401 -23
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +414 -25
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +188 -0
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +160 -0
- 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 +379 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +379 -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.d.ts +532 -29
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +389 -22
- 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.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 +211 -39
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +232 -46
- 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 +517 -71
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +410 -26
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +610 -57
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +481 -29
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +677 -67
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +497 -30
- package/dist/refs/tag.js.map +1 -1
- 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/objects.d.ts +457 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +305 -4
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +407 -35
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +27 -3
- package/dist/types/storage.js.map +1 -1
- package/dist/utils/hash.d.ts +133 -12
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +133 -12
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +102 -9
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +114 -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/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 +814 -64
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +542 -41
- 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 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lru-cache.js","sourceRoot":"","sources":["../../src/storage/lru-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lru-cache.js","sourceRoot":"","sources":["../../src/storage/lru-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,126 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Object Location Index
|
|
2
|
+
* @fileoverview Object Location Index Module
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - Parquet: Columnar format for cold storage analytics
|
|
4
|
+
* This module tracks the storage location of Git objects across multiple storage tiers.
|
|
5
|
+
* It provides a unified index for locating objects regardless of which tier contains
|
|
6
|
+
* the actual data.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* ## Storage Tiers
|
|
9
|
+
*
|
|
10
|
+
* - **Hot**: SQLite (local Durable Object storage for frequently accessed objects)
|
|
11
|
+
* - **R2**: Packed in R2 object storage (for larger objects or archives)
|
|
12
|
+
* - **Parquet**: Columnar format for cold storage analytics
|
|
13
|
+
*
|
|
14
|
+
* ## Features
|
|
15
|
+
*
|
|
16
|
+
* - O(1) object location lookup by SHA
|
|
17
|
+
* - Batch lookup for multiple objects
|
|
18
|
+
* - Tier-based statistics and querying
|
|
19
|
+
* - Object tracking during tier migrations
|
|
20
|
+
*
|
|
21
|
+
* @module storage/object-index
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Initialize the index with Durable Object storage
|
|
26
|
+
* const index = new ObjectIndex(storage);
|
|
27
|
+
*
|
|
28
|
+
* // Record an object location
|
|
29
|
+
* await index.recordLocation({
|
|
30
|
+
* sha: 'abc123...def456',
|
|
31
|
+
* tier: 'hot',
|
|
32
|
+
* size: 1024,
|
|
33
|
+
* type: 'blob'
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Look up an object
|
|
37
|
+
* const location = await index.lookupLocation('abc123...def456');
|
|
38
|
+
* if (location) {
|
|
39
|
+
* console.log(`Object is in ${location.tier} tier`);
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
11
42
|
*/
|
|
12
43
|
import { DurableObjectStorage } from '../durable-object/schema';
|
|
13
44
|
/**
|
|
14
|
-
* Storage tiers for object location
|
|
45
|
+
* Storage tiers for object location.
|
|
46
|
+
*
|
|
47
|
+
* @description
|
|
48
|
+
* Represents the different storage tiers in the tiered storage architecture:
|
|
49
|
+
* - `hot`: Fast, local SQLite storage in Durable Objects for frequently accessed data
|
|
50
|
+
* - `r2`: R2 object storage for packed objects and archives
|
|
51
|
+
* - `parquet`: Columnar Parquet format for cold storage and analytics
|
|
15
52
|
*/
|
|
16
53
|
export type StorageTier = 'hot' | 'r2' | 'parquet';
|
|
17
54
|
/**
|
|
18
|
-
* Represents the location of a git object in the tiered storage system
|
|
55
|
+
* Represents the location of a git object in the tiered storage system.
|
|
56
|
+
*
|
|
57
|
+
* @description
|
|
58
|
+
* Contains all metadata needed to locate and retrieve an object from any storage tier.
|
|
59
|
+
* The `packId` and `offset` fields are only applicable for `r2` and `parquet` tiers
|
|
60
|
+
* where objects are stored in packed format.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Hot tier object (stored directly in SQLite)
|
|
65
|
+
* const hotLocation: ObjectLocation = {
|
|
66
|
+
* tier: 'hot',
|
|
67
|
+
* packId: null,
|
|
68
|
+
* offset: null,
|
|
69
|
+
* size: 512,
|
|
70
|
+
* sha: 'abc123...',
|
|
71
|
+
* type: 'blob'
|
|
72
|
+
* };
|
|
73
|
+
*
|
|
74
|
+
* // R2 tier object (stored in a packfile)
|
|
75
|
+
* const r2Location: ObjectLocation = {
|
|
76
|
+
* tier: 'r2',
|
|
77
|
+
* packId: 'pack-xyz789',
|
|
78
|
+
* offset: 1024,
|
|
79
|
+
* size: 2048,
|
|
80
|
+
* sha: 'def456...',
|
|
81
|
+
* type: 'tree'
|
|
82
|
+
* };
|
|
83
|
+
* ```
|
|
19
84
|
*/
|
|
20
85
|
export interface ObjectLocation {
|
|
21
86
|
/** The storage tier where the object is located */
|
|
22
87
|
tier: StorageTier;
|
|
23
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* Pack file ID (for R2 or Parquet tiers).
|
|
90
|
+
* Null for hot tier where objects are stored individually.
|
|
91
|
+
*/
|
|
24
92
|
packId: string | null;
|
|
25
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Byte offset within the pack file (for R2 or Parquet tiers).
|
|
95
|
+
* Null for hot tier.
|
|
96
|
+
*/
|
|
26
97
|
offset: number | null;
|
|
27
98
|
/** Size of the object in bytes */
|
|
28
99
|
size: number;
|
|
29
|
-
/** The object's SHA-1 hash */
|
|
100
|
+
/** The object's 40-character SHA-1 hash */
|
|
30
101
|
sha: string;
|
|
31
102
|
/** Object type (blob, tree, commit, tag) */
|
|
32
103
|
type?: string;
|
|
33
|
-
/** Timestamp when location was last updated */
|
|
104
|
+
/** Timestamp when location was last updated (milliseconds since epoch) */
|
|
34
105
|
updatedAt?: number;
|
|
35
106
|
}
|
|
36
107
|
/**
|
|
37
|
-
* Statistics about objects in each storage tier
|
|
108
|
+
* Statistics about objects in each storage tier.
|
|
109
|
+
*
|
|
110
|
+
* @description
|
|
111
|
+
* Provides aggregated statistics about the distribution of objects
|
|
112
|
+
* across storage tiers, useful for monitoring and capacity planning.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const stats = await index.getStats();
|
|
117
|
+
* console.log(`Total objects: ${stats.totalObjects}`);
|
|
118
|
+
* console.log(`Hot tier: ${stats.hotCount} objects (${stats.hotSize} bytes)`);
|
|
119
|
+
* console.log(`R2 tier: ${stats.r2Count} objects (${stats.r2Size} bytes)`);
|
|
120
|
+
* ```
|
|
38
121
|
*/
|
|
39
122
|
export interface ObjectIndexStats {
|
|
40
|
-
/** Total number of indexed objects */
|
|
123
|
+
/** Total number of indexed objects across all tiers */
|
|
41
124
|
totalObjects: number;
|
|
42
125
|
/** Number of objects in hot tier */
|
|
43
126
|
hotCount: number;
|
|
@@ -53,88 +136,450 @@ export interface ObjectIndexStats {
|
|
|
53
136
|
parquetSize: number;
|
|
54
137
|
}
|
|
55
138
|
/**
|
|
56
|
-
* Result of a batch lookup operation
|
|
139
|
+
* Result of a batch lookup operation.
|
|
140
|
+
*
|
|
141
|
+
* @description
|
|
142
|
+
* Contains both found objects and a list of SHAs that were not found,
|
|
143
|
+
* allowing callers to handle missing objects appropriately.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const result = await index.batchLookup(['sha1', 'sha2', 'sha3']);
|
|
148
|
+
*
|
|
149
|
+
* for (const [sha, location] of result.found) {
|
|
150
|
+
* console.log(`${sha} is in ${location.tier}`);
|
|
151
|
+
* }
|
|
152
|
+
*
|
|
153
|
+
* if (result.missing.length > 0) {
|
|
154
|
+
* console.log(`Missing: ${result.missing.join(', ')}`);
|
|
155
|
+
* }
|
|
156
|
+
* ```
|
|
57
157
|
*/
|
|
58
158
|
export interface BatchLookupResult {
|
|
59
159
|
/** Map of SHA to location for found objects */
|
|
60
160
|
found: Map<string, ObjectLocation>;
|
|
61
|
-
/** Array of SHAs that were not found */
|
|
161
|
+
/** Array of SHAs that were not found in the index */
|
|
62
162
|
missing: string[];
|
|
63
163
|
}
|
|
64
164
|
/**
|
|
65
|
-
* Options for recording an object location
|
|
165
|
+
* Options for recording an object location.
|
|
166
|
+
*
|
|
167
|
+
* @description
|
|
168
|
+
* Specifies the parameters needed to record where an object is stored.
|
|
169
|
+
* The `packId` and `offset` are required for r2/parquet tiers but optional
|
|
170
|
+
* for hot tier.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* // Record a hot tier object
|
|
175
|
+
* await index.recordLocation({
|
|
176
|
+
* sha: 'abc123...',
|
|
177
|
+
* tier: 'hot',
|
|
178
|
+
* size: 1024,
|
|
179
|
+
* type: 'blob'
|
|
180
|
+
* });
|
|
181
|
+
*
|
|
182
|
+
* // Record an R2 tier object
|
|
183
|
+
* await index.recordLocation({
|
|
184
|
+
* sha: 'def456...',
|
|
185
|
+
* tier: 'r2',
|
|
186
|
+
* packId: 'pack-001',
|
|
187
|
+
* offset: 2048,
|
|
188
|
+
* size: 512,
|
|
189
|
+
* type: 'tree'
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
66
192
|
*/
|
|
67
193
|
export interface RecordLocationOptions {
|
|
68
|
-
/** The object's SHA-1 hash */
|
|
194
|
+
/** The object's 40-character SHA-1 hash */
|
|
69
195
|
sha: string;
|
|
70
|
-
/** Storage tier */
|
|
196
|
+
/** Storage tier where the object is stored */
|
|
71
197
|
tier: StorageTier;
|
|
72
|
-
/** Pack ID (required for r2/parquet tiers) */
|
|
198
|
+
/** Pack ID (required for r2/parquet tiers, optional for hot) */
|
|
73
199
|
packId?: string;
|
|
74
|
-
/**
|
|
200
|
+
/** Byte offset in pack file (for r2/parquet tiers) */
|
|
75
201
|
offset?: number;
|
|
76
|
-
/** Size in bytes */
|
|
202
|
+
/** Size of the object in bytes */
|
|
77
203
|
size: number;
|
|
78
|
-
/** Object type */
|
|
204
|
+
/** Object type (blob, tree, commit, tag) */
|
|
79
205
|
type?: string;
|
|
80
206
|
}
|
|
81
207
|
/**
|
|
82
|
-
* Object Index class for managing object locations across storage tiers
|
|
208
|
+
* Object Index class for managing object locations across storage tiers.
|
|
209
|
+
*
|
|
210
|
+
* @description
|
|
211
|
+
* Provides a centralized index for tracking where Git objects are stored
|
|
212
|
+
* in the tiered storage system. Uses SQLite (via Durable Object storage)
|
|
213
|
+
* for persistent, consistent storage of location metadata.
|
|
214
|
+
*
|
|
215
|
+
* ## Key Features
|
|
216
|
+
*
|
|
217
|
+
* - **Fast Lookups**: O(1) lookup by SHA using indexed SQLite queries
|
|
218
|
+
* - **Batch Operations**: Efficient bulk lookup for multiple objects
|
|
219
|
+
* - **Tier Tracking**: Query objects by storage tier
|
|
220
|
+
* - **Statistics**: Aggregate stats for monitoring and capacity planning
|
|
221
|
+
*
|
|
222
|
+
* ## Thread Safety
|
|
223
|
+
*
|
|
224
|
+
* The underlying Durable Object storage provides transactional guarantees,
|
|
225
|
+
* ensuring consistency even with concurrent access.
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const index = new ObjectIndex(storage);
|
|
230
|
+
*
|
|
231
|
+
* // Record locations
|
|
232
|
+
* await index.recordLocation({
|
|
233
|
+
* sha: 'abc123...',
|
|
234
|
+
* tier: 'hot',
|
|
235
|
+
* size: 1024,
|
|
236
|
+
* type: 'blob'
|
|
237
|
+
* });
|
|
238
|
+
*
|
|
239
|
+
* // Look up a single object
|
|
240
|
+
* const location = await index.lookupLocation('abc123...');
|
|
241
|
+
*
|
|
242
|
+
* // Batch lookup
|
|
243
|
+
* const result = await index.batchLookup(['sha1', 'sha2', 'sha3']);
|
|
244
|
+
*
|
|
245
|
+
* // Get objects by tier
|
|
246
|
+
* const hotObjects = await index.getObjectsByTier('hot');
|
|
247
|
+
*
|
|
248
|
+
* // Get statistics
|
|
249
|
+
* const stats = await index.getStats();
|
|
250
|
+
* ```
|
|
83
251
|
*/
|
|
84
252
|
export declare class ObjectIndex {
|
|
85
253
|
private _storage;
|
|
254
|
+
/**
|
|
255
|
+
* Creates a new ObjectIndex instance.
|
|
256
|
+
*
|
|
257
|
+
* @description
|
|
258
|
+
* Initializes the index with a Durable Object storage instance.
|
|
259
|
+
* The storage should have the object_index table already created
|
|
260
|
+
* by the schema migration.
|
|
261
|
+
*
|
|
262
|
+
* @param storage - Durable Object storage instance with SQL support
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```typescript
|
|
266
|
+
* // In a Durable Object class
|
|
267
|
+
* constructor(state: DurableObjectState) {
|
|
268
|
+
* this.index = new ObjectIndex(state.storage);
|
|
269
|
+
* }
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
86
272
|
constructor(storage: DurableObjectStorage);
|
|
87
273
|
/**
|
|
88
|
-
*
|
|
274
|
+
* Records the location of an object in the index.
|
|
275
|
+
*
|
|
276
|
+
* @description
|
|
277
|
+
* Inserts or updates the location record for an object. If the object
|
|
278
|
+
* already exists in the index, its location is updated (upsert behavior).
|
|
279
|
+
*
|
|
280
|
+
* @param options - Location recording options including SHA, tier, size, etc.
|
|
281
|
+
*
|
|
282
|
+
* @throws {Error} If SHA format is invalid
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* ```typescript
|
|
286
|
+
* // Record a new object in hot tier
|
|
287
|
+
* await index.recordLocation({
|
|
288
|
+
* sha: 'abc123def456789012345678901234567890abcd',
|
|
289
|
+
* tier: 'hot',
|
|
290
|
+
* size: 1024,
|
|
291
|
+
* type: 'blob'
|
|
292
|
+
* });
|
|
293
|
+
*
|
|
294
|
+
* // Record an object in R2 pack
|
|
295
|
+
* await index.recordLocation({
|
|
296
|
+
* sha: 'def456789012345678901234567890abcdef12',
|
|
297
|
+
* tier: 'r2',
|
|
298
|
+
* packId: 'pack-abc123',
|
|
299
|
+
* offset: 4096,
|
|
300
|
+
* size: 2048,
|
|
301
|
+
* type: 'tree'
|
|
302
|
+
* });
|
|
303
|
+
* ```
|
|
89
304
|
*/
|
|
90
305
|
recordLocation(options: RecordLocationOptions): Promise<void>;
|
|
91
306
|
/**
|
|
92
|
-
*
|
|
307
|
+
* Looks up the location of an object by SHA.
|
|
308
|
+
*
|
|
309
|
+
* @description
|
|
310
|
+
* Retrieves the storage location for a single object. Returns null if
|
|
311
|
+
* the object is not found in the index.
|
|
312
|
+
*
|
|
313
|
+
* @param sha - The 40-character SHA-1 hash of the object
|
|
314
|
+
*
|
|
315
|
+
* @returns The object location or null if not found
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* const location = await index.lookupLocation('abc123...');
|
|
320
|
+
* if (location) {
|
|
321
|
+
* console.log(`Object is in ${location.tier} tier`);
|
|
322
|
+
* if (location.packId) {
|
|
323
|
+
* console.log(`Pack: ${location.packId}, Offset: ${location.offset}`);
|
|
324
|
+
* }
|
|
325
|
+
* } else {
|
|
326
|
+
* console.log('Object not found');
|
|
327
|
+
* }
|
|
328
|
+
* ```
|
|
93
329
|
*/
|
|
94
330
|
lookupLocation(sha: string): Promise<ObjectLocation | null>;
|
|
95
331
|
/**
|
|
96
|
-
*
|
|
332
|
+
* Performs batch lookup of multiple objects.
|
|
333
|
+
*
|
|
334
|
+
* @description
|
|
335
|
+
* Efficiently looks up locations for multiple objects in a single query.
|
|
336
|
+
* Returns both found locations and a list of missing SHAs.
|
|
337
|
+
*
|
|
338
|
+
* This is more efficient than multiple single lookups when you need
|
|
339
|
+
* to find several objects.
|
|
340
|
+
*
|
|
341
|
+
* @param shas - Array of SHA-1 hashes to look up
|
|
342
|
+
*
|
|
343
|
+
* @returns Result containing found locations and missing SHAs
|
|
344
|
+
*
|
|
345
|
+
* @example
|
|
346
|
+
* ```typescript
|
|
347
|
+
* const shas = ['sha1...', 'sha2...', 'sha3...'];
|
|
348
|
+
* const result = await index.batchLookup(shas);
|
|
349
|
+
*
|
|
350
|
+
* console.log(`Found ${result.found.size} objects`);
|
|
351
|
+
* console.log(`Missing ${result.missing.length} objects`);
|
|
352
|
+
*
|
|
353
|
+
* for (const [sha, location] of result.found) {
|
|
354
|
+
* console.log(`${sha}: ${location.tier}`);
|
|
355
|
+
* }
|
|
356
|
+
* ```
|
|
97
357
|
*/
|
|
98
358
|
batchLookup(shas: string[]): Promise<BatchLookupResult>;
|
|
99
359
|
/**
|
|
100
|
-
*
|
|
360
|
+
* Updates the location of an object (e.g., when moving between tiers).
|
|
361
|
+
*
|
|
362
|
+
* @description
|
|
363
|
+
* Updates the tier, packId, and offset for an existing object.
|
|
364
|
+
* Use this when migrating objects between storage tiers.
|
|
365
|
+
*
|
|
366
|
+
* Note: This only updates existing records. If the object doesn't exist,
|
|
367
|
+
* no action is taken. Use `recordLocation` for upsert behavior.
|
|
368
|
+
*
|
|
369
|
+
* @param sha - The object's SHA-1 hash
|
|
370
|
+
* @param newTier - The new storage tier
|
|
371
|
+
* @param packId - Pack ID for r2/parquet tiers (optional)
|
|
372
|
+
* @param offset - Byte offset in pack file (optional)
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* ```typescript
|
|
376
|
+
* // Migrate object from hot to R2
|
|
377
|
+
* await index.updateLocation(
|
|
378
|
+
* 'abc123...',
|
|
379
|
+
* 'r2',
|
|
380
|
+
* 'pack-new123',
|
|
381
|
+
* 1024
|
|
382
|
+
* );
|
|
383
|
+
*
|
|
384
|
+
* // Migrate object to hot tier
|
|
385
|
+
* await index.updateLocation('abc123...', 'hot');
|
|
386
|
+
* ```
|
|
101
387
|
*/
|
|
102
388
|
updateLocation(sha: string, newTier: StorageTier, packId?: string, offset?: number): Promise<void>;
|
|
103
389
|
/**
|
|
104
|
-
*
|
|
390
|
+
* Gets statistics about object distribution across tiers.
|
|
391
|
+
*
|
|
392
|
+
* @description
|
|
393
|
+
* Returns aggregated statistics including object counts and total sizes
|
|
394
|
+
* for each storage tier. Useful for monitoring storage usage and
|
|
395
|
+
* capacity planning.
|
|
396
|
+
*
|
|
397
|
+
* @returns Statistics about objects in each tier
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* ```typescript
|
|
401
|
+
* const stats = await index.getStats();
|
|
402
|
+
*
|
|
403
|
+
* console.log(`Total objects: ${stats.totalObjects}`);
|
|
404
|
+
* console.log('Hot tier:');
|
|
405
|
+
* console.log(` Count: ${stats.hotCount}`);
|
|
406
|
+
* console.log(` Size: ${(stats.hotSize / 1024 / 1024).toFixed(2)} MB`);
|
|
407
|
+
* console.log('R2 tier:');
|
|
408
|
+
* console.log(` Count: ${stats.r2Count}`);
|
|
409
|
+
* console.log(` Size: ${(stats.r2Size / 1024 / 1024).toFixed(2)} MB`);
|
|
410
|
+
* ```
|
|
105
411
|
*/
|
|
106
412
|
getStats(): Promise<ObjectIndexStats>;
|
|
107
413
|
/**
|
|
108
|
-
*
|
|
414
|
+
* Checks if an object exists in the index.
|
|
415
|
+
*
|
|
416
|
+
* @description
|
|
417
|
+
* Returns true if the object is tracked in the index, regardless of
|
|
418
|
+
* which tier it's stored in.
|
|
419
|
+
*
|
|
420
|
+
* @param sha - The object's SHA-1 hash
|
|
421
|
+
*
|
|
422
|
+
* @returns true if the object exists in the index
|
|
423
|
+
*
|
|
424
|
+
* @example
|
|
425
|
+
* ```typescript
|
|
426
|
+
* if (await index.exists('abc123...')) {
|
|
427
|
+
* console.log('Object is tracked');
|
|
428
|
+
* } else {
|
|
429
|
+
* console.log('Object is not in the index');
|
|
430
|
+
* }
|
|
431
|
+
* ```
|
|
109
432
|
*/
|
|
110
433
|
exists(sha: string): Promise<boolean>;
|
|
111
434
|
/**
|
|
112
|
-
*
|
|
435
|
+
* Deletes an object from the index.
|
|
436
|
+
*
|
|
437
|
+
* @description
|
|
438
|
+
* Removes the location record for an object. This does NOT delete
|
|
439
|
+
* the actual object data from storage - only the index entry.
|
|
440
|
+
*
|
|
441
|
+
* @param sha - The object's SHA-1 hash
|
|
442
|
+
*
|
|
443
|
+
* @returns true if the object was deleted, false if it didn't exist
|
|
444
|
+
*
|
|
445
|
+
* @example
|
|
446
|
+
* ```typescript
|
|
447
|
+
* if (await index.deleteLocation('abc123...')) {
|
|
448
|
+
* console.log('Location record deleted');
|
|
449
|
+
* } else {
|
|
450
|
+
* console.log('Object was not in the index');
|
|
451
|
+
* }
|
|
452
|
+
* ```
|
|
113
453
|
*/
|
|
114
454
|
deleteLocation(sha: string): Promise<boolean>;
|
|
115
455
|
/**
|
|
116
|
-
*
|
|
456
|
+
* Gets all objects in a specific tier.
|
|
457
|
+
*
|
|
458
|
+
* @description
|
|
459
|
+
* Returns all objects currently stored in the specified tier.
|
|
460
|
+
* Useful for migration planning or tier-specific operations.
|
|
461
|
+
*
|
|
462
|
+
* @param tier - The storage tier to query ('hot', 'r2', or 'parquet')
|
|
463
|
+
*
|
|
464
|
+
* @returns Array of object locations in the specified tier
|
|
465
|
+
*
|
|
466
|
+
* @example
|
|
467
|
+
* ```typescript
|
|
468
|
+
* // Get all hot tier objects
|
|
469
|
+
* const hotObjects = await index.getObjectsByTier('hot');
|
|
470
|
+
* console.log(`Hot tier has ${hotObjects.length} objects`);
|
|
471
|
+
*
|
|
472
|
+
* // Calculate total size
|
|
473
|
+
* const totalSize = hotObjects.reduce((sum, obj) => sum + obj.size, 0);
|
|
474
|
+
* console.log(`Total hot tier size: ${totalSize} bytes`);
|
|
475
|
+
* ```
|
|
117
476
|
*/
|
|
118
477
|
getObjectsByTier(tier: StorageTier): Promise<ObjectLocation[]>;
|
|
119
478
|
/**
|
|
120
|
-
*
|
|
479
|
+
* Gets all objects in a specific pack.
|
|
480
|
+
*
|
|
481
|
+
* @description
|
|
482
|
+
* Returns all objects stored in a particular packfile, sorted by offset.
|
|
483
|
+
* Useful for pack operations like repacking or verification.
|
|
484
|
+
*
|
|
485
|
+
* @param packId - The pack file identifier
|
|
486
|
+
*
|
|
487
|
+
* @returns Array of object locations in the pack, sorted by offset
|
|
488
|
+
*
|
|
489
|
+
* @example
|
|
490
|
+
* ```typescript
|
|
491
|
+
* const packObjects = await index.getObjectsByPack('pack-abc123');
|
|
492
|
+
* console.log(`Pack contains ${packObjects.length} objects`);
|
|
493
|
+
*
|
|
494
|
+
* // Objects are sorted by offset for sequential reading
|
|
495
|
+
* for (const obj of packObjects) {
|
|
496
|
+
* console.log(` ${obj.sha}: offset=${obj.offset}, size=${obj.size}`);
|
|
497
|
+
* }
|
|
498
|
+
* ```
|
|
121
499
|
*/
|
|
122
500
|
getObjectsByPack(packId: string): Promise<ObjectLocation[]>;
|
|
123
501
|
}
|
|
124
502
|
/**
|
|
125
|
-
*
|
|
503
|
+
* Records the location of an object (standalone function).
|
|
504
|
+
*
|
|
505
|
+
* @description
|
|
506
|
+
* Standalone function that creates a temporary ObjectIndex instance
|
|
507
|
+
* to record an object's location. Useful when you don't need to
|
|
508
|
+
* maintain an ObjectIndex instance.
|
|
509
|
+
*
|
|
510
|
+
* @param storage - Durable Object storage instance
|
|
511
|
+
* @param options - Location recording options
|
|
512
|
+
*
|
|
513
|
+
* @throws {Error} If SHA format is invalid
|
|
514
|
+
*
|
|
515
|
+
* @example
|
|
516
|
+
* ```typescript
|
|
517
|
+
* await recordLocation(storage, {
|
|
518
|
+
* sha: 'abc123...',
|
|
519
|
+
* tier: 'hot',
|
|
520
|
+
* size: 1024,
|
|
521
|
+
* type: 'blob'
|
|
522
|
+
* });
|
|
523
|
+
* ```
|
|
126
524
|
*/
|
|
127
525
|
export declare function recordLocation(storage: DurableObjectStorage, options: RecordLocationOptions): Promise<void>;
|
|
128
526
|
/**
|
|
129
|
-
*
|
|
527
|
+
* Looks up the location of an object by SHA (standalone function).
|
|
528
|
+
*
|
|
529
|
+
* @description
|
|
530
|
+
* Standalone function for single object lookup. Creates a temporary
|
|
531
|
+
* ObjectIndex instance internally.
|
|
532
|
+
*
|
|
533
|
+
* @param storage - Durable Object storage instance
|
|
534
|
+
* @param sha - The object's SHA-1 hash
|
|
535
|
+
*
|
|
536
|
+
* @returns Object location or null if not found
|
|
537
|
+
*
|
|
538
|
+
* @example
|
|
539
|
+
* ```typescript
|
|
540
|
+
* const location = await lookupLocation(storage, 'abc123...');
|
|
541
|
+
* if (location) {
|
|
542
|
+
* console.log(`Found in ${location.tier}`);
|
|
543
|
+
* }
|
|
544
|
+
* ```
|
|
130
545
|
*/
|
|
131
546
|
export declare function lookupLocation(storage: DurableObjectStorage, sha: string): Promise<ObjectLocation | null>;
|
|
132
547
|
/**
|
|
133
|
-
*
|
|
548
|
+
* Performs batch lookup of multiple objects (standalone function).
|
|
549
|
+
*
|
|
550
|
+
* @description
|
|
551
|
+
* Standalone function for batch object lookup. More efficient than
|
|
552
|
+
* multiple single lookups when querying several objects.
|
|
553
|
+
*
|
|
554
|
+
* @param storage - Durable Object storage instance
|
|
555
|
+
* @param shas - Array of SHA-1 hashes to look up
|
|
556
|
+
*
|
|
557
|
+
* @returns Result containing found locations and missing SHAs
|
|
558
|
+
*
|
|
559
|
+
* @example
|
|
560
|
+
* ```typescript
|
|
561
|
+
* const result = await batchLookup(storage, ['sha1...', 'sha2...']);
|
|
562
|
+
* console.log(`Found: ${result.found.size}, Missing: ${result.missing.length}`);
|
|
563
|
+
* ```
|
|
134
564
|
*/
|
|
135
565
|
export declare function batchLookup(storage: DurableObjectStorage, shas: string[]): Promise<BatchLookupResult>;
|
|
136
566
|
/**
|
|
137
|
-
*
|
|
567
|
+
* Gets statistics about object distribution (standalone function).
|
|
568
|
+
*
|
|
569
|
+
* @description
|
|
570
|
+
* Standalone function for retrieving object distribution statistics
|
|
571
|
+
* across storage tiers.
|
|
572
|
+
*
|
|
573
|
+
* @param storage - Durable Object storage instance
|
|
574
|
+
*
|
|
575
|
+
* @returns Statistics about objects in each tier
|
|
576
|
+
*
|
|
577
|
+
* @example
|
|
578
|
+
* ```typescript
|
|
579
|
+
* const stats = await getStats(storage);
|
|
580
|
+
* console.log(`Total: ${stats.totalObjects} objects`);
|
|
581
|
+
* console.log(`Hot: ${stats.hotCount}, R2: ${stats.r2Count}`);
|
|
582
|
+
* ```
|
|
138
583
|
*/
|
|
139
584
|
export declare function getStats(storage: DurableObjectStorage): Promise<ObjectIndexStats>;
|
|
140
585
|
//# sourceMappingURL=object-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-index.d.ts","sourceRoot":"","sources":["../../src/storage/object-index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"object-index.d.ts","sourceRoot":"","sources":["../../src/storage/object-index.ts"],"names":[],"mappings":"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"}
|