@amalgm/live 0.2.12 → 0.2.14
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/PURPOSE.md +6 -0
- package/dist/entities/repo-states.d.ts +33 -0
- package/dist/entities/repo-states.d.ts.map +1 -1
- package/dist/entities/repo-states.js +60 -21
- package/dist/entities/repo-states.js.map +1 -1
- package/dist/transfer/download.d.ts +3 -3
- package/dist/transfer/download.d.ts.map +1 -1
- package/dist/transfer/download.js +2 -2
- package/dist/transfer/download.js.map +1 -1
- package/dist/transfer/upload.d.ts +10 -2
- package/dist/transfer/upload.d.ts.map +1 -1
- package/dist/transfer/upload.js +28 -2
- package/dist/transfer/upload.js.map +1 -1
- package/package.json +1 -1
package/PURPOSE.md
CHANGED
|
@@ -144,6 +144,12 @@ its cutover.
|
|
|
144
144
|
stronger current-content witness exists. Repository packing remains
|
|
145
145
|
transfer preparation and may run beside structural registration, but
|
|
146
146
|
neither act may weaken the other's result.
|
|
147
|
+
30. **Proof travels forward; bytes do not travel backward.** Capture derives
|
|
148
|
+
and stores a block manifest while it already owns an artifact's bytes.
|
|
149
|
+
Cold upload reads those sealed bytes once to send them, and cold download
|
|
150
|
+
writes received bytes once before their registered adapter consumes them.
|
|
151
|
+
Reopening a complete artifact to recreate or repeat an earlier integrity
|
|
152
|
+
proof is redundant work, not additional correctness.
|
|
147
153
|
|
|
148
154
|
## Five surfaces, one behavior
|
|
149
155
|
|
|
@@ -83,6 +83,35 @@ export interface RepositoryTransportInput {
|
|
|
83
83
|
readonly identityHash: string;
|
|
84
84
|
readonly identityDelta: RepoIdentityDelta;
|
|
85
85
|
}
|
|
86
|
+
export interface RepositoryByteRange {
|
|
87
|
+
readonly offset: number;
|
|
88
|
+
readonly bytes: number;
|
|
89
|
+
}
|
|
90
|
+
/** Metadata plus byte ranges for reading a repository transport as a stream. */
|
|
91
|
+
export interface RepositoryTransportLayout {
|
|
92
|
+
readonly stateId: string;
|
|
93
|
+
readonly cardId: string;
|
|
94
|
+
readonly checkpointId: string;
|
|
95
|
+
readonly parentTransportVersion: string | null;
|
|
96
|
+
readonly identityHash: string;
|
|
97
|
+
readonly identityDelta: RepoIdentityDelta;
|
|
98
|
+
readonly card: RepoCard;
|
|
99
|
+
readonly pack: ({
|
|
100
|
+
readonly sha256: string;
|
|
101
|
+
readonly range: RepositoryByteRange;
|
|
102
|
+
}) | null;
|
|
103
|
+
readonly checkpoint: {
|
|
104
|
+
readonly baseCommit: string | null;
|
|
105
|
+
readonly branch: string | null;
|
|
106
|
+
readonly stagedPatch: RepositoryByteRange;
|
|
107
|
+
readonly unstagedPatch: RepositoryByteRange;
|
|
108
|
+
readonly untracked: readonly (Omit<RepoUntrackedFile, 'content'> & {
|
|
109
|
+
readonly content: RepositoryByteRange | null;
|
|
110
|
+
})[];
|
|
111
|
+
};
|
|
112
|
+
readonly metadataBytes: number;
|
|
113
|
+
readonly totalBytes: number;
|
|
114
|
+
}
|
|
86
115
|
export declare function repositoryIdentityHash(identity: readonly RepoIdentityEntry[], sha256Hex: Sha256Hex): string;
|
|
87
116
|
/** Derive the smallest path-keyed change from one identity map to the next. */
|
|
88
117
|
export declare function planRepositoryIdentity(current: readonly RepoIdentityEntry[], previous: readonly RepoIdentityEntry[] | null, sha256Hex: Sha256Hex): {
|
|
@@ -93,6 +122,10 @@ export declare function planRepositoryIdentity(current: readonly RepoIdentityEnt
|
|
|
93
122
|
export declare function applyRepositoryIdentity(previous: readonly RepoIdentityEntry[] | null, transport: Pick<RepositoryTransport, 'identityHash' | 'identityDelta'>, sha256Hex: Sha256Hex): readonly RepoIdentityEntry[];
|
|
94
123
|
/** Encode metadata followed by raw Git/checkpoint bytes. */
|
|
95
124
|
export declare function encodeRepositoryTransport(state: RepoState, input: RepositoryTransportInput): Uint8Array;
|
|
125
|
+
/** Number of leading bytes needed to decode metadata without reading cargo. */
|
|
126
|
+
export declare function repositoryTransportMetadataBytes(prefix: Uint8Array): number;
|
|
127
|
+
/** Decode the small JSON header into seekable cargo ranges. */
|
|
128
|
+
export declare function inspectRepositoryTransport(metadata: Uint8Array, totalBytes: number): RepositoryTransportLayout;
|
|
96
129
|
/** Decode the binary envelope without interpreting Git's native pack bytes. */
|
|
97
130
|
export declare function decodeRepositoryTransport(bytes: Uint8Array): RepositoryTransport;
|
|
98
131
|
/** Separate Git work from Amalgm metadata/checkpoint overhead in benchmarks. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-states.d.ts","sourceRoot":"","sources":["../../src/entities/repo-states.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repo-states.d.ts","sourceRoot":"","sources":["../../src/entities/repo-states.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,43 +110,52 @@ const byteCount = (value, label) => {
|
|
|
110
110
|
}
|
|
111
111
|
return value;
|
|
112
112
|
};
|
|
113
|
-
/**
|
|
114
|
-
export function
|
|
115
|
-
if (
|
|
116
|
-
|| MAGIC.some((value, index) =>
|
|
113
|
+
/** Number of leading bytes needed to decode metadata without reading cargo. */
|
|
114
|
+
export function repositoryTransportMetadataBytes(prefix) {
|
|
115
|
+
if (prefix.byteLength < HEADER_BYTES
|
|
116
|
+
|| MAGIC.some((value, index) => prefix[index] !== value)) {
|
|
117
117
|
throw new Error('repository transport has an invalid binary header');
|
|
118
118
|
}
|
|
119
|
-
const metadataBytes = new DataView(
|
|
119
|
+
const metadataBytes = new DataView(prefix.buffer, prefix.byteOffset, prefix.byteLength)
|
|
120
120
|
.getUint32(MAGIC.byteLength, false);
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
121
|
+
const total = HEADER_BYTES + metadataBytes;
|
|
122
|
+
if (!Number.isSafeInteger(total))
|
|
123
|
+
throw new Error('repository transport metadata is too large');
|
|
124
|
+
return total;
|
|
125
|
+
}
|
|
126
|
+
/** Decode the small JSON header into seekable cargo ranges. */
|
|
127
|
+
export function inspectRepositoryTransport(metadata, totalBytes) {
|
|
128
|
+
const metadataBytes = repositoryTransportMetadataBytes(metadata);
|
|
129
|
+
if (metadata.byteLength < metadataBytes)
|
|
123
130
|
throw new Error('repository transport metadata is truncated');
|
|
124
|
-
|
|
131
|
+
if (!Number.isSafeInteger(totalBytes) || totalBytes < metadataBytes) {
|
|
132
|
+
throw new Error('repository transport total byte count is invalid');
|
|
133
|
+
}
|
|
134
|
+
const header = JSON.parse(utf8Decode(metadata.subarray(HEADER_BYTES, metadataBytes)));
|
|
125
135
|
if (header.contract !== REPOSITORY_TRANSPORT_CONTRACT) {
|
|
126
136
|
throw new Error('repository transport contract is unsupported');
|
|
127
137
|
}
|
|
128
|
-
let cursor =
|
|
129
|
-
const
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
|
|
138
|
+
let cursor = metadataBytes;
|
|
139
|
+
const range = (count, label) => {
|
|
140
|
+
const bytes = byteCount(count, label);
|
|
141
|
+
const result = { offset: cursor, bytes };
|
|
142
|
+
cursor += bytes;
|
|
143
|
+
if (!Number.isSafeInteger(cursor) || cursor > totalBytes) {
|
|
133
144
|
throw new Error(`repository transport ${label} is truncated`);
|
|
134
145
|
}
|
|
135
|
-
|
|
136
|
-
cursor = end;
|
|
137
|
-
return value;
|
|
146
|
+
return result;
|
|
138
147
|
};
|
|
139
148
|
const pack = header.pack === null ? null : {
|
|
140
149
|
sha256: header.pack.sha256,
|
|
141
|
-
|
|
150
|
+
range: range(header.pack.bytes, 'Git pack'),
|
|
142
151
|
};
|
|
143
|
-
const stagedPatch =
|
|
144
|
-
const unstagedPatch =
|
|
152
|
+
const stagedPatch = range(header.checkpoint.stagedPatch.bytes, 'staged patch');
|
|
153
|
+
const unstagedPatch = range(header.checkpoint.unstagedPatch.bytes, 'unstaged patch');
|
|
145
154
|
const untracked = header.checkpoint.untracked.map((file) => ({
|
|
146
155
|
...file,
|
|
147
|
-
content: file.content === null ? null :
|
|
156
|
+
content: file.content === null ? null : range(file.content.bytes, `untracked file ${file.path}`),
|
|
148
157
|
}));
|
|
149
|
-
if (cursor !==
|
|
158
|
+
if (cursor !== totalBytes)
|
|
150
159
|
throw new Error('repository transport has trailing cargo');
|
|
151
160
|
return {
|
|
152
161
|
stateId: header.stateId,
|
|
@@ -164,6 +173,36 @@ export function decodeRepositoryTransport(bytes) {
|
|
|
164
173
|
unstagedPatch,
|
|
165
174
|
untracked,
|
|
166
175
|
},
|
|
176
|
+
metadataBytes,
|
|
177
|
+
totalBytes,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/** Decode the binary envelope without interpreting Git's native pack bytes. */
|
|
181
|
+
export function decodeRepositoryTransport(bytes) {
|
|
182
|
+
const layout = inspectRepositoryTransport(bytes, bytes.byteLength);
|
|
183
|
+
const take = (range) => bytes.slice(range.offset, range.offset + range.bytes);
|
|
184
|
+
return {
|
|
185
|
+
stateId: layout.stateId,
|
|
186
|
+
cardId: layout.cardId,
|
|
187
|
+
checkpointId: layout.checkpointId,
|
|
188
|
+
parentTransportVersion: layout.parentTransportVersion,
|
|
189
|
+
identityHash: layout.identityHash,
|
|
190
|
+
identityDelta: layout.identityDelta,
|
|
191
|
+
card: layout.card,
|
|
192
|
+
pack: layout.pack === null ? null : {
|
|
193
|
+
sha256: layout.pack.sha256,
|
|
194
|
+
bytes: take(layout.pack.range),
|
|
195
|
+
},
|
|
196
|
+
checkpoint: {
|
|
197
|
+
baseCommit: layout.checkpoint.baseCommit,
|
|
198
|
+
branch: layout.checkpoint.branch,
|
|
199
|
+
stagedPatch: take(layout.checkpoint.stagedPatch),
|
|
200
|
+
unstagedPatch: take(layout.checkpoint.unstagedPatch),
|
|
201
|
+
untracked: layout.checkpoint.untracked.map((file) => ({
|
|
202
|
+
...file,
|
|
203
|
+
content: file.content === null ? null : take(file.content),
|
|
204
|
+
})),
|
|
205
|
+
},
|
|
167
206
|
};
|
|
168
207
|
}
|
|
169
208
|
/** Separate Git work from Amalgm metadata/checkpoint overhead in benchmarks. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-states.js","sourceRoot":"","sources":["../../src/entities/repo-states.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-states.js","sourceRoot":"","sources":["../../src/entities/repo-states.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
* the complete artifact. Sealing must verify the whole byte count and content
|
|
7
7
|
* hash before returning a local handle.
|
|
8
8
|
*/
|
|
9
|
-
import { type
|
|
9
|
+
import { type ContentManifest } from '../contracts/content.js';
|
|
10
10
|
import type { Sha256Hex } from '../entities/types.js';
|
|
11
11
|
import { type TransferArtifact } from './artifacts.js';
|
|
12
12
|
export interface DownloadPorts<LocalArtifact> {
|
|
13
13
|
readonly sha256Hex: Sha256Hex;
|
|
14
14
|
getManifest(artifact: TransferArtifact): Promise<unknown>;
|
|
15
15
|
/** True only when this exact content-addressed chunk is locally verified. */
|
|
16
|
-
hasChunk(
|
|
16
|
+
hasChunk(artifact: TransferArtifact, manifest: ContentManifest, index: number): Promise<boolean>;
|
|
17
17
|
getChunk(artifact: TransferArtifact, manifest: ContentManifest, index: number): Promise<Uint8Array>;
|
|
18
|
-
putChunk(
|
|
18
|
+
putChunk(artifact: TransferArtifact, manifest: ContentManifest, index: number, bytes: Uint8Array): Promise<void>;
|
|
19
19
|
/** Verify and expose the complete immutable artifact assembled from cache. */
|
|
20
20
|
sealArtifact(artifact: TransferArtifact, manifest: ContentManifest): Promise<SealedArtifact<LocalArtifact>>;
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/transfer/download.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,KAAK,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/transfer/download.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,MAAM,WAAW,aAAa,CAAC,aAAa;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,QAAQ,CACN,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,QAAQ,CACN,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,QAAQ,CACN,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,8EAA8E;IAC9E,YAAY,CACV,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc,CAAC,aAAa;IAC3C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe,CAAC,aAAa;IAC5C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,yEAAyE;AACzE,wBAAsB,QAAQ,CAAC,aAAa,EAC1C,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,EACnC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAqCzC"}
|
|
@@ -18,7 +18,7 @@ export async function download(artifact, ports, options = {}) {
|
|
|
18
18
|
const manifest = checked.value;
|
|
19
19
|
const missing = [];
|
|
20
20
|
for (const [index, chunk] of manifest.chunks.entries()) {
|
|
21
|
-
if (!await ports.hasChunk(
|
|
21
|
+
if (!await ports.hasChunk(artifact, manifest, index))
|
|
22
22
|
missing.push(index);
|
|
23
23
|
}
|
|
24
24
|
await parallelForEach(missing, options.concurrency ?? 4, async (index) => {
|
|
@@ -31,7 +31,7 @@ export async function download(artifact, ports, options = {}) {
|
|
|
31
31
|
|| ports.sha256Hex(bytes) !== expected.sha256) {
|
|
32
32
|
throw new Error(`downloaded content chunk ${index} failed verification`);
|
|
33
33
|
}
|
|
34
|
-
await ports.putChunk(
|
|
34
|
+
await ports.putChunk(artifact, manifest, index, bytes);
|
|
35
35
|
});
|
|
36
36
|
const sealed = await ports.sealArtifact(artifact, manifest);
|
|
37
37
|
if (sealed.bytes !== manifest.bytes || sealed.contentHash !== manifest.contentHash) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/transfer/download.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/transfer/download.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAwB,MAAM,yBAAyB,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAyB,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+ChD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAA0B,EAC1B,KAAmC,EACnC,UAA2B,EAAE;IAE7B,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,oBAAoB,CAClC,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EACjC,QAAQ,CAAC,WAAW,CACrB,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAE/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;eAC7B,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,KAAK;eACnC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,sBAAsB,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,WAAW,sBAAsB,CAAC,CAAC;IACrF,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,OAAO,CAAC,MAAM;QAChC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;KACtD,CAAC;AACJ,CAAC"}
|
|
@@ -13,8 +13,11 @@ export interface UploadSource {
|
|
|
13
13
|
readonly bytes: number;
|
|
14
14
|
/** Previously derived local metadata. Invalid metadata is refused. */
|
|
15
15
|
readonly manifest?: unknown;
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/** True only when `manifest` was derived while sealing this immutable,
|
|
17
|
+
* content-addressed source. Sent chunks are still checked individually. */
|
|
18
|
+
readonly manifestVerified?: boolean;
|
|
19
|
+
/** Verify an unsealed source without requiring Live to buffer it. */
|
|
20
|
+
verify?(contentHash: string): Promise<boolean>;
|
|
18
21
|
/** Return exactly `bytes` bytes beginning at `offset`. */
|
|
19
22
|
read(offset: number, bytes: number): Promise<Uint8Array>;
|
|
20
23
|
}
|
|
@@ -35,6 +38,11 @@ export interface UploadReceipt {
|
|
|
35
38
|
readonly uploadedChunks: number;
|
|
36
39
|
readonly reusedChunks: number;
|
|
37
40
|
}
|
|
41
|
+
/** Derive the reusable upload evidence while capture already owns the bytes.
|
|
42
|
+
* A host persists this beside its immutable artifact so upload never has to
|
|
43
|
+
* rediscover block boundaries or reread the complete source just to prove the
|
|
44
|
+
* work registration already completed. */
|
|
45
|
+
export declare function deriveUploadManifest(artifact: TransferArtifact, bytes: Uint8Array, sha256Hex: Sha256Hex): ContentManifest;
|
|
38
46
|
/** Upload one immutable artifact, sending only authority-declared gaps. */
|
|
39
47
|
export declare function upload(artifact: TransferArtifact, source: UploadSource, ports: UploadPorts, options?: UploadOptions): Promise<UploadReceipt>;
|
|
40
48
|
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;+EAC2E;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,0DAA0D;IAC1D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,oEAAoE;IACpE,aAAa,CACX,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9B,QAAQ,CACN,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,8EAA8E;IAC9E,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAyCD;;;0CAG0C;AAC1C,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,GACnB,eAAe,CAejB;AAUD,2EAA2E;AAC3E,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CA4DxB"}
|
package/dist/transfer/upload.js
CHANGED
|
@@ -39,6 +39,27 @@ const artifactPartSizes = (artifact, totalBytes) => {
|
|
|
39
39
|
return fixedSizes(totalBytes, MAX_CONTENT_BLOCK_BYTES);
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
+
/** Derive the reusable upload evidence while capture already owns the bytes.
|
|
43
|
+
* A host persists this beside its immutable artifact so upload never has to
|
|
44
|
+
* rediscover block boundaries or reread the complete source just to prove the
|
|
45
|
+
* work registration already completed. */
|
|
46
|
+
export function deriveUploadManifest(artifact, bytes, sha256Hex) {
|
|
47
|
+
assertTransferArtifact(artifact);
|
|
48
|
+
if (sha256Hex(bytes) !== artifact.contentHash) {
|
|
49
|
+
throw new Error(`captured artifact does not match ${artifact.contentHash}`);
|
|
50
|
+
}
|
|
51
|
+
const chunks = [];
|
|
52
|
+
let offset = 0;
|
|
53
|
+
for (const size of artifactPartSizes(artifact, bytes.byteLength)) {
|
|
54
|
+
const part = bytes.subarray(offset, offset + size);
|
|
55
|
+
chunks.push({ sha256: sha256Hex(part), bytes: size });
|
|
56
|
+
offset += size;
|
|
57
|
+
}
|
|
58
|
+
const checked = manifestFromChunks(artifact.contentHash, chunks);
|
|
59
|
+
if (!checked.ok)
|
|
60
|
+
throw new Error(checked.error);
|
|
61
|
+
return checked.value;
|
|
62
|
+
}
|
|
42
63
|
const readExact = async (source, chunk) => {
|
|
43
64
|
const bytes = await source.read(chunk.offset, chunk.bytes);
|
|
44
65
|
if (!(bytes instanceof Uint8Array) || bytes.byteLength !== chunk.bytes) {
|
|
@@ -52,6 +73,9 @@ export async function upload(artifact, source, ports, options = {}) {
|
|
|
52
73
|
if (!Number.isSafeInteger(source.bytes) || source.bytes < 0) {
|
|
53
74
|
throw new Error('upload source byte count is invalid');
|
|
54
75
|
}
|
|
76
|
+
if (source.manifestVerified === true && source.manifest === undefined) {
|
|
77
|
+
throw new Error('verified upload manifest is missing');
|
|
78
|
+
}
|
|
55
79
|
const expectedSizes = artifactPartSizes(artifact, source.bytes);
|
|
56
80
|
let plan;
|
|
57
81
|
let manifest;
|
|
@@ -82,8 +106,10 @@ export async function upload(artifact, source, ports, options = {}) {
|
|
|
82
106
|
|| missing.some((index) => !Number.isSafeInteger(index) || index < 0 || index >= plan.length)) {
|
|
83
107
|
throw new Error('upload authority returned invalid missing chunk indexes');
|
|
84
108
|
}
|
|
85
|
-
if (missing.length > 0 &&
|
|
86
|
-
|
|
109
|
+
if (missing.length > 0 && source.manifestVerified !== true) {
|
|
110
|
+
if (!source.verify || !await source.verify(artifact.contentHash)) {
|
|
111
|
+
throw new Error(`upload source does not match ${artifact.contentHash}`);
|
|
112
|
+
}
|
|
87
113
|
}
|
|
88
114
|
await parallelForEach(missing, options.concurrency ?? 4, async (index) => {
|
|
89
115
|
const chunk = plan[index];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/live",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|