gitx.do 0.0.1
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/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/durable-object/object-store.d.ts +113 -0
- package/dist/durable-object/object-store.d.ts.map +1 -0
- package/dist/durable-object/object-store.js +387 -0
- package/dist/durable-object/object-store.js.map +1 -0
- package/dist/durable-object/schema.d.ts +17 -0
- package/dist/durable-object/schema.d.ts.map +1 -0
- package/dist/durable-object/schema.js +43 -0
- package/dist/durable-object/schema.js.map +1 -0
- package/dist/durable-object/wal.d.ts +111 -0
- package/dist/durable-object/wal.d.ts.map +1 -0
- package/dist/durable-object/wal.js +200 -0
- package/dist/durable-object/wal.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/adapter.d.ts +231 -0
- package/dist/mcp/adapter.d.ts.map +1 -0
- package/dist/mcp/adapter.js +502 -0
- package/dist/mcp/adapter.js.map +1 -0
- package/dist/mcp/sandbox.d.ts +261 -0
- package/dist/mcp/sandbox.d.ts.map +1 -0
- package/dist/mcp/sandbox.js +983 -0
- package/dist/mcp/sandbox.js.map +1 -0
- package/dist/mcp/sdk-adapter.d.ts +413 -0
- package/dist/mcp/sdk-adapter.d.ts.map +1 -0
- package/dist/mcp/sdk-adapter.js +672 -0
- package/dist/mcp/sdk-adapter.js.map +1 -0
- package/dist/mcp/tools.d.ts +133 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +1604 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/ops/blame.d.ts +148 -0
- package/dist/ops/blame.d.ts.map +1 -0
- package/dist/ops/blame.js +754 -0
- package/dist/ops/blame.js.map +1 -0
- package/dist/ops/branch.d.ts +215 -0
- package/dist/ops/branch.d.ts.map +1 -0
- package/dist/ops/branch.js +608 -0
- package/dist/ops/branch.js.map +1 -0
- package/dist/ops/commit-traversal.d.ts +209 -0
- package/dist/ops/commit-traversal.d.ts.map +1 -0
- package/dist/ops/commit-traversal.js +755 -0
- package/dist/ops/commit-traversal.js.map +1 -0
- package/dist/ops/commit.d.ts +221 -0
- package/dist/ops/commit.d.ts.map +1 -0
- package/dist/ops/commit.js +606 -0
- package/dist/ops/commit.js.map +1 -0
- package/dist/ops/merge-base.d.ts +223 -0
- package/dist/ops/merge-base.d.ts.map +1 -0
- package/dist/ops/merge-base.js +581 -0
- package/dist/ops/merge-base.js.map +1 -0
- package/dist/ops/merge.d.ts +385 -0
- package/dist/ops/merge.d.ts.map +1 -0
- package/dist/ops/merge.js +1203 -0
- package/dist/ops/merge.js.map +1 -0
- package/dist/ops/tag.d.ts +182 -0
- package/dist/ops/tag.d.ts.map +1 -0
- package/dist/ops/tag.js +608 -0
- package/dist/ops/tag.js.map +1 -0
- package/dist/ops/tree-builder.d.ts +82 -0
- package/dist/ops/tree-builder.d.ts.map +1 -0
- package/dist/ops/tree-builder.js +246 -0
- package/dist/ops/tree-builder.js.map +1 -0
- package/dist/ops/tree-diff.d.ts +243 -0
- package/dist/ops/tree-diff.d.ts.map +1 -0
- package/dist/ops/tree-diff.js +657 -0
- package/dist/ops/tree-diff.js.map +1 -0
- package/dist/pack/delta.d.ts +68 -0
- package/dist/pack/delta.d.ts.map +1 -0
- package/dist/pack/delta.js +343 -0
- package/dist/pack/delta.js.map +1 -0
- package/dist/pack/format.d.ts +84 -0
- package/dist/pack/format.d.ts.map +1 -0
- package/dist/pack/format.js +261 -0
- package/dist/pack/format.js.map +1 -0
- package/dist/pack/full-generation.d.ts +327 -0
- package/dist/pack/full-generation.d.ts.map +1 -0
- package/dist/pack/full-generation.js +1159 -0
- package/dist/pack/full-generation.js.map +1 -0
- package/dist/pack/generation.d.ts +118 -0
- package/dist/pack/generation.d.ts.map +1 -0
- package/dist/pack/generation.js +459 -0
- package/dist/pack/generation.js.map +1 -0
- package/dist/pack/index.d.ts +181 -0
- package/dist/pack/index.d.ts.map +1 -0
- package/dist/pack/index.js +552 -0
- package/dist/pack/index.js.map +1 -0
- package/dist/refs/branch.d.ts +224 -0
- package/dist/refs/branch.d.ts.map +1 -0
- package/dist/refs/branch.js +170 -0
- package/dist/refs/branch.js.map +1 -0
- package/dist/refs/storage.d.ts +208 -0
- package/dist/refs/storage.d.ts.map +1 -0
- package/dist/refs/storage.js +421 -0
- package/dist/refs/storage.js.map +1 -0
- package/dist/refs/tag.d.ts +230 -0
- package/dist/refs/tag.d.ts.map +1 -0
- package/dist/refs/tag.js +188 -0
- package/dist/refs/tag.js.map +1 -0
- package/dist/storage/lru-cache.d.ts +188 -0
- package/dist/storage/lru-cache.d.ts.map +1 -0
- package/dist/storage/lru-cache.js +410 -0
- package/dist/storage/lru-cache.js.map +1 -0
- package/dist/storage/object-index.d.ts +140 -0
- package/dist/storage/object-index.d.ts.map +1 -0
- package/dist/storage/object-index.js +166 -0
- package/dist/storage/object-index.js.map +1 -0
- package/dist/storage/r2-pack.d.ts +394 -0
- package/dist/storage/r2-pack.d.ts.map +1 -0
- package/dist/storage/r2-pack.js +1062 -0
- package/dist/storage/r2-pack.js.map +1 -0
- package/dist/tiered/cdc-pipeline.d.ts +316 -0
- package/dist/tiered/cdc-pipeline.d.ts.map +1 -0
- package/dist/tiered/cdc-pipeline.js +771 -0
- package/dist/tiered/cdc-pipeline.js.map +1 -0
- package/dist/tiered/migration.d.ts +242 -0
- package/dist/tiered/migration.d.ts.map +1 -0
- package/dist/tiered/migration.js +592 -0
- package/dist/tiered/migration.js.map +1 -0
- package/dist/tiered/parquet-writer.d.ts +248 -0
- package/dist/tiered/parquet-writer.d.ts.map +1 -0
- package/dist/tiered/parquet-writer.js +555 -0
- package/dist/tiered/parquet-writer.js.map +1 -0
- package/dist/tiered/read-path.d.ts +141 -0
- package/dist/tiered/read-path.d.ts.map +1 -0
- package/dist/tiered/read-path.js +204 -0
- package/dist/tiered/read-path.js.map +1 -0
- package/dist/types/objects.d.ts +53 -0
- package/dist/types/objects.d.ts.map +1 -0
- package/dist/types/objects.js +291 -0
- package/dist/types/objects.js.map +1 -0
- package/dist/types/storage.d.ts +117 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +8 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/utils/hash.d.ts +31 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +60 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/sha1.d.ts +26 -0
- package/dist/utils/sha1.d.ts.map +1 -0
- package/dist/utils/sha1.js +127 -0
- package/dist/utils/sha1.js.map +1 -0
- package/dist/wire/capabilities.d.ts +236 -0
- package/dist/wire/capabilities.d.ts.map +1 -0
- package/dist/wire/capabilities.js +437 -0
- package/dist/wire/capabilities.js.map +1 -0
- package/dist/wire/pkt-line.d.ts +67 -0
- package/dist/wire/pkt-line.d.ts.map +1 -0
- package/dist/wire/pkt-line.js +145 -0
- package/dist/wire/pkt-line.js.map +1 -0
- package/dist/wire/receive-pack.d.ts +302 -0
- package/dist/wire/receive-pack.d.ts.map +1 -0
- package/dist/wire/receive-pack.js +885 -0
- package/dist/wire/receive-pack.js.map +1 -0
- package/dist/wire/smart-http.d.ts +321 -0
- package/dist/wire/smart-http.d.ts.map +1 -0
- package/dist/wire/smart-http.js +654 -0
- package/dist/wire/smart-http.js.map +1 -0
- package/dist/wire/upload-pack.d.ts +333 -0
- package/dist/wire/upload-pack.d.ts.map +1 -0
- package/dist/wire/upload-pack.js +850 -0
- package/dist/wire/upload-pack.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-store.js","sourceRoot":"","sources":["../../src/durable-object/object-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface DurableObjectStorage {
|
|
2
|
+
sql: {
|
|
3
|
+
exec(query: string, ...params: unknown[]): {
|
|
4
|
+
toArray(): unknown[];
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export declare const SCHEMA_VERSION = 1;
|
|
9
|
+
export declare const SCHEMA_SQL = "\n-- Git objects (blobs, trees, commits, tags)\nCREATE TABLE IF NOT EXISTS objects (sha TEXT PRIMARY KEY, type TEXT NOT NULL, size INTEGER NOT NULL, data BLOB NOT NULL, created_at INTEGER);\n\n-- Object location index for tiered storage\nCREATE TABLE IF NOT EXISTS object_index (sha TEXT PRIMARY KEY, tier TEXT NOT NULL DEFAULT 'hot', location TEXT NOT NULL DEFAULT 'local', size INTEGER, type TEXT);\n\n-- Hot objects cache\nCREATE TABLE IF NOT EXISTS hot_objects (sha TEXT PRIMARY KEY, type TEXT NOT NULL, data BLOB NOT NULL, accessed_at INTEGER, created_at INTEGER);\n\n-- Write-ahead log\nCREATE TABLE IF NOT EXISTS wal (id INTEGER PRIMARY KEY AUTOINCREMENT, operation TEXT NOT NULL, payload BLOB NOT NULL, created_at INTEGER, flushed INTEGER DEFAULT 0);\n\n-- Refs table\nCREATE TABLE IF NOT EXISTS refs (name TEXT PRIMARY KEY, target TEXT NOT NULL, type TEXT DEFAULT 'sha', updated_at INTEGER);\n\n-- Indexes\nCREATE INDEX IF NOT EXISTS idx_objects_type ON objects(type);\nCREATE INDEX IF NOT EXISTS idx_wal_flushed ON wal(flushed);\nCREATE INDEX IF NOT EXISTS idx_hot_objects_accessed ON hot_objects(accessed_at);\n";
|
|
10
|
+
export declare class SchemaManager {
|
|
11
|
+
private storage;
|
|
12
|
+
constructor(storage: DurableObjectStorage);
|
|
13
|
+
initializeSchema(): Promise<void>;
|
|
14
|
+
getSchemaVersion(): Promise<number>;
|
|
15
|
+
validateSchema(): Promise<boolean>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/durable-object/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE;QACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;YAAE,OAAO,IAAI,OAAO,EAAE,CAAA;SAAE,CAAA;KACpE,CAAA;CACF;AAED,eAAO,MAAM,cAAc,IAAI,CAAA;AAE/B,eAAO,MAAM,UAAU,umCAoBtB,CAAA;AAID,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAE3C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CASzC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const SCHEMA_VERSION = 1;
|
|
2
|
+
export const SCHEMA_SQL = `
|
|
3
|
+
-- Git objects (blobs, trees, commits, tags)
|
|
4
|
+
CREATE TABLE IF NOT EXISTS objects (sha TEXT PRIMARY KEY, type TEXT NOT NULL, size INTEGER NOT NULL, data BLOB NOT NULL, created_at INTEGER);
|
|
5
|
+
|
|
6
|
+
-- Object location index for tiered storage
|
|
7
|
+
CREATE TABLE IF NOT EXISTS object_index (sha TEXT PRIMARY KEY, tier TEXT NOT NULL DEFAULT 'hot', location TEXT NOT NULL DEFAULT 'local', size INTEGER, type TEXT);
|
|
8
|
+
|
|
9
|
+
-- Hot objects cache
|
|
10
|
+
CREATE TABLE IF NOT EXISTS hot_objects (sha TEXT PRIMARY KEY, type TEXT NOT NULL, data BLOB NOT NULL, accessed_at INTEGER, created_at INTEGER);
|
|
11
|
+
|
|
12
|
+
-- Write-ahead log
|
|
13
|
+
CREATE TABLE IF NOT EXISTS wal (id INTEGER PRIMARY KEY AUTOINCREMENT, operation TEXT NOT NULL, payload BLOB NOT NULL, created_at INTEGER, flushed INTEGER DEFAULT 0);
|
|
14
|
+
|
|
15
|
+
-- Refs table
|
|
16
|
+
CREATE TABLE IF NOT EXISTS refs (name TEXT PRIMARY KEY, target TEXT NOT NULL, type TEXT DEFAULT 'sha', updated_at INTEGER);
|
|
17
|
+
|
|
18
|
+
-- Indexes
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_objects_type ON objects(type);
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_wal_flushed ON wal(flushed);
|
|
21
|
+
CREATE INDEX IF NOT EXISTS idx_hot_objects_accessed ON hot_objects(accessed_at);
|
|
22
|
+
`;
|
|
23
|
+
const REQUIRED_TABLES = ['objects', 'object_index', 'hot_objects', 'wal', 'refs'];
|
|
24
|
+
export class SchemaManager {
|
|
25
|
+
storage;
|
|
26
|
+
constructor(storage) {
|
|
27
|
+
this.storage = storage;
|
|
28
|
+
}
|
|
29
|
+
async initializeSchema() {
|
|
30
|
+
this.storage.sql.exec(SCHEMA_SQL);
|
|
31
|
+
}
|
|
32
|
+
async getSchemaVersion() {
|
|
33
|
+
const isValid = await this.validateSchema();
|
|
34
|
+
return isValid ? SCHEMA_VERSION : 0;
|
|
35
|
+
}
|
|
36
|
+
async validateSchema() {
|
|
37
|
+
const result = this.storage.sql.exec("SELECT name FROM sqlite_master WHERE type='table'");
|
|
38
|
+
const tables = result.toArray();
|
|
39
|
+
const tableNames = tables.map(t => t.name);
|
|
40
|
+
return REQUIRED_TABLES.every(table => tableNames.includes(table));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/durable-object/schema.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;CAoBzB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEjF,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAErD,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAClC,mDAAmD,CACpD,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAwB,CAAA;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAE1C,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACnE,CAAC;CACF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { DurableObjectStorage } from './schema';
|
|
2
|
+
/**
|
|
3
|
+
* WAL Operation Types
|
|
4
|
+
*/
|
|
5
|
+
export type WALOperationType = 'PUT' | 'DELETE' | 'UPDATE' | 'BATCH' | 'TX_BEGIN' | 'TX_COMMIT' | 'TX_ROLLBACK';
|
|
6
|
+
/**
|
|
7
|
+
* Transaction States
|
|
8
|
+
*/
|
|
9
|
+
export type TransactionState = 'ACTIVE' | 'COMMITTED' | 'ROLLED_BACK';
|
|
10
|
+
/**
|
|
11
|
+
* WAL Entry representing a single logged operation
|
|
12
|
+
*/
|
|
13
|
+
export interface WALEntry {
|
|
14
|
+
id: number;
|
|
15
|
+
operation: WALOperationType;
|
|
16
|
+
payload: Uint8Array;
|
|
17
|
+
transactionId: string | null;
|
|
18
|
+
createdAt: number;
|
|
19
|
+
flushed: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Transaction metadata
|
|
23
|
+
*/
|
|
24
|
+
export interface Transaction {
|
|
25
|
+
id: string;
|
|
26
|
+
state: TransactionState;
|
|
27
|
+
startedAt: number;
|
|
28
|
+
operations: number[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Checkpoint representing a consistent point in the WAL
|
|
32
|
+
*/
|
|
33
|
+
export interface Checkpoint {
|
|
34
|
+
id: number;
|
|
35
|
+
walPosition: number;
|
|
36
|
+
createdAt: number;
|
|
37
|
+
metadata: string | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* WALManager - Write-Ahead Log Manager for transaction durability
|
|
41
|
+
*
|
|
42
|
+
* Provides durability guarantees by logging all operations before they are applied.
|
|
43
|
+
* Supports transactions with begin/commit/rollback semantics and checkpoint management.
|
|
44
|
+
*/
|
|
45
|
+
export declare class WALManager {
|
|
46
|
+
private storage;
|
|
47
|
+
private transactions;
|
|
48
|
+
private currentWalPosition;
|
|
49
|
+
constructor(storage: DurableObjectStorage);
|
|
50
|
+
/**
|
|
51
|
+
* Append an operation to the WAL
|
|
52
|
+
* @param operation The type of operation
|
|
53
|
+
* @param payload The operation payload as binary data
|
|
54
|
+
* @param transactionId Optional transaction ID to associate with this operation
|
|
55
|
+
* @returns The ID of the appended WAL entry
|
|
56
|
+
*/
|
|
57
|
+
append(operation: WALOperationType, payload: Uint8Array, transactionId?: string): Promise<number>;
|
|
58
|
+
/**
|
|
59
|
+
* Flush all unflushed WAL entries
|
|
60
|
+
* @returns The number of entries flushed
|
|
61
|
+
*/
|
|
62
|
+
flush(): Promise<number>;
|
|
63
|
+
/**
|
|
64
|
+
* Recover unflushed WAL entries for replay
|
|
65
|
+
* @returns Array of unflushed WAL entries in order
|
|
66
|
+
*/
|
|
67
|
+
recover(): Promise<WALEntry[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Begin a new transaction
|
|
70
|
+
* @returns The transaction ID
|
|
71
|
+
*/
|
|
72
|
+
beginTransaction(): Promise<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Commit a transaction
|
|
75
|
+
* @param transactionId The transaction ID to commit
|
|
76
|
+
*/
|
|
77
|
+
commitTransaction(transactionId: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Rollback a transaction
|
|
80
|
+
* @param transactionId The transaction ID to rollback
|
|
81
|
+
*/
|
|
82
|
+
rollbackTransaction(transactionId: string): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Get the state of a transaction
|
|
85
|
+
* @param transactionId The transaction ID
|
|
86
|
+
* @returns The transaction state or null if not found
|
|
87
|
+
*/
|
|
88
|
+
getTransactionState(transactionId: string): Promise<TransactionState | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Create a checkpoint at the current WAL position
|
|
91
|
+
* @param metadata Optional metadata to associate with the checkpoint
|
|
92
|
+
* @returns The created checkpoint
|
|
93
|
+
*/
|
|
94
|
+
createCheckpoint(metadata?: string): Promise<Checkpoint>;
|
|
95
|
+
/**
|
|
96
|
+
* Get the most recent checkpoint
|
|
97
|
+
* @returns The last checkpoint or null if none exist
|
|
98
|
+
*/
|
|
99
|
+
getLastCheckpoint(): Promise<Checkpoint | null>;
|
|
100
|
+
/**
|
|
101
|
+
* Truncate WAL entries before a checkpoint
|
|
102
|
+
* @param checkpoint The checkpoint to truncate before
|
|
103
|
+
*/
|
|
104
|
+
truncateBeforeCheckpoint(checkpoint: Checkpoint): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Get the count of unflushed WAL entries
|
|
107
|
+
* @returns The number of unflushed entries
|
|
108
|
+
*/
|
|
109
|
+
getUnflushedCount(): Promise<number>;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=wal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wal.d.ts","sourceRoot":"","sources":["../../src/durable-object/wal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;AAE/G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAA;AAErE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,UAAU,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAWD;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,kBAAkB,CAAY;gBAE1B,OAAO,EAAE,oBAAoB;IAIzC;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBvG;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB9B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IASpC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBzC;;;OAGG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7D;;;OAGG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC/D;;;;OAIG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAclF;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B9D;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IASrD;;;OAGG;IACG,wBAAwB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrE;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;CAQ3C"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a unique transaction ID
|
|
3
|
+
*/
|
|
4
|
+
function generateTransactionId() {
|
|
5
|
+
const timestamp = Date.now().toString(36);
|
|
6
|
+
const random = Math.random().toString(36).substring(2, 10);
|
|
7
|
+
return `tx-${timestamp}-${random}`;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* WALManager - Write-Ahead Log Manager for transaction durability
|
|
11
|
+
*
|
|
12
|
+
* Provides durability guarantees by logging all operations before they are applied.
|
|
13
|
+
* Supports transactions with begin/commit/rollback semantics and checkpoint management.
|
|
14
|
+
*/
|
|
15
|
+
export class WALManager {
|
|
16
|
+
storage;
|
|
17
|
+
transactions = new Map();
|
|
18
|
+
currentWalPosition = 0;
|
|
19
|
+
constructor(storage) {
|
|
20
|
+
this.storage = storage;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Append an operation to the WAL
|
|
24
|
+
* @param operation The type of operation
|
|
25
|
+
* @param payload The operation payload as binary data
|
|
26
|
+
* @param transactionId Optional transaction ID to associate with this operation
|
|
27
|
+
* @returns The ID of the appended WAL entry
|
|
28
|
+
*/
|
|
29
|
+
async append(operation, payload, transactionId) {
|
|
30
|
+
const result = this.storage.sql.exec('INSERT INTO wal (operation, payload, transaction_id) VALUES (?, ?, ?)', operation, payload, transactionId ?? null);
|
|
31
|
+
const rows = result.toArray();
|
|
32
|
+
const entryId = rows[0]?.id ?? this.currentWalPosition + 1;
|
|
33
|
+
this.currentWalPosition = entryId;
|
|
34
|
+
// Track operation in transaction if applicable
|
|
35
|
+
if (transactionId) {
|
|
36
|
+
const tx = this.transactions.get(transactionId);
|
|
37
|
+
if (tx) {
|
|
38
|
+
tx.operations.push(entryId);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return entryId;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Flush all unflushed WAL entries
|
|
45
|
+
* @returns The number of entries flushed
|
|
46
|
+
*/
|
|
47
|
+
async flush() {
|
|
48
|
+
// Get count of unflushed entries
|
|
49
|
+
const countResult = this.storage.sql.exec('SELECT COUNT(*) as count FROM wal WHERE flushed = 0');
|
|
50
|
+
const countRows = countResult.toArray();
|
|
51
|
+
const count = countRows[0]?.count ?? 0;
|
|
52
|
+
if (count === 0) {
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
// Mark all unflushed entries as flushed
|
|
56
|
+
this.storage.sql.exec('UPDATE wal SET flushed = 1 WHERE flushed = 0');
|
|
57
|
+
return count;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Recover unflushed WAL entries for replay
|
|
61
|
+
* @returns Array of unflushed WAL entries in order
|
|
62
|
+
*/
|
|
63
|
+
async recover() {
|
|
64
|
+
const result = this.storage.sql.exec('SELECT id, operation, payload, transaction_id, created_at, flushed FROM wal WHERE flushed = 0 ORDER BY id ASC');
|
|
65
|
+
const rows = result.toArray();
|
|
66
|
+
return rows.sort((a, b) => a.id - b.id);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Begin a new transaction
|
|
70
|
+
* @returns The transaction ID
|
|
71
|
+
*/
|
|
72
|
+
async beginTransaction() {
|
|
73
|
+
const txId = generateTransactionId();
|
|
74
|
+
const transaction = {
|
|
75
|
+
id: txId,
|
|
76
|
+
state: 'ACTIVE',
|
|
77
|
+
startedAt: Date.now(),
|
|
78
|
+
operations: []
|
|
79
|
+
};
|
|
80
|
+
this.transactions.set(txId, transaction);
|
|
81
|
+
// Log transaction begin
|
|
82
|
+
this.storage.sql.exec('INSERT INTO transactions (id, state) VALUES (?, ?)', txId, 'ACTIVE');
|
|
83
|
+
// Append TX_BEGIN entry to WAL
|
|
84
|
+
await this.append('TX_BEGIN', new TextEncoder().encode(JSON.stringify({ txId })), txId);
|
|
85
|
+
return txId;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Commit a transaction
|
|
89
|
+
* @param transactionId The transaction ID to commit
|
|
90
|
+
*/
|
|
91
|
+
async commitTransaction(transactionId) {
|
|
92
|
+
const tx = this.transactions.get(transactionId);
|
|
93
|
+
if (!tx) {
|
|
94
|
+
// Check if transaction exists in storage
|
|
95
|
+
const result = this.storage.sql.exec('SELECT id, state FROM transactions WHERE id = ?', transactionId);
|
|
96
|
+
const rows = result.toArray();
|
|
97
|
+
if (rows.length === 0) {
|
|
98
|
+
throw new Error('Transaction not found');
|
|
99
|
+
}
|
|
100
|
+
throw new Error('Transaction not active');
|
|
101
|
+
}
|
|
102
|
+
if (tx.state !== 'ACTIVE') {
|
|
103
|
+
throw new Error('Transaction not active');
|
|
104
|
+
}
|
|
105
|
+
// Append TX_COMMIT entry to WAL
|
|
106
|
+
await this.append('TX_COMMIT', new TextEncoder().encode(JSON.stringify({ txId: transactionId })), transactionId);
|
|
107
|
+
// Update transaction state
|
|
108
|
+
tx.state = 'COMMITTED';
|
|
109
|
+
this.storage.sql.exec('UPDATE transactions SET state = ? WHERE id = ?', 'COMMITTED', transactionId);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Rollback a transaction
|
|
113
|
+
* @param transactionId The transaction ID to rollback
|
|
114
|
+
*/
|
|
115
|
+
async rollbackTransaction(transactionId) {
|
|
116
|
+
const tx = this.transactions.get(transactionId);
|
|
117
|
+
if (!tx) {
|
|
118
|
+
const result = this.storage.sql.exec('SELECT id, state FROM transactions WHERE id = ?', transactionId);
|
|
119
|
+
const rows = result.toArray();
|
|
120
|
+
if (rows.length === 0) {
|
|
121
|
+
throw new Error('Transaction not found');
|
|
122
|
+
}
|
|
123
|
+
throw new Error('Transaction not active');
|
|
124
|
+
}
|
|
125
|
+
if (tx.state !== 'ACTIVE') {
|
|
126
|
+
throw new Error('Transaction not active');
|
|
127
|
+
}
|
|
128
|
+
// Delete transaction entries from WAL (except TX_BEGIN)
|
|
129
|
+
this.storage.sql.exec('DELETE FROM wal WHERE transaction_id = ? AND operation NOT IN (?, ?)', transactionId, 'TX_BEGIN', 'TX_ROLLBACK');
|
|
130
|
+
// Append TX_ROLLBACK entry to WAL
|
|
131
|
+
await this.append('TX_ROLLBACK', new TextEncoder().encode(JSON.stringify({ txId: transactionId })), transactionId);
|
|
132
|
+
// Update transaction state
|
|
133
|
+
tx.state = 'ROLLED_BACK';
|
|
134
|
+
this.storage.sql.exec('UPDATE transactions SET state = ? WHERE id = ?', 'ROLLED_BACK', transactionId);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the state of a transaction
|
|
138
|
+
* @param transactionId The transaction ID
|
|
139
|
+
* @returns The transaction state or null if not found
|
|
140
|
+
*/
|
|
141
|
+
async getTransactionState(transactionId) {
|
|
142
|
+
const tx = this.transactions.get(transactionId);
|
|
143
|
+
if (tx) {
|
|
144
|
+
return tx.state;
|
|
145
|
+
}
|
|
146
|
+
const result = this.storage.sql.exec('SELECT state FROM transactions WHERE id = ?', transactionId);
|
|
147
|
+
const rows = result.toArray();
|
|
148
|
+
return rows.length > 0 ? rows[0].state : null;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Create a checkpoint at the current WAL position
|
|
152
|
+
* @param metadata Optional metadata to associate with the checkpoint
|
|
153
|
+
* @returns The created checkpoint
|
|
154
|
+
*/
|
|
155
|
+
async createCheckpoint(metadata) {
|
|
156
|
+
// Flush all pending entries before creating checkpoint
|
|
157
|
+
await this.flush();
|
|
158
|
+
// Get current WAL position
|
|
159
|
+
const countResult = this.storage.sql.exec('SELECT MAX(id) as max_id FROM wal');
|
|
160
|
+
const countRows = countResult.toArray();
|
|
161
|
+
const walPosition = countRows[0]?.max_id ?? 0;
|
|
162
|
+
// Create checkpoint entry
|
|
163
|
+
const result = this.storage.sql.exec('INSERT INTO checkpoints (wal_position, metadata) VALUES (?, ?)', walPosition, metadata ?? null);
|
|
164
|
+
const rows = result.toArray();
|
|
165
|
+
const checkpointId = rows[0]?.id ?? 1;
|
|
166
|
+
const checkpoint = {
|
|
167
|
+
id: checkpointId,
|
|
168
|
+
walPosition,
|
|
169
|
+
createdAt: Date.now(),
|
|
170
|
+
metadata: metadata ?? null
|
|
171
|
+
};
|
|
172
|
+
return checkpoint;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the most recent checkpoint
|
|
176
|
+
* @returns The last checkpoint or null if none exist
|
|
177
|
+
*/
|
|
178
|
+
async getLastCheckpoint() {
|
|
179
|
+
const result = this.storage.sql.exec('SELECT id, wal_position, created_at, metadata FROM checkpoints ORDER BY id DESC LIMIT 1');
|
|
180
|
+
const rows = result.toArray();
|
|
181
|
+
return rows.length > 0 ? rows[0] : null;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Truncate WAL entries before a checkpoint
|
|
185
|
+
* @param checkpoint The checkpoint to truncate before
|
|
186
|
+
*/
|
|
187
|
+
async truncateBeforeCheckpoint(checkpoint) {
|
|
188
|
+
this.storage.sql.exec('DELETE FROM wal WHERE id <= ? AND flushed = 1', checkpoint.walPosition);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get the count of unflushed WAL entries
|
|
192
|
+
* @returns The number of unflushed entries
|
|
193
|
+
*/
|
|
194
|
+
async getUnflushedCount() {
|
|
195
|
+
const result = this.storage.sql.exec('SELECT COUNT(*) as count FROM wal WHERE flushed = 0');
|
|
196
|
+
const rows = result.toArray();
|
|
197
|
+
return rows[0]?.count ?? 0;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=wal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wal.js","sourceRoot":"","sources":["../../src/durable-object/wal.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* gitx.do - Git implementation for Cloudflare Workers
|
|
3
|
+
*
|
|
4
|
+
* This module provides a complete Git implementation designed to run on
|
|
5
|
+
* Cloudflare Workers with Durable Objects and R2 storage.
|
|
6
|
+
*
|
|
7
|
+
* @module gitx.do
|
|
8
|
+
*/
|
|
9
|
+
export { type ObjectType, type GitObject, type BlobObject, type TreeObject, type TreeEntry, type CommitObject, type TagObject, type Author, isBlob, isTree, isCommit, isTag, serializeBlob, serializeTree, serializeCommit, serializeTag, parseBlob, parseTree, parseCommit, parseTag, } from './types/objects';
|
|
10
|
+
export { PACK_SIGNATURE, PACK_VERSION, PackObjectType, packObjectTypeToString, stringToPackObjectType, encodeVarint, decodeVarint, encodeTypeAndSize, decodeTypeAndSize, parsePackHeader, parsePackObject, createPackfile, type PackHeader, type ParsedPackObject, type PackableObject, } from './pack/format';
|
|
11
|
+
export { PACK_INDEX_SIGNATURE, PACK_INDEX_MAGIC, PACK_INDEX_VERSION, LARGE_OFFSET_THRESHOLD, parsePackIndex, createPackIndex, lookupObject, verifyPackIndex, serializePackIndex, getFanoutRange, calculateCRC32, binarySearchObjectId, binarySearchSha, parseFanoutTable, readPackOffset, type PackIndexEntry, type PackIndex, type PackIndexLookupResult, type CreatePackIndexOptions, type PackedObject, } from './pack/index';
|
|
12
|
+
export { merge, findMergeBase, resolveConflict, abortMerge, continueMerge, getMergeState, isMergeInProgress, mergeContent, isBinaryFile, type ConflictType, type MergeStrategy, type MergeStatus, type ConflictMarker, type MergeConflict, type MergeOptions, type MergeStats, type MergeResult, type MergeState, type ResolveOptions, type ResolveResult, type MergeOperationResult, type MergeStorage, } from './ops/merge';
|
|
13
|
+
export { blame, blameFile, blameLine, blameRange, getBlameForCommit, trackContentAcrossRenames, detectRenames, buildBlameHistory, formatBlame, parseBlameOutput, type BlameStorage, type BlameOptions, type BlameLineInfo, type BlameCommitInfo, type BlameEntry, type BlameResult, type BlameFormatOptions, type PathHistoryEntry, type BlameHistoryEntry, } from './ops/blame';
|
|
14
|
+
export { createCommit, amendCommit, buildCommitObject, formatCommitMessage, parseCommitMessage, validateCommitMessage, isCommitSigned, extractCommitSignature, addSignatureToCommit, isEmptyCommit, getCurrentTimezone, formatTimestamp, parseTimestamp, createAuthor, type CommitAuthor, type SigningOptions, type CommitOptions, type AmendOptions, type FormatOptions, type CommitResult, type ObjectStore, } from './ops/commit';
|
|
15
|
+
export { createBranch, deleteBranch, listBranches, renameBranch, checkoutBranch, getCurrentBranch, getBranchInfo, branchExists, setBranchTracking, getBranchTracking, removeBranchTracking, getDefaultBranch, setDefaultBranch, isValidBranchName, normalizeBranchName, type RefStore, type BranchOptions, type BranchCreateResult, type BranchDeleteOptions, type BranchDeleteResult, type BranchListOptions, type BranchInfo, type TrackingInfo, type BranchRenameOptions, type BranchRenameResult, type CheckoutOptions, type CheckoutResult, type SetTrackingResult, type RemoveTrackingResult, } from './ops/branch';
|
|
16
|
+
export { gitTools, registerTool, validateToolInput, invokeTool, listTools, getTool, type JSONSchema, type MCPToolResult, type MCPToolHandler, type MCPTool, } from './mcp/tools';
|
|
17
|
+
export { MCPAdapter, createMCPAdapter, MCPError, MCPErrorCode, type MCPCapability, type MCPServerConfig, type MCPRequest, type MCPResponse, type MCPToolInfo, type MCPResourceInfo, type MCPPromptArgument, type MCPPromptInfo, } from './mcp/adapter';
|
|
18
|
+
export { handleInfoRefs, handleUploadPack, handleReceivePack, formatRefAdvertisement, formatUploadPackResponse, formatReceivePackResponse, parseUploadPackRequest, parseReceivePackRequest, parseCapabilities, capabilitiesToStrings, validateContentType, createErrorResponse, CONTENT_TYPE_UPLOAD_PACK_ADVERTISEMENT, CONTENT_TYPE_RECEIVE_PACK_ADVERTISEMENT, CONTENT_TYPE_UPLOAD_PACK_REQUEST, CONTENT_TYPE_UPLOAD_PACK_RESULT, CONTENT_TYPE_RECEIVE_PACK_REQUEST, CONTENT_TYPE_RECEIVE_PACK_RESULT, ZERO_SHA, type GitService, type HTTPMethod, type GitRef, type ServerCapabilities, type SmartHTTPRequest, type SmartHTTPResponse, type SmartHTTPError, type RepositoryProvider, type RefUpdateCommand, type ReceivePackResult, } from './wire/smart-http';
|
|
19
|
+
export { encodePktLine, decodePktLine, encodeFlushPkt, encodeDelimPkt, pktLineStream, FLUSH_PKT, DELIM_PKT, MAX_PKT_LINE_DATA, } from './wire/pkt-line';
|
|
20
|
+
export { R2PackStorage, R2PackError, uploadPackfile, downloadPackfile, getPackfileMetadata, listPackfiles, deletePackfile, createMultiPackIndex, parseMultiPackIndex, lookupObjectInMultiPack, acquirePackLock, releasePackLock, type R2PackStorageOptions, type PackfileUploadResult, type PackfileMetadata, type DownloadPackfileOptions, type DownloadPackfileResult, type UploadPackfileOptions, type MultiPackIndexEntry, type MultiPackIndex, type PackLock, type AcquireLockOptions, type ListPackfilesResult, } from './storage/r2-pack';
|
|
21
|
+
export { ObjectIndex, recordLocation, lookupLocation, batchLookup, getStats, type StorageTier, type ObjectLocation, type ObjectIndexStats, type BatchLookupResult, type RecordLocationOptions, } from './storage/object-index';
|
|
22
|
+
export { TierMigrator, AccessTracker, MigrationError, MigrationRollback, ConcurrentAccessHandler, type MigrationPolicy, type MigrationState, type MigrationProgress, type MigrationJob, type MigrationResult, type BatchMigrationResult, type BatchMigrationOptions, type MigrateOptions, type MigrationHistoryEntry, type AccessPattern, type AccessStats, type ObjectIdentificationCriteria, type DecayOptions, type AccessMetrics, } from './tiered/migration';
|
|
23
|
+
export { TieredReader, TieredObjectStoreStub, type StoredObject, type TierConfig, type TieredStorageConfig, type ReadResult, type TieredObjectStore, type HotTierBackend, type WarmTierBackend, type ColdTierBackend, } from './tiered/read-path';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* gitx.do - Git implementation for Cloudflare Workers
|
|
3
|
+
*
|
|
4
|
+
* This module provides a complete Git implementation designed to run on
|
|
5
|
+
* Cloudflare Workers with Durable Objects and R2 storage.
|
|
6
|
+
*
|
|
7
|
+
* @module gitx.do
|
|
8
|
+
*/
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Types - Core Git object types and interfaces
|
|
11
|
+
// =============================================================================
|
|
12
|
+
export {
|
|
13
|
+
// Type guards
|
|
14
|
+
isBlob, isTree, isCommit, isTag,
|
|
15
|
+
// Serialization
|
|
16
|
+
serializeBlob, serializeTree, serializeCommit, serializeTag,
|
|
17
|
+
// Deserialization
|
|
18
|
+
parseBlob, parseTree, parseCommit, parseTag, } from './types/objects';
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// Pack Operations - Packfile format and index handling
|
|
21
|
+
// =============================================================================
|
|
22
|
+
export {
|
|
23
|
+
// Constants
|
|
24
|
+
PACK_SIGNATURE, PACK_VERSION,
|
|
25
|
+
// Enums
|
|
26
|
+
PackObjectType,
|
|
27
|
+
// Type conversions
|
|
28
|
+
packObjectTypeToString, stringToPackObjectType,
|
|
29
|
+
// Variable-length encoding
|
|
30
|
+
encodeVarint, decodeVarint, encodeTypeAndSize, decodeTypeAndSize,
|
|
31
|
+
// Pack header
|
|
32
|
+
parsePackHeader, parsePackObject, createPackfile, } from './pack/format';
|
|
33
|
+
export {
|
|
34
|
+
// Constants
|
|
35
|
+
PACK_INDEX_SIGNATURE, PACK_INDEX_MAGIC, PACK_INDEX_VERSION, LARGE_OFFSET_THRESHOLD,
|
|
36
|
+
// Main functions
|
|
37
|
+
parsePackIndex, createPackIndex, lookupObject, verifyPackIndex, serializePackIndex,
|
|
38
|
+
// Utility functions
|
|
39
|
+
getFanoutRange, calculateCRC32, binarySearchObjectId, binarySearchSha, parseFanoutTable, readPackOffset, } from './pack/index';
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// Git Operations - Core git commands (merge, blame, commit, branch)
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// Merge operations
|
|
44
|
+
export { merge, findMergeBase, resolveConflict, abortMerge, continueMerge, getMergeState, isMergeInProgress, mergeContent, isBinaryFile, } from './ops/merge';
|
|
45
|
+
// Blame operations
|
|
46
|
+
export { blame, blameFile, blameLine, blameRange, getBlameForCommit, trackContentAcrossRenames, detectRenames, buildBlameHistory, formatBlame, parseBlameOutput, } from './ops/blame';
|
|
47
|
+
// Commit operations
|
|
48
|
+
export { createCommit, amendCommit, buildCommitObject, formatCommitMessage, parseCommitMessage, validateCommitMessage, isCommitSigned, extractCommitSignature, addSignatureToCommit, isEmptyCommit, getCurrentTimezone, formatTimestamp, parseTimestamp, createAuthor, } from './ops/commit';
|
|
49
|
+
// Branch operations
|
|
50
|
+
export { createBranch, deleteBranch, listBranches, renameBranch, checkoutBranch, getCurrentBranch, getBranchInfo, branchExists, setBranchTracking, getBranchTracking, removeBranchTracking, getDefaultBranch, setDefaultBranch, isValidBranchName, normalizeBranchName, } from './ops/branch';
|
|
51
|
+
// =============================================================================
|
|
52
|
+
// MCP (Model Context Protocol) - AI assistant integration
|
|
53
|
+
// =============================================================================
|
|
54
|
+
export {
|
|
55
|
+
// Tool definitions
|
|
56
|
+
gitTools, registerTool, validateToolInput, invokeTool, listTools, getTool, } from './mcp/tools';
|
|
57
|
+
export {
|
|
58
|
+
// Adapter
|
|
59
|
+
MCPAdapter, createMCPAdapter, MCPError, MCPErrorCode, } from './mcp/adapter';
|
|
60
|
+
// =============================================================================
|
|
61
|
+
// Wire Protocol - Git Smart HTTP protocol implementation
|
|
62
|
+
// =============================================================================
|
|
63
|
+
export {
|
|
64
|
+
// Request handlers
|
|
65
|
+
handleInfoRefs, handleUploadPack, handleReceivePack,
|
|
66
|
+
// Formatting
|
|
67
|
+
formatRefAdvertisement, formatUploadPackResponse, formatReceivePackResponse,
|
|
68
|
+
// Parsing
|
|
69
|
+
parseUploadPackRequest, parseReceivePackRequest, parseCapabilities, capabilitiesToStrings,
|
|
70
|
+
// Utilities
|
|
71
|
+
validateContentType, createErrorResponse,
|
|
72
|
+
// Constants
|
|
73
|
+
CONTENT_TYPE_UPLOAD_PACK_ADVERTISEMENT, CONTENT_TYPE_RECEIVE_PACK_ADVERTISEMENT, CONTENT_TYPE_UPLOAD_PACK_REQUEST, CONTENT_TYPE_UPLOAD_PACK_RESULT, CONTENT_TYPE_RECEIVE_PACK_REQUEST, CONTENT_TYPE_RECEIVE_PACK_RESULT, ZERO_SHA, } from './wire/smart-http';
|
|
74
|
+
export {
|
|
75
|
+
// Encoding/decoding
|
|
76
|
+
encodePktLine, decodePktLine, encodeFlushPkt, encodeDelimPkt, pktLineStream,
|
|
77
|
+
// Constants
|
|
78
|
+
FLUSH_PKT, DELIM_PKT, MAX_PKT_LINE_DATA, } from './wire/pkt-line';
|
|
79
|
+
// =============================================================================
|
|
80
|
+
// Storage - R2 packfile storage and object indexing
|
|
81
|
+
// =============================================================================
|
|
82
|
+
export {
|
|
83
|
+
// Class
|
|
84
|
+
R2PackStorage, R2PackError,
|
|
85
|
+
// Standalone functions
|
|
86
|
+
uploadPackfile, downloadPackfile, getPackfileMetadata, listPackfiles, deletePackfile, createMultiPackIndex, parseMultiPackIndex, lookupObjectInMultiPack, acquirePackLock, releasePackLock, } from './storage/r2-pack';
|
|
87
|
+
export {
|
|
88
|
+
// Class
|
|
89
|
+
ObjectIndex,
|
|
90
|
+
// Standalone functions
|
|
91
|
+
recordLocation, lookupLocation, batchLookup, getStats, } from './storage/object-index';
|
|
92
|
+
// =============================================================================
|
|
93
|
+
// Tiered Storage - Hot/Warm/Cold storage with migration
|
|
94
|
+
// =============================================================================
|
|
95
|
+
export {
|
|
96
|
+
// Classes
|
|
97
|
+
TierMigrator, AccessTracker, MigrationError, MigrationRollback, ConcurrentAccessHandler, } from './tiered/migration';
|
|
98
|
+
export {
|
|
99
|
+
// Class
|
|
100
|
+
TieredReader, TieredObjectStoreStub, } from './tiered/read-path';
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|