@volter/browser-runtime 0.1.76 → 0.1.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-image-layers.d.ts +20 -0
- package/dist/browser-image-layers.d.ts.map +1 -1
- package/dist/browser-image-layers.js +25 -0
- package/dist/browser-image-layers.js.map +1 -1
- package/dist/browser-image-range-worker.d.ts +2 -0
- package/dist/browser-image-range-worker.d.ts.map +1 -0
- package/dist/browser-image-range-worker.js +121 -0
- package/dist/browser-image-range-worker.js.map +1 -0
- package/dist/browser-image-ranges.d.ts +30 -0
- package/dist/browser-image-ranges.d.ts.map +1 -0
- package/dist/browser-image-ranges.js +83 -0
- package/dist/browser-image-ranges.js.map +1 -0
- package/dist/browser-pack-store.d.ts +8 -0
- package/dist/browser-pack-store.d.ts.map +1 -1
- package/dist/browser-pack-store.js +106 -9
- package/dist/browser-pack-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* holding a unit its origin lacks, checks the part against its digest, and
|
|
8
8
|
* records every file of it in one batch.
|
|
9
9
|
*/
|
|
10
|
+
import { type ImageRanges } from "./browser-image-ranges.js";
|
|
10
11
|
export declare const IMAGE_LAYERS_KIND = "browser-substrate-image-layers";
|
|
11
12
|
export declare const IMAGE_LAYERS_VERSION = 1;
|
|
12
13
|
/** A file of a unit: its path under the unit's root ("" is the root itself), its type, mode, and extent of the part's raw bytes. */
|
|
@@ -38,13 +39,32 @@ export interface ImageLayersDocument {
|
|
|
38
39
|
/** The time every file of the layers is recorded at: the image's build. */
|
|
39
40
|
mtimeMs: number;
|
|
40
41
|
parts: ImageLayerPart[];
|
|
42
|
+
/** Host-prepared metadata for demand delivery into an otherwise empty shared store. */
|
|
43
|
+
prepared?: ImageLayerPreparedIndex;
|
|
41
44
|
}
|
|
45
|
+
export interface ImageLayerMetadataFile {
|
|
46
|
+
url: string;
|
|
47
|
+
bytes: number;
|
|
48
|
+
raw: number;
|
|
49
|
+
sha256: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ImageLayerPreparedIndex {
|
|
52
|
+
json: ImageLayerMetadataFile;
|
|
53
|
+
binary: ImageLayerMetadataFile;
|
|
54
|
+
packBytes: number;
|
|
55
|
+
liveBytes: number;
|
|
56
|
+
entries: number;
|
|
57
|
+
ranges: ImageRanges;
|
|
58
|
+
}
|
|
59
|
+
export declare function validatePreparedImageIndex(prepared: ImageLayerPreparedIndex): ImageLayerPreparedIndex;
|
|
42
60
|
/** The document, checked: an image's layers are the origin's, but a malformed one is a defect to name, not bytes to place. */
|
|
43
61
|
export declare function validateImageLayers(candidate: unknown): ImageLayersDocument;
|
|
44
62
|
/** A layer file's path in the shared store. */
|
|
45
63
|
export declare function imageLayerPath(unit: ImageLayerUnit, relative: string): string;
|
|
46
64
|
/** The marker an origin's shared store holds once every part of one layers document is in it: a later open checks one path. */
|
|
47
65
|
export declare function imageLayersAppliedPath(digest: string): string;
|
|
66
|
+
/** Metadata installed, with immutable parts materialized on read; not a whole-image offline receipt. */
|
|
67
|
+
export declare function imageLayersDeferredPath(digest: string): string;
|
|
48
68
|
/**
|
|
49
69
|
* The file inside a program's installed root that names the archives it
|
|
50
70
|
* holds, by integrity, one a line: the program installer's receipt. A
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-image-layers.d.ts","sourceRoot":"","sources":["../src/browser-image-layers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAClE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,oIAAoI;AACpI,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErH,uIAAuI;AACvI,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,iBAAiB,CAAC;IAC/B,OAAO,EAAE,OAAO,oBAAoB,CAAC;IACrC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-image-layers.d.ts","sourceRoot":"","sources":["../src/browser-image-layers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElF,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAClE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,oIAAoI;AACpI,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErH,uIAAuI;AACvI,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,iBAAiB,CAAC;IAC/B,OAAO,EAAE,OAAO,oBAAoB,CAAC;IACrC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,uBAAuB,CAWrG;AAED,8HAA8H;AAC9H,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,mBAAmB,CA0B3E;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,+HAA+H;AAC/H,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wGAAwG;AACxG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQ5E;AAED,oGAAoG;AACpG,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE5E"}
|
|
@@ -7,8 +7,24 @@
|
|
|
7
7
|
* holding a unit its origin lacks, checks the part against its digest, and
|
|
8
8
|
* records every file of it in one batch.
|
|
9
9
|
*/
|
|
10
|
+
import { validateImageRanges } from "./browser-image-ranges.js";
|
|
10
11
|
export const IMAGE_LAYERS_KIND = "browser-substrate-image-layers";
|
|
11
12
|
export const IMAGE_LAYERS_VERSION = 1;
|
|
13
|
+
export function validatePreparedImageIndex(prepared) {
|
|
14
|
+
if (!prepared || ![prepared.packBytes, prepared.liveBytes, prepared.entries].every(n => Number.isSafeInteger(n) && n >= 0)
|
|
15
|
+
|| prepared.liveBytes > prepared.packBytes || prepared.entries > 1_000_000)
|
|
16
|
+
throw new Error("Invalid prepared image bounds.");
|
|
17
|
+
for (const file of [prepared.json, prepared.binary]) {
|
|
18
|
+
if (!file || typeof file.url !== "string" || !/^\/substrate\/[A-Za-z0-9._/-]+$/u.test(file.url)
|
|
19
|
+
|| file.url.split("/").some(segment => segment === "." || segment === "..")
|
|
20
|
+
|| !Number.isSafeInteger(file.bytes) || file.bytes < 0 || !Number.isSafeInteger(file.raw) || file.raw < 0 || file.raw > 1024 * 1024 * 1024
|
|
21
|
+
|| typeof file.sha256 !== "string" || !/^[a-f0-9]{64}$/u.test(file.sha256))
|
|
22
|
+
throw new Error("Invalid prepared image metadata file.");
|
|
23
|
+
}
|
|
24
|
+
if (validateImageRanges(prepared.ranges).bytes !== prepared.packBytes)
|
|
25
|
+
throw new Error("Prepared image ranges do not cover its pack.");
|
|
26
|
+
return prepared;
|
|
27
|
+
}
|
|
12
28
|
/** The document, checked: an image's layers are the origin's, but a malformed one is a defect to name, not bytes to place. */
|
|
13
29
|
export function validateImageLayers(candidate) {
|
|
14
30
|
const fail = (what) => { throw new Error(`The image's layers are malformed: ${what}.`); };
|
|
@@ -37,6 +53,11 @@ export function validateImageLayers(candidate) {
|
|
|
37
53
|
}
|
|
38
54
|
}
|
|
39
55
|
}
|
|
56
|
+
if (document.prepared) {
|
|
57
|
+
const prepared = validatePreparedImageIndex(document.prepared);
|
|
58
|
+
if (document.parts.reduce((total, part) => total + part.raw, 0) !== prepared.packBytes)
|
|
59
|
+
fail("prepared metadata does not fit its parts");
|
|
60
|
+
}
|
|
40
61
|
return document;
|
|
41
62
|
}
|
|
42
63
|
/** A layer file's path in the shared store. */
|
|
@@ -47,6 +68,10 @@ export function imageLayerPath(unit, relative) {
|
|
|
47
68
|
export function imageLayersAppliedPath(digest) {
|
|
48
69
|
return `/packages/.layers/${digest}`;
|
|
49
70
|
}
|
|
71
|
+
/** Metadata installed, with immutable parts materialized on read; not a whole-image offline receipt. */
|
|
72
|
+
export function imageLayersDeferredPath(digest) {
|
|
73
|
+
return `/packages/.layers-deferred/${digest}`;
|
|
74
|
+
}
|
|
50
75
|
/**
|
|
51
76
|
* The file inside a program's installed root that names the archives it
|
|
52
77
|
* holds, by integrity, one a line: the program installer's receipt. A
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-image-layers.js","sourceRoot":"","sources":["../src/browser-image-layers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-image-layers.js","sourceRoot":"","sources":["../src/browser-image-layers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-image-range-worker.d.ts","sourceRoot":"","sources":["../src/browser-image-range-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { validateImageRanges } from "./browser-image-ranges.js";
|
|
2
|
+
const scope = self;
|
|
3
|
+
let ranges;
|
|
4
|
+
let directory;
|
|
5
|
+
let identity;
|
|
6
|
+
let state;
|
|
7
|
+
const loading = new Map();
|
|
8
|
+
scope.onmessage = (event) => {
|
|
9
|
+
const message = event.data;
|
|
10
|
+
if (message.type === "init") {
|
|
11
|
+
if (state)
|
|
12
|
+
throw new Error("An image reader can only be initialized once.");
|
|
13
|
+
ranges = validateImageRanges(message.ranges);
|
|
14
|
+
directory = message.directory;
|
|
15
|
+
identity = message.identity;
|
|
16
|
+
state = new Int32Array(message.state);
|
|
17
|
+
if (state.length !== ranges.parts.length || !/^[a-zA-Z0-9._-]+$/u.test(identity))
|
|
18
|
+
throw new Error("Invalid image reader admission.");
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (message.type !== "read" || !state || !Number.isSafeInteger(message.index) || message.index < 0 || message.index >= ranges.parts.length)
|
|
22
|
+
return;
|
|
23
|
+
const index = message.index;
|
|
24
|
+
if (Atomics.load(state, index) === 2 || loading.has(index))
|
|
25
|
+
return;
|
|
26
|
+
const operation = materialize(index).then(() => { Atomics.store(state, index, 2); }, (cause) => {
|
|
27
|
+
console.error(`Immutable image part ${ranges.parts[index].url} failed:`, cause);
|
|
28
|
+
Atomics.store(state, index, -1);
|
|
29
|
+
}).finally(() => { loading.delete(index); Atomics.notify(state, index); });
|
|
30
|
+
loading.set(index, operation);
|
|
31
|
+
};
|
|
32
|
+
async function digest(bytes) {
|
|
33
|
+
return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256", bytes)), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
34
|
+
}
|
|
35
|
+
async function materialize(index) {
|
|
36
|
+
const part = ranges.parts[index];
|
|
37
|
+
await scope.navigator.locks.request(`supercode-browser-image-part-${identity}-${index}`, async () => {
|
|
38
|
+
// Different process readers may request the same part. Only the verified,
|
|
39
|
+
// flushed completion receipt permits them to skip its download/write.
|
|
40
|
+
const receipt = `image-part-${index}.json`;
|
|
41
|
+
try {
|
|
42
|
+
const file = await (await directory.getFileHandle(receipt)).getFile();
|
|
43
|
+
const held = JSON.parse(await file.text());
|
|
44
|
+
if (held.sha256 === part.sha256 && held.offset === part.offset && held.raw === part.raw)
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
catch (cause) {
|
|
48
|
+
if (cause.name !== "NotFoundError" && !(cause instanceof SyntaxError))
|
|
49
|
+
throw cause;
|
|
50
|
+
}
|
|
51
|
+
const response = await fetch(new URL(part.url, scope.location.origin), { cache: "force-cache", credentials: "omit", redirect: "error" });
|
|
52
|
+
if (!response.ok)
|
|
53
|
+
throw new Error(`${part.url} answered ${response.status}.`);
|
|
54
|
+
if (!response.body)
|
|
55
|
+
throw new Error(`${part.url} has no body.`);
|
|
56
|
+
const served = new Uint8Array(part.bytes);
|
|
57
|
+
const download = response.body.getReader();
|
|
58
|
+
let received = 0;
|
|
59
|
+
try {
|
|
60
|
+
for (;;) {
|
|
61
|
+
const { done, value } = await download.read();
|
|
62
|
+
if (done)
|
|
63
|
+
break;
|
|
64
|
+
if (received + value.byteLength > served.byteLength)
|
|
65
|
+
throw new Error(`${part.url} exceeds its declared served size.`);
|
|
66
|
+
served.set(value, received);
|
|
67
|
+
received += value.byteLength;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
await download.cancel().catch(() => undefined);
|
|
72
|
+
}
|
|
73
|
+
if (received !== part.bytes)
|
|
74
|
+
throw new Error(`${part.url} has the wrong served size.`);
|
|
75
|
+
const stream = new Blob([served]).stream().pipeThrough(new DecompressionStream("gzip"));
|
|
76
|
+
const reader = stream.getReader();
|
|
77
|
+
const raw = new Uint8Array(part.raw);
|
|
78
|
+
let cursor = 0;
|
|
79
|
+
try {
|
|
80
|
+
for (;;) {
|
|
81
|
+
const { done, value } = await reader.read();
|
|
82
|
+
if (done)
|
|
83
|
+
break;
|
|
84
|
+
if (cursor + value.byteLength > raw.byteLength)
|
|
85
|
+
throw new Error(`${part.url} exceeds its declared expanded size.`);
|
|
86
|
+
raw.set(value, cursor);
|
|
87
|
+
cursor += value.byteLength;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
await reader.cancel().catch(() => undefined);
|
|
92
|
+
}
|
|
93
|
+
if (cursor !== raw.byteLength || await digest(raw) !== part.sha256)
|
|
94
|
+
throw new Error(`${part.url} does not match its immutable digest.`);
|
|
95
|
+
const access = await (await directory.getFileHandle("pack.bin")).createSyncAccessHandle({ mode: "readwrite-unsafe" });
|
|
96
|
+
try {
|
|
97
|
+
let written = 0;
|
|
98
|
+
while (written < raw.byteLength) {
|
|
99
|
+
const count = access.write(raw.subarray(written), { at: part.offset + written });
|
|
100
|
+
if (count <= 0)
|
|
101
|
+
throw new Error(`${part.url} could not be written completely.`);
|
|
102
|
+
written += count;
|
|
103
|
+
}
|
|
104
|
+
access.flush();
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
access.close();
|
|
108
|
+
}
|
|
109
|
+
const marker = await directory.getFileHandle(receipt, { create: true });
|
|
110
|
+
const output = await marker.createWritable();
|
|
111
|
+
try {
|
|
112
|
+
await output.write(JSON.stringify({ sha256: part.sha256, offset: part.offset, raw: part.raw }));
|
|
113
|
+
await output.close();
|
|
114
|
+
}
|
|
115
|
+
catch (cause) {
|
|
116
|
+
await output.abort().catch(() => undefined);
|
|
117
|
+
throw cause;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=browser-image-range-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-image-range-worker.js","sourceRoot":"","sources":["../src/browser-image-range-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Immutable image bytes reserved in a package pack and materialized on first read. */
|
|
2
|
+
export declare const IMAGE_RANGE_WORKER_PATH = "/image-range-worker.js";
|
|
3
|
+
export declare const IMAGE_RANGES_FILE = "image-ranges.json";
|
|
4
|
+
export interface ImageRange {
|
|
5
|
+
offset: number;
|
|
6
|
+
raw: number;
|
|
7
|
+
bytes: number;
|
|
8
|
+
sha256: string;
|
|
9
|
+
/** Origin-relative, immutable image transport; never an application endpoint. */
|
|
10
|
+
url: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ImageRanges {
|
|
13
|
+
version: 1;
|
|
14
|
+
/** Bound into committed state so interrupted marker publication still identifies the installed metadata. */
|
|
15
|
+
image?: string;
|
|
16
|
+
bytes: number;
|
|
17
|
+
parts: ImageRange[];
|
|
18
|
+
}
|
|
19
|
+
export declare function validateImageRanges(candidate: unknown): ImageRanges;
|
|
20
|
+
/** A dedicated trusted worker can fetch while its Node caller is blocked in a synchronous read. */
|
|
21
|
+
export declare class ImageRangeReader {
|
|
22
|
+
private readonly ranges;
|
|
23
|
+
private readonly worker;
|
|
24
|
+
private readonly state;
|
|
25
|
+
constructor(ranges: ImageRanges, directory: FileSystemDirectoryHandle, identity: string);
|
|
26
|
+
ensure(offset: number, length: number): void;
|
|
27
|
+
private fail;
|
|
28
|
+
close(): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=browser-image-ranges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-image-ranges.d.ts","sourceRoot":"","sources":["../src/browser-image-ranges.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,4GAA4G;IAC5G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAiBnE;AAED,mGAAmG;AACnG,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAEzB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM;IAUxG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA8B5C,OAAO,CAAC,IAAI;IAMZ,KAAK,IAAI,IAAI;CACd"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Immutable image bytes reserved in a package pack and materialized on first read. */
|
|
2
|
+
export const IMAGE_RANGE_WORKER_PATH = "/image-range-worker.js";
|
|
3
|
+
export const IMAGE_RANGES_FILE = "image-ranges.json";
|
|
4
|
+
export function validateImageRanges(candidate) {
|
|
5
|
+
const value = candidate;
|
|
6
|
+
if (!value || value.version !== 1 || !Number.isSafeInteger(value.bytes) || value.bytes < 0 || !Array.isArray(value.parts)
|
|
7
|
+
|| (value.image !== undefined && (typeof value.image !== "string" || !/^[a-f0-9]{16,64}$/u.test(value.image)))
|
|
8
|
+
|| value.parts.length > 100_000)
|
|
9
|
+
throw new Error("Invalid immutable image ranges.");
|
|
10
|
+
let end = 0;
|
|
11
|
+
for (const part of value.parts) {
|
|
12
|
+
if (!part || part.offset !== end || !Number.isSafeInteger(part.raw) || part.raw < 0
|
|
13
|
+
|| !Number.isSafeInteger(part.bytes) || part.bytes < 0 || part.bytes > 1024 * 1024 * 1024 || part.raw > 1024 * 1024 * 1024
|
|
14
|
+
|| typeof part.sha256 !== "string" || !/^[a-f0-9]{64}$/u.test(part.sha256)
|
|
15
|
+
|| typeof part.url !== "string" || !/^\/substrate\/[A-Za-z0-9._/-]+$/u.test(part.url)
|
|
16
|
+
|| part.url.split("/").some((segment) => segment === "." || segment === ".."))
|
|
17
|
+
throw new Error("Invalid immutable image part.");
|
|
18
|
+
end += part.raw;
|
|
19
|
+
if (!Number.isSafeInteger(end))
|
|
20
|
+
throw new Error("Immutable image ranges exceed the offset limit.");
|
|
21
|
+
}
|
|
22
|
+
if (end !== value.bytes)
|
|
23
|
+
throw new Error("Immutable image ranges do not cover their reservation.");
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
/** A dedicated trusted worker can fetch while its Node caller is blocked in a synchronous read. */
|
|
27
|
+
export class ImageRangeReader {
|
|
28
|
+
ranges;
|
|
29
|
+
worker;
|
|
30
|
+
state;
|
|
31
|
+
constructor(ranges, directory, identity) {
|
|
32
|
+
this.ranges = ranges;
|
|
33
|
+
if (typeof Worker === "undefined" || typeof SharedArrayBuffer === "undefined") {
|
|
34
|
+
throw new Error("This browser cannot materialize an immutable image during a synchronous read.");
|
|
35
|
+
}
|
|
36
|
+
this.state = new Int32Array(new SharedArrayBuffer(ranges.parts.length * Int32Array.BYTES_PER_ELEMENT));
|
|
37
|
+
this.worker = new Worker(IMAGE_RANGE_WORKER_PATH, { type: "module" });
|
|
38
|
+
this.worker.addEventListener("error", () => this.fail());
|
|
39
|
+
this.worker.postMessage({ type: "init", ranges, directory, identity, state: this.state.buffer });
|
|
40
|
+
}
|
|
41
|
+
ensure(offset, length) {
|
|
42
|
+
if (length === 0 || offset >= this.ranges.bytes)
|
|
43
|
+
return;
|
|
44
|
+
const end = Math.min(offset + length, this.ranges.bytes);
|
|
45
|
+
// Find the first intersecting range without scanning the image per read.
|
|
46
|
+
let low = 0, high = this.ranges.parts.length;
|
|
47
|
+
while (low < high) {
|
|
48
|
+
const mid = (low + high) >>> 1;
|
|
49
|
+
const part = this.ranges.parts[mid];
|
|
50
|
+
if (part.offset + part.raw <= offset)
|
|
51
|
+
low = mid + 1;
|
|
52
|
+
else
|
|
53
|
+
high = mid;
|
|
54
|
+
}
|
|
55
|
+
for (let index = low; index < this.ranges.parts.length; index += 1) {
|
|
56
|
+
const part = this.ranges.parts[index];
|
|
57
|
+
if (part.offset >= end)
|
|
58
|
+
break;
|
|
59
|
+
if (Atomics.load(this.state, index) === 2)
|
|
60
|
+
continue;
|
|
61
|
+
this.worker.postMessage({ type: "read", index });
|
|
62
|
+
const deadline = performance.now() + 30_000;
|
|
63
|
+
while (Atomics.load(this.state, index) === 0) {
|
|
64
|
+
const left = deadline - performance.now();
|
|
65
|
+
if (left <= 0 || Atomics.wait(this.state, index, 0, left) === "timed-out") {
|
|
66
|
+
this.close();
|
|
67
|
+
throw new Error(`The image's immutable part ${part.url} did not arrive within 30 seconds; reload to retry.`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (Atomics.load(this.state, index) !== 2) {
|
|
71
|
+
throw new Error(`The image's immutable part ${part.url} could not be verified or stored; see the worker error and reload to retry.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
fail() {
|
|
76
|
+
for (let index = 0; index < this.state.length; index += 1) {
|
|
77
|
+
if (Atomics.compareExchange(this.state, index, 0, -1) === 0)
|
|
78
|
+
Atomics.notify(this.state, index);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
close() { this.fail(); this.worker.terminate(); }
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=browser-image-ranges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-image-ranges.js","sourceRoot":"","sources":["../src/browser-image-ranges.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type ImageRanges } from "./browser-image-ranges.js";
|
|
2
|
+
import type { ImageLayerPreparedIndex } from "./browser-image-layers.js";
|
|
1
3
|
/**
|
|
2
4
|
* The workspace is stored as one packed file plus an index, not as a mirror of
|
|
3
5
|
* the guest's tree in the origin's own filesystem. A dependency tree is tens of
|
|
@@ -156,6 +158,8 @@ export interface PackageInstallAccount {
|
|
|
156
158
|
export interface PackStoreOptions {
|
|
157
159
|
/** The origin's shared package store, which a project's index may point into. */
|
|
158
160
|
packages?: PackStore;
|
|
161
|
+
/** A reader created with its own packages reader closes both together. */
|
|
162
|
+
ownsPackages?: boolean;
|
|
159
163
|
/** Logical workspace usage, including files linked from the package cache. */
|
|
160
164
|
limits?: {
|
|
161
165
|
maxBytes: number;
|
|
@@ -271,6 +275,10 @@ export interface PackStore {
|
|
|
271
275
|
checkpoint(): Promise<void>;
|
|
272
276
|
/** Defer automatic maintenance through a finite bulk operation; journal writes and explicit checkpoints stay live. */
|
|
273
277
|
deferMaintenance<T>(operation: () => Promise<T>): Promise<T>;
|
|
278
|
+
/** Install host-prepared metadata and reserved immutable extents only into an empty shared store. */
|
|
279
|
+
installPreparedImage(prepared: ImageLayerPreparedIndex, json: Uint8Array, binary: Uint8Array, ranges: ImageRanges): Promise<boolean>;
|
|
280
|
+
/** Installed deferred image, including recovery before its optional journal marker was written. */
|
|
281
|
+
readonly deferredImage: string | undefined;
|
|
274
282
|
opened(): boolean;
|
|
275
283
|
/** The index: every path with its extent. */
|
|
276
284
|
readonly entries: ReadonlyMap<string, IndexEntry>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-pack-store.d.ts","sourceRoot":"","sources":["../src/browser-pack-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser-pack-store.d.ts","sourceRoot":"","sources":["../src/browser-pack-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { encodeSharedIndex, OverlaidChildren, OverlaidIndex, SharedIndex, sameIndexEntry } from "./browser-pack-index.js";
|
|
2
|
+
import { ImageRangeReader, IMAGE_RANGES_FILE, validateImageRanges } from "./browser-image-ranges.js";
|
|
2
3
|
/** The one shared store of an origin: every package version's files, once, under `/packages/<name>@<version>/`. */
|
|
3
4
|
export const PACKAGES_STORE = "packages";
|
|
4
5
|
export const PACKAGES_ROOT = "/packages";
|
|
@@ -80,6 +81,9 @@ export function createPackStore(environment, options = {}) {
|
|
|
80
81
|
/** Each directory's children by name, so a subtree is found without a walk of the index. */
|
|
81
82
|
let children = new LocalChildren();
|
|
82
83
|
let packAccess;
|
|
84
|
+
let imageRangesDigest;
|
|
85
|
+
let imageReader;
|
|
86
|
+
let deferredImage;
|
|
83
87
|
let logAccess;
|
|
84
88
|
/** Committed package bytes captured under the writer lock; never mutable workspace bytes. */
|
|
85
89
|
let immutableReadEnd = 0;
|
|
@@ -350,6 +354,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
350
354
|
let block = readAhead.get(start);
|
|
351
355
|
if (!block) {
|
|
352
356
|
block = new Uint8Array(Math.min(READ_AHEAD_BYTES, immutableReadEnd - start));
|
|
357
|
+
imageReader?.ensure(start, block.byteLength);
|
|
353
358
|
if (access.read(block, { at: start }) !== block.byteLength)
|
|
354
359
|
throw new Error("An OPFS package range could not be read completely.");
|
|
355
360
|
}
|
|
@@ -364,6 +369,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
364
369
|
}
|
|
365
370
|
return value;
|
|
366
371
|
}
|
|
372
|
+
imageReader?.ensure(offset, length);
|
|
367
373
|
if (length > 0 && access.read(value, { at: offset }) !== length) {
|
|
368
374
|
throw new Error("An OPFS workspace file could not be read completely.");
|
|
369
375
|
}
|
|
@@ -389,6 +395,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
389
395
|
entries = new Map();
|
|
390
396
|
children = new LocalChildren();
|
|
391
397
|
generation = undefined;
|
|
398
|
+
imageRangesDigest = undefined;
|
|
392
399
|
generationHandle = undefined;
|
|
393
400
|
mutationUndo = undefined;
|
|
394
401
|
mutationFailure = undefined;
|
|
@@ -463,6 +470,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
463
470
|
}
|
|
464
471
|
opening.signal.throwIfAborted();
|
|
465
472
|
generation = state.generation;
|
|
473
|
+
imageRangesDigest = state.imageRanges;
|
|
466
474
|
generationHandle = directory;
|
|
467
475
|
if (extentsOnly) {
|
|
468
476
|
if (projectId === PACKAGES_STORE && environment.navigator.locks) {
|
|
@@ -607,8 +615,11 @@ export function createPackStore(environment, options = {}) {
|
|
|
607
615
|
const directory = await generationDirectory(state.generation, false);
|
|
608
616
|
const index = readIndex(await readJson(directory, INDEX_FILE));
|
|
609
617
|
packBytes = indexPackBytes(index);
|
|
610
|
-
if (state.generation !== generation)
|
|
618
|
+
if (state.generation !== generation) {
|
|
619
|
+
generation = state.generation;
|
|
620
|
+
imageRangesDigest = state.imageRanges;
|
|
611
621
|
await openGenerationHandles(directory);
|
|
622
|
+
}
|
|
612
623
|
generation = state.generation;
|
|
613
624
|
generationHandle = directory;
|
|
614
625
|
entries = index;
|
|
@@ -727,6 +738,17 @@ export function createPackStore(environment, options = {}) {
|
|
|
727
738
|
const log = await directory.getFileHandle(LOG_FILE);
|
|
728
739
|
logAccess = await openSyncAccess(log, "record of changes");
|
|
729
740
|
logBytes = logAccess.getSize();
|
|
741
|
+
if (imageRangesDigest) {
|
|
742
|
+
const file = await (await directory.getFileHandle(IMAGE_RANGES_FILE)).getFile();
|
|
743
|
+
const bytes = new Uint8Array(await file.arrayBuffer());
|
|
744
|
+
if (await indexDigest(bytes) !== imageRangesDigest)
|
|
745
|
+
throw new Error("The committed immutable image ranges have changed. Stored data was retained.");
|
|
746
|
+
const ranges = validateImageRanges(JSON.parse(decoder.decode(bytes)));
|
|
747
|
+
if (ranges.bytes > packAccess.getSize())
|
|
748
|
+
throw new Error("The immutable image reservation is incomplete. Stored data was retained.");
|
|
749
|
+
imageReader = new ImageRangeReader(ranges, directory, `${projectId}.${generation}`);
|
|
750
|
+
deferredImage = ranges.image;
|
|
751
|
+
}
|
|
730
752
|
}
|
|
731
753
|
catch (cause) {
|
|
732
754
|
closeGenerationHandles();
|
|
@@ -734,6 +756,9 @@ export function createPackStore(environment, options = {}) {
|
|
|
734
756
|
}
|
|
735
757
|
}
|
|
736
758
|
function closeGenerationHandles() {
|
|
759
|
+
imageReader?.close();
|
|
760
|
+
imageReader = undefined;
|
|
761
|
+
deferredImage = undefined;
|
|
737
762
|
const pack = packAccess, log = logAccess;
|
|
738
763
|
packAccess = undefined;
|
|
739
764
|
logAccess = undefined;
|
|
@@ -1632,6 +1657,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
1632
1657
|
while (copied < entry.length) {
|
|
1633
1658
|
const span = Math.min(buffer.byteLength, entry.length - copied);
|
|
1634
1659
|
const chunk = buffer.subarray(0, span);
|
|
1660
|
+
imageReader?.ensure(entry.offset + copied, span);
|
|
1635
1661
|
if (source.read(chunk, { at: entry.offset + copied }) !== span)
|
|
1636
1662
|
throw new Error("An OPFS workspace file could not be read completely.");
|
|
1637
1663
|
let written = 0;
|
|
@@ -1776,6 +1802,7 @@ export function createPackStore(environment, options = {}) {
|
|
|
1776
1802
|
while (copied < entry.length) {
|
|
1777
1803
|
const span = Math.min(buffer.byteLength, entry.length - copied);
|
|
1778
1804
|
const chunk = buffer.subarray(0, span);
|
|
1805
|
+
imageReader?.ensure(entry.offset + copied, span);
|
|
1779
1806
|
if (source.read(chunk, { at: entry.offset + copied }) !== span) {
|
|
1780
1807
|
throw new Error("An OPFS workspace file could not be read completely.");
|
|
1781
1808
|
}
|
|
@@ -1802,16 +1829,16 @@ export function createPackStore(environment, options = {}) {
|
|
|
1802
1829
|
await commitGeneration(next, directory, index, cursor, prepared);
|
|
1803
1830
|
return moved;
|
|
1804
1831
|
}
|
|
1805
|
-
async function commitGeneration(name, directory, index, bytes, prepared) {
|
|
1832
|
+
async function commitGeneration(name, directory, index, bytes, prepared, rangesDigest) {
|
|
1806
1833
|
beginTransition();
|
|
1807
1834
|
try {
|
|
1808
|
-
await commitGenerationIn(name, directory, index, bytes, prepared);
|
|
1835
|
+
await commitGenerationIn(name, directory, index, bytes, prepared, rangesDigest);
|
|
1809
1836
|
}
|
|
1810
1837
|
finally {
|
|
1811
1838
|
endTransition();
|
|
1812
1839
|
}
|
|
1813
1840
|
}
|
|
1814
|
-
async function commitGenerationIn(name, directory, index, bytes, prepared) {
|
|
1841
|
+
async function commitGenerationIn(name, directory, index, bytes, prepared, rangesDigest) {
|
|
1815
1842
|
// Publish only a generation whose pack, index and initial journal exist.
|
|
1816
1843
|
// Opening a committed generation must never fabricate missing data files.
|
|
1817
1844
|
const journal = await directory.getFileHandle(LOG_FILE, { create: true });
|
|
@@ -1823,10 +1850,11 @@ export function createPackStore(environment, options = {}) {
|
|
|
1823
1850
|
finally {
|
|
1824
1851
|
journalAccess.close();
|
|
1825
1852
|
}
|
|
1826
|
-
const state = { storageVersion: 4, generation: name, initializedAt: Date.now() };
|
|
1853
|
+
const state = { storageVersion: rangesDigest ? 5 : 4, generation: name, initializedAt: Date.now(), ...(rangesDigest ? { imageRanges: rangesDigest } : {}) };
|
|
1827
1854
|
await writeJsonAtomically(await projectDirectory(), STATE_FILE, state);
|
|
1828
1855
|
closeGenerationHandles();
|
|
1829
1856
|
generation = name;
|
|
1857
|
+
imageRangesDigest = rangesDigest;
|
|
1830
1858
|
if (prepared) {
|
|
1831
1859
|
// Generation replacement excludes guest mutations. Its just-written
|
|
1832
1860
|
// representation is already current; do not reconstruct or encode it
|
|
@@ -1854,6 +1882,57 @@ export function createPackStore(environment, options = {}) {
|
|
|
1854
1882
|
if (!shared)
|
|
1855
1883
|
await discardGenerations(name);
|
|
1856
1884
|
}
|
|
1885
|
+
async function installPreparedImage(prepared, json, binary, suppliedRanges) {
|
|
1886
|
+
assertWritable();
|
|
1887
|
+
if (!shared || projectId !== PACKAGES_STORE)
|
|
1888
|
+
throw new Error("Only the shared package store can reserve immutable image extents.");
|
|
1889
|
+
// The caller holds PACKAGES_LOCK. Another tab may have installed its image
|
|
1890
|
+
// during the fetch; never replace an existing origin's package positions.
|
|
1891
|
+
if (packBytes !== 0 || [...entries.values()].some(entry => entry.type !== "directory"))
|
|
1892
|
+
return false;
|
|
1893
|
+
const ranges = validateImageRanges(suppliedRanges);
|
|
1894
|
+
if (ranges.bytes !== prepared.packBytes || prepared.entries > MAX_ENTRIES || prepared.liveBytes > prepared.packBytes
|
|
1895
|
+
|| json.byteLength !== prepared.json.raw || binary.byteLength !== prepared.binary.raw
|
|
1896
|
+
|| await indexDigest(json) !== prepared.json.sha256 || await indexDigest(binary) !== prepared.binary.sha256) {
|
|
1897
|
+
throw new Error("The image's prepared metadata does not match its document.");
|
|
1898
|
+
}
|
|
1899
|
+
// The pinned host emits the authoritative JSON checkpoint and its matching
|
|
1900
|
+
// mapped representation together. Bind both; do not reconstruct 600,000
|
|
1901
|
+
// objects in the tab only to encode the same representation again.
|
|
1902
|
+
const newline = json.subarray(0, 4096).indexOf(10);
|
|
1903
|
+
if (newline < 0)
|
|
1904
|
+
throw new Error("The prepared index has no bounded retained header.");
|
|
1905
|
+
const retained = JSON.parse(`${decoder.decode(json.subarray(0, newline - 1))}}`);
|
|
1906
|
+
const measures = { packBytes: prepared.packBytes, liveBytes: prepared.liveBytes, linked: 0, linkedBytes: 0 };
|
|
1907
|
+
const header = retained.retainedIndex;
|
|
1908
|
+
if (header.version !== 1 || header.digest !== await retainedIndexDigest(binary, measures)
|
|
1909
|
+
|| header.packBytes !== measures.packBytes || header.liveBytes !== measures.liveBytes || header.linked !== 0 || header.linkedBytes !== 0) {
|
|
1910
|
+
throw new Error("The prepared index's retained measures are inconsistent.");
|
|
1911
|
+
}
|
|
1912
|
+
const index = new SharedArrayBuffer(binary.byteLength);
|
|
1913
|
+
new Uint8Array(index).set(binary);
|
|
1914
|
+
if (new SharedIndex(index).entryCount !== prepared.entries)
|
|
1915
|
+
throw new Error("The prepared index has the wrong number of entries.");
|
|
1916
|
+
return rewriteGeneration(async () => {
|
|
1917
|
+
const name = crypto.randomUUID();
|
|
1918
|
+
const directory = await generationDirectory(name, true);
|
|
1919
|
+
const pack = await directory.getFileHandle(PACK_FILE, { create: true });
|
|
1920
|
+
const access = await openSyncAccess(pack, "immutable image reservation");
|
|
1921
|
+
try {
|
|
1922
|
+
access.truncate(prepared.packBytes);
|
|
1923
|
+
access.flush();
|
|
1924
|
+
}
|
|
1925
|
+
finally {
|
|
1926
|
+
access.close();
|
|
1927
|
+
}
|
|
1928
|
+
const rangeBytes = encoder.encode(JSON.stringify(ranges));
|
|
1929
|
+
await writeBytesAtomically(directory, IMAGE_RANGES_FILE, rangeBytes);
|
|
1930
|
+
await writeBytesAtomically(directory, RETAINED_INDEX_FILE, binary);
|
|
1931
|
+
await writeBytesAtomically(directory, INDEX_FILE, json);
|
|
1932
|
+
await commitGeneration(name, directory, new Map(), prepared.packBytes, { index, ...measures }, await indexDigest(rangeBytes));
|
|
1933
|
+
return true;
|
|
1934
|
+
});
|
|
1935
|
+
}
|
|
1857
1936
|
// ---------------------------------------------------------------- reads
|
|
1858
1937
|
async function readSnapshot() {
|
|
1859
1938
|
if (closing)
|
|
@@ -2264,7 +2343,9 @@ export function createPackStore(environment, options = {}) {
|
|
|
2264
2343
|
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
2265
2344
|
throw new Error("Invalid OPFS workspace state. Stored data was retained.");
|
|
2266
2345
|
const candidate = value;
|
|
2267
|
-
if (candidate.storageVersion !== 4
|
|
2346
|
+
if ((candidate.storageVersion !== 4 && candidate.storageVersion !== 5)
|
|
2347
|
+
|| (candidate.storageVersion === 5 && (typeof candidate.imageRanges !== "string" || !/^[a-f0-9]{64}$/u.test(candidate.imageRanges)))
|
|
2348
|
+
|| (candidate.storageVersion === 4 && candidate.imageRanges !== undefined)
|
|
2268
2349
|
|| typeof candidate.generation !== "string"
|
|
2269
2350
|
|| !/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(candidate.generation)
|
|
2270
2351
|
|| typeof candidate.initializedAt !== "number"
|
|
@@ -2484,7 +2565,13 @@ export function createPackStore(environment, options = {}) {
|
|
|
2484
2565
|
const release = releaseLock;
|
|
2485
2566
|
releaseLock = undefined;
|
|
2486
2567
|
project = undefined;
|
|
2487
|
-
|
|
2568
|
+
try {
|
|
2569
|
+
release?.();
|
|
2570
|
+
}
|
|
2571
|
+
finally {
|
|
2572
|
+
if (options.ownsPackages)
|
|
2573
|
+
options.packages?.close();
|
|
2574
|
+
}
|
|
2488
2575
|
}
|
|
2489
2576
|
}
|
|
2490
2577
|
}
|
|
@@ -2508,6 +2595,8 @@ export function createPackStore(environment, options = {}) {
|
|
|
2508
2595
|
get logBytes() { return logBytes; },
|
|
2509
2596
|
checkpoint,
|
|
2510
2597
|
deferMaintenance,
|
|
2598
|
+
installPreparedImage,
|
|
2599
|
+
get deferredImage() { return deferredImage; },
|
|
2511
2600
|
get entries() { return entries; },
|
|
2512
2601
|
get packBytes() { return packBytes; },
|
|
2513
2602
|
read,
|
|
@@ -2534,8 +2623,16 @@ export function createPackStore(environment, options = {}) {
|
|
|
2534
2623
|
export async function openPackReader(environment, projectId, seed) {
|
|
2535
2624
|
const packages = createPackStore(environment);
|
|
2536
2625
|
await packages.initialize(PACKAGES_STORE, { readOnly: true, extentsOnly: true });
|
|
2537
|
-
const project = createPackStore(environment, { packages });
|
|
2538
|
-
|
|
2626
|
+
const project = createPackStore(environment, { packages, ownsPackages: true });
|
|
2627
|
+
let opened;
|
|
2628
|
+
try {
|
|
2629
|
+
opened = await project.initialize(projectId, { readOnly: true, ...(seed ? { seed } : {}) });
|
|
2630
|
+
}
|
|
2631
|
+
catch (cause) {
|
|
2632
|
+
project.close();
|
|
2633
|
+
packages.close();
|
|
2634
|
+
throw cause;
|
|
2635
|
+
}
|
|
2539
2636
|
if (!opened && !project.opened()) {
|
|
2540
2637
|
packages.close();
|
|
2541
2638
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-pack-store.js","sourceRoot":"","sources":["../src/browser-pack-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-pack-store.js","sourceRoot":"","sources":["../src/browser-pack-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED