gitx.do 0.0.3 → 0.1.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/README.md +319 -92
- package/dist/cli/commands/add.d.ts +176 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +979 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/blame.d.ts +1 -1
- package/dist/cli/commands/blame.d.ts.map +1 -1
- package/dist/cli/commands/blame.js +1 -1
- package/dist/cli/commands/blame.js.map +1 -1
- package/dist/cli/commands/branch.d.ts +1 -1
- package/dist/cli/commands/branch.d.ts.map +1 -1
- package/dist/cli/commands/branch.js +2 -2
- package/dist/cli/commands/branch.js.map +1 -1
- package/dist/cli/commands/checkout.d.ts +73 -0
- package/dist/cli/commands/checkout.d.ts.map +1 -0
- package/dist/cli/commands/checkout.js +725 -0
- package/dist/cli/commands/checkout.js.map +1 -0
- package/dist/cli/commands/commit.d.ts.map +1 -1
- package/dist/cli/commands/commit.js +22 -2
- package/dist/cli/commands/commit.js.map +1 -1
- package/dist/cli/commands/diff.d.ts +4 -4
- package/dist/cli/commands/diff.d.ts.map +1 -1
- package/dist/cli/commands/diff.js +9 -8
- package/dist/cli/commands/diff.js.map +1 -1
- package/dist/cli/commands/log.d.ts +1 -1
- package/dist/cli/commands/log.d.ts.map +1 -1
- package/dist/cli/commands/log.js +1 -1
- package/dist/cli/commands/log.js.map +1 -1
- 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 +852 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/review.d.ts +1 -1
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +26 -1
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/stash.d.ts +157 -0
- package/dist/cli/commands/stash.d.ts.map +1 -0
- package/dist/cli/commands/stash.js +655 -0
- package/dist/cli/commands/stash.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +1 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/web.d.ts.map +1 -1
- package/dist/cli/commands/web.js +3 -2
- package/dist/cli/commands/web.js.map +1 -1
- package/dist/cli/fs-adapter.d.ts.map +1 -1
- package/dist/cli/fs-adapter.js +3 -5
- package/dist/cli/fs-adapter.js.map +1 -1
- 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.map +1 -1
- package/dist/cli/index.js +68 -12
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui/components/DiffView.d.ts +7 -2
- package/dist/cli/ui/components/DiffView.d.ts.map +1 -1
- package/dist/cli/ui/components/DiffView.js.map +1 -1
- package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -2
- package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -1
- package/dist/cli/ui/components/ErrorDisplay.js.map +1 -1
- package/dist/cli/ui/components/FuzzySearch.d.ts +8 -2
- package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -1
- package/dist/cli/ui/components/FuzzySearch.js.map +1 -1
- package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -2
- package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -1
- package/dist/cli/ui/components/LoadingSpinner.js.map +1 -1
- package/dist/cli/ui/components/NavigationList.d.ts +7 -2
- package/dist/cli/ui/components/NavigationList.d.ts.map +1 -1
- package/dist/cli/ui/components/NavigationList.js.map +1 -1
- package/dist/cli/ui/components/ScrollableContent.d.ts +7 -2
- package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -1
- package/dist/cli/ui/components/ScrollableContent.js.map +1 -1
- package/dist/cli/ui/terminal-ui.d.ts +42 -9
- package/dist/cli/ui/terminal-ui.d.ts.map +1 -1
- package/dist/cli/ui/terminal-ui.js.map +1 -1
- 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 +612 -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 +784 -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 +731 -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 +157 -15
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +435 -47
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +12 -1
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +87 -2
- package/dist/durable-object/schema.js.map +1 -1
- package/dist/index.d.ts +84 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -0
- package/dist/index.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.map +1 -1
- package/dist/mcp/sandbox.js +16 -4
- package/dist/mcp/sandbox.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 +117 -0
- package/dist/mcp/tools/do.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1258 -22
- package/dist/mcp/tools.js.map +1 -1
- package/dist/pack/delta.d.ts +8 -0
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +241 -30
- package/dist/pack/delta.js.map +1 -1
- package/dist/refs/branch.d.ts +38 -25
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +421 -94
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +77 -5
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +193 -43
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +44 -24
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +411 -70
- 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 +518 -0
- package/dist/storage/fsx-adapter.js.map +1 -0
- package/dist/storage/r2-pack.d.ts.map +1 -1
- package/dist/storage/r2-pack.js +4 -1
- package/dist/storage/r2-pack.js.map +1 -1
- package/dist/tiered/cdc-pipeline.js +3 -3
- package/dist/tiered/cdc-pipeline.js.map +1 -1
- package/dist/tiered/migration.d.ts.map +1 -1
- package/dist/tiered/migration.js +4 -1
- package/dist/tiered/migration.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/interfaces.d.ts +673 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js +26 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/types/objects.d.ts +182 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +249 -4
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +114 -0
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +160 -1
- 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 +126 -80
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +191 -100
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +206 -0
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +405 -0
- package/dist/utils/sha1.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/receive-pack.d.ts +7 -0
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +29 -1
- package/dist/wire/receive-pack.js.map +1 -1
- package/dist/wire/upload-pack.d.ts.map +1 -1
- package/dist/wire/upload-pack.js +4 -1
- package/dist/wire/upload-pack.js.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview FSx Storage Adapter for gitx
|
|
3
|
+
*
|
|
4
|
+
* This module provides a storage backend implementation that uses fsx.do for
|
|
5
|
+
* both content-addressable storage (CAS) and file system operations. It bridges
|
|
6
|
+
* gitx's StorageBackend interface with fsx's CAS and fs operations.
|
|
7
|
+
*
|
|
8
|
+
* **Features**:
|
|
9
|
+
* - Content-addressable storage using fsx CAS (putObject, getObject, hasObject)
|
|
10
|
+
* - Reference storage using fsx file operations
|
|
11
|
+
* - Full file system operations for index, config, and other Git files
|
|
12
|
+
*
|
|
13
|
+
* @module storage/fsx-adapter
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { createFSxAdapter } from './storage/fsx-adapter'
|
|
18
|
+
*
|
|
19
|
+
* const storage = createFSxAdapter('/repos/my-repo/.git')
|
|
20
|
+
*
|
|
21
|
+
* // Store a blob
|
|
22
|
+
* const sha = await storage.putObject('blob', content)
|
|
23
|
+
*
|
|
24
|
+
* // Work with refs
|
|
25
|
+
* await storage.setRef('refs/heads/main', {
|
|
26
|
+
* name: 'refs/heads/main',
|
|
27
|
+
* target: sha,
|
|
28
|
+
* type: 'direct'
|
|
29
|
+
* })
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { parseRefContent, serializeRefContent } from '../refs/storage';
|
|
33
|
+
// Import hash utilities from local utils module
|
|
34
|
+
// Note: sha1 is re-exported from fsx.do and works in Workers environment
|
|
35
|
+
import { sha1 } from '../utils/hash';
|
|
36
|
+
// Import pako for compression (still needed as fsx.do CAS handles this internally)
|
|
37
|
+
import * as pako from 'pako';
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Git Object Utilities
|
|
40
|
+
// ============================================================================
|
|
41
|
+
/**
|
|
42
|
+
* Create a Git object with header
|
|
43
|
+
*/
|
|
44
|
+
function createGitObject(type, content) {
|
|
45
|
+
const header = `${type} ${content.length}\0`;
|
|
46
|
+
const headerBytes = new TextEncoder().encode(header);
|
|
47
|
+
const result = new Uint8Array(headerBytes.length + content.length);
|
|
48
|
+
result.set(headerBytes, 0);
|
|
49
|
+
result.set(content, headerBytes.length);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parse a Git object to extract type and content
|
|
54
|
+
*/
|
|
55
|
+
function parseGitObject(data) {
|
|
56
|
+
// Find null byte separator
|
|
57
|
+
let nullIndex = -1;
|
|
58
|
+
for (let i = 0; i < data.length; i++) {
|
|
59
|
+
if (data[i] === 0) {
|
|
60
|
+
nullIndex = i;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (nullIndex === -1) {
|
|
65
|
+
throw new Error('Invalid git object: no null byte found');
|
|
66
|
+
}
|
|
67
|
+
const headerStr = new TextDecoder().decode(data.subarray(0, nullIndex));
|
|
68
|
+
const [type] = headerStr.split(' ');
|
|
69
|
+
const content = data.subarray(nullIndex + 1);
|
|
70
|
+
return { type, content };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Compress data with zlib
|
|
74
|
+
*/
|
|
75
|
+
async function compress(data) {
|
|
76
|
+
return pako.deflate(data);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Decompress zlib data
|
|
80
|
+
*/
|
|
81
|
+
async function decompress(data) {
|
|
82
|
+
return pako.inflate(data);
|
|
83
|
+
}
|
|
84
|
+
// ============================================================================
|
|
85
|
+
// In-Memory Storage for Development/Testing
|
|
86
|
+
// ============================================================================
|
|
87
|
+
/**
|
|
88
|
+
* Simple in-memory storage for development and testing
|
|
89
|
+
* In production, this would be backed by fsx's R2 or SQLite storage
|
|
90
|
+
*/
|
|
91
|
+
class InMemoryStorage {
|
|
92
|
+
files = new Map();
|
|
93
|
+
directories = new Set();
|
|
94
|
+
constructor() {
|
|
95
|
+
// Initialize root directory
|
|
96
|
+
this.directories.add('/');
|
|
97
|
+
}
|
|
98
|
+
async read(path) {
|
|
99
|
+
return this.files.get(path) ?? null;
|
|
100
|
+
}
|
|
101
|
+
async write(path, data) {
|
|
102
|
+
this.files.set(path, data);
|
|
103
|
+
// Ensure parent directories exist
|
|
104
|
+
const parts = path.split('/');
|
|
105
|
+
let current = '';
|
|
106
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
107
|
+
current += (i === 0 ? '' : '/') + parts[i];
|
|
108
|
+
if (current) {
|
|
109
|
+
this.directories.add(current);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async delete(path) {
|
|
114
|
+
this.files.delete(path);
|
|
115
|
+
}
|
|
116
|
+
async exists(path) {
|
|
117
|
+
return this.files.has(path) || this.directories.has(path);
|
|
118
|
+
}
|
|
119
|
+
async readdir(path) {
|
|
120
|
+
const normalizedPath = path.endsWith('/') ? path.slice(0, -1) : path;
|
|
121
|
+
const entries = new Set();
|
|
122
|
+
// Check files
|
|
123
|
+
const fileKeys = Array.from(this.files.keys());
|
|
124
|
+
for (const filePath of fileKeys) {
|
|
125
|
+
if (filePath.startsWith(normalizedPath + '/')) {
|
|
126
|
+
const rest = filePath.slice(normalizedPath.length + 1);
|
|
127
|
+
const firstPart = rest.split('/')[0];
|
|
128
|
+
if (firstPart) {
|
|
129
|
+
entries.add(firstPart);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Check directories
|
|
134
|
+
const dirEntries = Array.from(this.directories);
|
|
135
|
+
for (const dirPath of dirEntries) {
|
|
136
|
+
if (dirPath.startsWith(normalizedPath + '/')) {
|
|
137
|
+
const rest = dirPath.slice(normalizedPath.length + 1);
|
|
138
|
+
const firstPart = rest.split('/')[0];
|
|
139
|
+
if (firstPart) {
|
|
140
|
+
entries.add(firstPart);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return Array.from(entries).sort();
|
|
145
|
+
}
|
|
146
|
+
async mkdir(path, options) {
|
|
147
|
+
if (options?.recursive) {
|
|
148
|
+
const parts = path.split('/').filter(Boolean);
|
|
149
|
+
let current = '';
|
|
150
|
+
for (const part of parts) {
|
|
151
|
+
current += '/' + part;
|
|
152
|
+
this.directories.add(current);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this.directories.add(path);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// ============================================================================
|
|
161
|
+
// FSxStorageAdapter Implementation
|
|
162
|
+
// ============================================================================
|
|
163
|
+
const encoder = new TextEncoder();
|
|
164
|
+
const decoder = new TextDecoder();
|
|
165
|
+
/**
|
|
166
|
+
* FSx storage adapter implementing the StorageBackend interface.
|
|
167
|
+
*
|
|
168
|
+
* @description
|
|
169
|
+
* This adapter uses fsx for all storage operations:
|
|
170
|
+
* - CAS operations use fsx's git-compatible object storage
|
|
171
|
+
* - Refs are stored as files at {rootPath}/refs/{refname}
|
|
172
|
+
* - File operations are relative to the rootPath
|
|
173
|
+
*/
|
|
174
|
+
export class FSxStorageAdapter {
|
|
175
|
+
rootPath;
|
|
176
|
+
storage;
|
|
177
|
+
/**
|
|
178
|
+
* Create a new FSxStorageAdapter
|
|
179
|
+
*
|
|
180
|
+
* @param rootPath - The root path for the Git repository (typically .git directory)
|
|
181
|
+
*/
|
|
182
|
+
constructor(rootPath) {
|
|
183
|
+
// Normalize root path - remove trailing slash
|
|
184
|
+
this.rootPath = rootPath.endsWith('/') ? rootPath.slice(0, -1) : rootPath;
|
|
185
|
+
// Use in-memory storage for now - in production this would be injected
|
|
186
|
+
this.storage = new InMemoryStorage();
|
|
187
|
+
}
|
|
188
|
+
// ==========================================================================
|
|
189
|
+
// Helper Methods
|
|
190
|
+
// ==========================================================================
|
|
191
|
+
/**
|
|
192
|
+
* Resolve a relative path to an absolute path within the repository
|
|
193
|
+
*
|
|
194
|
+
* @param p - Relative path within the repository
|
|
195
|
+
* @returns Absolute path
|
|
196
|
+
*/
|
|
197
|
+
resolvePath(p) {
|
|
198
|
+
// Handle empty path
|
|
199
|
+
if (!p) {
|
|
200
|
+
return this.rootPath;
|
|
201
|
+
}
|
|
202
|
+
// Handle absolute paths - just return as-is if already under rootPath
|
|
203
|
+
if (p.startsWith('/')) {
|
|
204
|
+
if (p.startsWith(this.rootPath)) {
|
|
205
|
+
return p;
|
|
206
|
+
}
|
|
207
|
+
// Join with rootPath
|
|
208
|
+
return this.rootPath + p;
|
|
209
|
+
}
|
|
210
|
+
// Relative path - join with rootPath
|
|
211
|
+
return this.rootPath + '/' + p;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get the path for an object based on its SHA
|
|
215
|
+
*
|
|
216
|
+
* @param sha - 40-character SHA-1 hash
|
|
217
|
+
* @returns Path in format: objects/xx/yyyy...
|
|
218
|
+
*/
|
|
219
|
+
getObjectPath(sha) {
|
|
220
|
+
const normalizedSha = sha.toLowerCase();
|
|
221
|
+
const dir = normalizedSha.slice(0, 2);
|
|
222
|
+
const filename = normalizedSha.slice(2);
|
|
223
|
+
return this.resolvePath(`objects/${dir}/${filename}`);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get the path for a ref
|
|
227
|
+
*
|
|
228
|
+
* @param name - Ref name (e.g., 'refs/heads/main', 'HEAD')
|
|
229
|
+
* @returns Absolute path to the ref file
|
|
230
|
+
*/
|
|
231
|
+
getRefPath(name) {
|
|
232
|
+
return this.resolvePath(name);
|
|
233
|
+
}
|
|
234
|
+
// ==========================================================================
|
|
235
|
+
// Content-Addressable Storage (CAS) Operations
|
|
236
|
+
// ==========================================================================
|
|
237
|
+
/**
|
|
238
|
+
* Store a Git object and return its SHA-1 hash.
|
|
239
|
+
*
|
|
240
|
+
* @description
|
|
241
|
+
* Creates a Git object in the format: "{type} {size}\0{content}",
|
|
242
|
+
* computes its SHA-1 hash, compresses it with zlib, and stores it.
|
|
243
|
+
*
|
|
244
|
+
* @param type - Object type: 'blob', 'tree', 'commit', or 'tag'
|
|
245
|
+
* @param content - Raw object content (without Git header)
|
|
246
|
+
* @returns 40-character lowercase hexadecimal SHA-1 hash
|
|
247
|
+
*/
|
|
248
|
+
async putObject(type, content) {
|
|
249
|
+
// Create the git object (header + content)
|
|
250
|
+
const gitObject = createGitObject(type, content);
|
|
251
|
+
// Compute SHA-1 hash of the uncompressed git object
|
|
252
|
+
const hash = await sha1(gitObject);
|
|
253
|
+
// Compress the git object with zlib
|
|
254
|
+
const compressedData = await compress(gitObject);
|
|
255
|
+
// Get the storage path from the hash
|
|
256
|
+
const objectPath = this.getObjectPath(hash);
|
|
257
|
+
// Ensure parent directory exists
|
|
258
|
+
const dirPath = objectPath.substring(0, objectPath.lastIndexOf('/'));
|
|
259
|
+
await this.storage.mkdir(dirPath, { recursive: true });
|
|
260
|
+
// Write the compressed data to storage
|
|
261
|
+
await this.storage.write(objectPath, compressedData);
|
|
262
|
+
// Return the 40-character hex hash
|
|
263
|
+
return hash;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Retrieve a Git object by its SHA-1 hash.
|
|
267
|
+
*
|
|
268
|
+
* @param sha - 40-character SHA-1 hash (case-insensitive)
|
|
269
|
+
* @returns Object with type and content, or null if not found
|
|
270
|
+
*/
|
|
271
|
+
async getObject(sha) {
|
|
272
|
+
// Normalize to lowercase
|
|
273
|
+
const normalizedSha = sha.toLowerCase();
|
|
274
|
+
// Get the storage path
|
|
275
|
+
const objectPath = this.getObjectPath(normalizedSha);
|
|
276
|
+
// Read compressed data from storage
|
|
277
|
+
const compressedData = await this.storage.read(objectPath);
|
|
278
|
+
if (!compressedData) {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
// Decompress the data
|
|
282
|
+
const decompressed = await decompress(compressedData);
|
|
283
|
+
// Parse git object format
|
|
284
|
+
const { type, content } = parseGitObject(decompressed);
|
|
285
|
+
return {
|
|
286
|
+
type: type,
|
|
287
|
+
content
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Check if a Git object exists in storage.
|
|
292
|
+
*
|
|
293
|
+
* @param sha - 40-character SHA-1 hash (case-insensitive)
|
|
294
|
+
* @returns True if the object exists, false otherwise
|
|
295
|
+
*/
|
|
296
|
+
async hasObject(sha) {
|
|
297
|
+
// Validate hash format
|
|
298
|
+
if (!sha || (sha.length !== 40 && sha.length !== 64)) {
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
if (!/^[0-9a-fA-F]+$/.test(sha)) {
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
const normalizedSha = sha.toLowerCase();
|
|
305
|
+
const objectPath = this.getObjectPath(normalizedSha);
|
|
306
|
+
return this.storage.exists(objectPath);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Delete a Git object from storage.
|
|
310
|
+
*
|
|
311
|
+
* @param sha - 40-character SHA-1 hash (case-insensitive)
|
|
312
|
+
*/
|
|
313
|
+
async deleteObject(sha) {
|
|
314
|
+
const normalizedSha = sha.toLowerCase();
|
|
315
|
+
const objectPath = this.getObjectPath(normalizedSha);
|
|
316
|
+
await this.storage.delete(objectPath);
|
|
317
|
+
}
|
|
318
|
+
// ==========================================================================
|
|
319
|
+
// Reference Operations
|
|
320
|
+
// ==========================================================================
|
|
321
|
+
/**
|
|
322
|
+
* Get a reference by name.
|
|
323
|
+
*
|
|
324
|
+
* @param name - Full ref name (e.g., 'HEAD', 'refs/heads/main')
|
|
325
|
+
* @returns The reference or null if not found
|
|
326
|
+
*/
|
|
327
|
+
async getRef(name) {
|
|
328
|
+
const refPath = this.getRefPath(name);
|
|
329
|
+
const data = await this.storage.read(refPath);
|
|
330
|
+
if (!data) {
|
|
331
|
+
return null;
|
|
332
|
+
}
|
|
333
|
+
const content = decoder.decode(data);
|
|
334
|
+
const { type, target } = parseRefContent(content);
|
|
335
|
+
return {
|
|
336
|
+
name,
|
|
337
|
+
target,
|
|
338
|
+
type
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Create or update a reference.
|
|
343
|
+
*
|
|
344
|
+
* @param name - Full ref name (e.g., 'HEAD', 'refs/heads/main')
|
|
345
|
+
* @param ref - The reference object
|
|
346
|
+
*/
|
|
347
|
+
async setRef(name, ref) {
|
|
348
|
+
const refPath = this.getRefPath(name);
|
|
349
|
+
// Ensure parent directory exists
|
|
350
|
+
const dirPath = refPath.substring(0, refPath.lastIndexOf('/'));
|
|
351
|
+
if (dirPath && dirPath !== this.rootPath) {
|
|
352
|
+
await this.storage.mkdir(dirPath, { recursive: true });
|
|
353
|
+
}
|
|
354
|
+
const content = serializeRefContent(ref);
|
|
355
|
+
await this.storage.write(refPath, encoder.encode(content));
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Delete a reference.
|
|
359
|
+
*
|
|
360
|
+
* @param name - Full ref name to delete
|
|
361
|
+
*/
|
|
362
|
+
async deleteRef(name) {
|
|
363
|
+
const refPath = this.getRefPath(name);
|
|
364
|
+
await this.storage.delete(refPath);
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* List references matching an optional prefix.
|
|
368
|
+
*
|
|
369
|
+
* @param prefix - Optional prefix to filter refs (e.g., 'refs/heads/')
|
|
370
|
+
* @returns Array of matching references
|
|
371
|
+
*/
|
|
372
|
+
async listRefs(prefix) {
|
|
373
|
+
const refs = [];
|
|
374
|
+
// Helper function to recursively read refs from a directory
|
|
375
|
+
const readRefsFromDir = async (dirPath, refPrefix) => {
|
|
376
|
+
const fullDirPath = this.resolvePath(dirPath);
|
|
377
|
+
const exists = await this.storage.exists(fullDirPath);
|
|
378
|
+
if (!exists) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
const entries = await this.storage.readdir(fullDirPath);
|
|
382
|
+
for (const entry of entries) {
|
|
383
|
+
const entryPath = `${dirPath}/${entry}`;
|
|
384
|
+
const fullEntryPath = this.resolvePath(entryPath);
|
|
385
|
+
const refName = `${refPrefix}${entry}`;
|
|
386
|
+
// Try to read as a ref file
|
|
387
|
+
const data = await this.storage.read(fullEntryPath);
|
|
388
|
+
if (data) {
|
|
389
|
+
// It's a file - parse as ref
|
|
390
|
+
const content = decoder.decode(data);
|
|
391
|
+
try {
|
|
392
|
+
const { type, target } = parseRefContent(content);
|
|
393
|
+
refs.push({ name: refName, target, type });
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
// Not a valid ref file, skip
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
// It might be a directory - recurse
|
|
401
|
+
await readRefsFromDir(entryPath, refName + '/');
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
};
|
|
405
|
+
// Start from refs directory
|
|
406
|
+
const refsDir = prefix ? prefix.replace(/\/$/, '') : 'refs';
|
|
407
|
+
await readRefsFromDir(refsDir, prefix || 'refs/');
|
|
408
|
+
// Also check HEAD if no prefix or if listing all
|
|
409
|
+
if (!prefix) {
|
|
410
|
+
const headRef = await this.getRef('HEAD');
|
|
411
|
+
if (headRef) {
|
|
412
|
+
refs.unshift(headRef);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return refs;
|
|
416
|
+
}
|
|
417
|
+
// ==========================================================================
|
|
418
|
+
// Raw File Operations
|
|
419
|
+
// ==========================================================================
|
|
420
|
+
/**
|
|
421
|
+
* Read a raw file from the repository.
|
|
422
|
+
*
|
|
423
|
+
* @param path - Path relative to Git directory
|
|
424
|
+
* @returns File contents as Uint8Array, or null if not found
|
|
425
|
+
*/
|
|
426
|
+
async readFile(path) {
|
|
427
|
+
const fullPath = this.resolvePath(path);
|
|
428
|
+
return this.storage.read(fullPath);
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Write a raw file to the repository.
|
|
432
|
+
*
|
|
433
|
+
* @param path - Path relative to Git directory
|
|
434
|
+
* @param content - File contents as Uint8Array
|
|
435
|
+
*/
|
|
436
|
+
async writeFile(path, content) {
|
|
437
|
+
const fullPath = this.resolvePath(path);
|
|
438
|
+
// Ensure parent directory exists
|
|
439
|
+
const dirPath = fullPath.substring(0, fullPath.lastIndexOf('/'));
|
|
440
|
+
if (dirPath && dirPath !== this.rootPath) {
|
|
441
|
+
await this.storage.mkdir(dirPath, { recursive: true });
|
|
442
|
+
}
|
|
443
|
+
await this.storage.write(fullPath, content);
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Delete a raw file from the repository.
|
|
447
|
+
*
|
|
448
|
+
* @param path - Path relative to Git directory
|
|
449
|
+
*/
|
|
450
|
+
async deleteFile(path) {
|
|
451
|
+
const fullPath = this.resolvePath(path);
|
|
452
|
+
await this.storage.delete(fullPath);
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Check if a file or directory exists.
|
|
456
|
+
*
|
|
457
|
+
* @param path - Path relative to Git directory
|
|
458
|
+
* @returns True if the path exists
|
|
459
|
+
*/
|
|
460
|
+
async exists(path) {
|
|
461
|
+
const fullPath = this.resolvePath(path);
|
|
462
|
+
return this.storage.exists(fullPath);
|
|
463
|
+
}
|
|
464
|
+
// ==========================================================================
|
|
465
|
+
// Directory Operations
|
|
466
|
+
// ==========================================================================
|
|
467
|
+
/**
|
|
468
|
+
* List contents of a directory.
|
|
469
|
+
*
|
|
470
|
+
* @param path - Path relative to Git directory
|
|
471
|
+
* @returns Array of file and directory names
|
|
472
|
+
*/
|
|
473
|
+
async readdir(path) {
|
|
474
|
+
const fullPath = this.resolvePath(path);
|
|
475
|
+
try {
|
|
476
|
+
return await this.storage.readdir(fullPath);
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
// Return empty array if directory doesn't exist
|
|
480
|
+
return [];
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Create a directory.
|
|
485
|
+
*
|
|
486
|
+
* @param path - Path relative to Git directory
|
|
487
|
+
* @param options - Options for directory creation
|
|
488
|
+
*/
|
|
489
|
+
async mkdir(path, options) {
|
|
490
|
+
const fullPath = this.resolvePath(path);
|
|
491
|
+
await this.storage.mkdir(fullPath, options);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
// ============================================================================
|
|
495
|
+
// Factory Function
|
|
496
|
+
// ============================================================================
|
|
497
|
+
/**
|
|
498
|
+
* Create an FSx storage adapter.
|
|
499
|
+
*
|
|
500
|
+
* @description
|
|
501
|
+
* Factory function for creating an FSxStorageAdapter instance.
|
|
502
|
+
*
|
|
503
|
+
* @param rootPath - The root path for the Git repository (typically .git directory)
|
|
504
|
+
* @returns A StorageBackend instance backed by fsx
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* ```typescript
|
|
508
|
+
* const storage = createFSxAdapter('/repos/my-project/.git')
|
|
509
|
+
*
|
|
510
|
+
* // Use the storage backend
|
|
511
|
+
* const sha = await storage.putObject('blob', content)
|
|
512
|
+
* const ref = await storage.getRef('HEAD')
|
|
513
|
+
* ```
|
|
514
|
+
*/
|
|
515
|
+
export function createFSxAdapter(rootPath) {
|
|
516
|
+
return new FSxStorageAdapter(rootPath);
|
|
517
|
+
}
|
|
518
|
+
//# sourceMappingURL=fsx-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fsx-adapter.js","sourceRoot":"","sources":["../../src/storage/fsx-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"r2-pack.d.ts","sourceRoot":"","sources":["../../src/storage/r2-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAA;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAA;IAEd,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAEhB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IAEjB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAA;IAEhB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,+CAA+C;IAC/C,UAAU,EAAE,IAAI,CAAA;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IAEd,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAEhB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IAEjB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAA;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,IAAI,CAAA;IAEf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAE1C;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,QAAQ,EAAE,UAAU,CAAA;IAEpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,UAAU,CAAA;IAEtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IAEf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IAEd,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;IAEpB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAA;IAErB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAEhB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IAEjB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAEhB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IAEjB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAA;IAEf,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,sDAAsD;IACtD,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAE9B,6DAA6D;IAC7D,QAAQ,EAAE,UAAU,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;IAEd,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IAEZ,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IAEd,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAEhB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;IAEjB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAA;IAElB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,QAAQ;IACvB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IAEd,iEAAiE;IACjE,MAAM,IAAI,OAAO,CAAA;IAEjB,+DAA+D;IAC/D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB;;;OAGG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAE5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IAEzB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAUlB,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,mBAAmB,GAAG,eAAe;aACrF,MAAM,CAAC,EAAE,MAAM;IAVjC;;;;;;OAMG;gBAED,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,mBAAmB,GAAG,eAAe,EACrF,MAAM,CAAC,EAAE,MAAM,YAAA;CAKlC;
|
|
1
|
+
{"version":3,"file":"r2-pack.d.ts","sourceRoot":"","sources":["../../src/storage/r2-pack.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/r2-pack.js
CHANGED
|
@@ -158,7 +158,10 @@ function validatePackfile(data) {
|
|
|
158
158
|
* @internal
|
|
159
159
|
*/
|
|
160
160
|
async function computeChecksum(data) {
|
|
161
|
-
|
|
161
|
+
// Create a copy as ArrayBuffer to satisfy BufferSource type
|
|
162
|
+
const buffer = new ArrayBuffer(data.length);
|
|
163
|
+
new Uint8Array(buffer).set(data);
|
|
164
|
+
const hashBuffer = await crypto.subtle.digest('SHA-1', buffer);
|
|
162
165
|
const hashArray = new Uint8Array(hashBuffer);
|
|
163
166
|
return Array.from(hashArray)
|
|
164
167
|
.map(b => b.toString(16).padStart(2, '0'))
|