@volter/browser-wali 0.1.10 → 0.1.12
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/bulk-memory.d.ts +23 -0
- package/dist/bulk-memory.d.ts.map +1 -0
- package/dist/bulk-memory.js +50 -0
- package/dist/bulk-memory.js.map +1 -0
- package/dist/coherent-file-locks.d.ts +4 -1
- package/dist/coherent-file-locks.d.ts.map +1 -1
- package/dist/coherent-file-locks.js +24 -1
- package/dist/coherent-file-locks.js.map +1 -1
- package/dist/descriptors.d.ts +18 -1
- package/dist/descriptors.d.ts.map +1 -1
- package/dist/descriptors.js +51 -6
- package/dist/descriptors.js.map +1 -1
- package/dist/filesystem-host.d.ts +81 -0
- package/dist/filesystem-host.d.ts.map +1 -0
- package/dist/filesystem-host.js +849 -0
- package/dist/filesystem-host.js.map +1 -0
- package/dist/filesystem-protocol.d.ts +49 -1
- package/dist/filesystem-protocol.d.ts.map +1 -1
- package/dist/filesystem-protocol.js +17 -0
- package/dist/filesystem-protocol.js.map +1 -1
- package/dist/filesystem-remote.d.ts +72 -18
- package/dist/filesystem-remote.d.ts.map +1 -1
- package/dist/filesystem-remote.js +271 -40
- package/dist/filesystem-remote.js.map +1 -1
- package/dist/filesystem-worker.js +8 -502
- package/dist/filesystem-worker.js.map +1 -1
- package/dist/filesystem.d.ts +9 -0
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +209 -61
- package/dist/filesystem.js.map +1 -1
- package/dist/host-idle.d.ts +29 -0
- package/dist/host-idle.d.ts.map +1 -0
- package/dist/host-idle.js +68 -0
- package/dist/host-idle.js.map +1 -0
- package/dist/host.d.ts +1 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +1 -3
- package/dist/host.js.map +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +79 -18
- package/dist/memory.js.map +1 -1
- package/dist/module-layout.d.ts +6 -0
- package/dist/module-layout.d.ts.map +1 -1
- package/dist/module-layout.js +26 -3
- package/dist/module-layout.js.map +1 -1
- package/dist/monotonic-clock.d.ts +9 -0
- package/dist/monotonic-clock.d.ts.map +1 -1
- package/dist/monotonic-clock.js +11 -0
- package/dist/monotonic-clock.js.map +1 -1
- package/dist/network-worker.js +7 -2
- package/dist/network-worker.js.map +1 -1
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +11 -8
- package/dist/network.js.map +1 -1
- package/dist/process-bridge.d.ts.map +1 -1
- package/dist/process-bridge.js +25 -5
- package/dist/process-bridge.js.map +1 -1
- package/dist/program.d.ts +5 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +13 -12
- package/dist/program.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +75 -9
- package/dist/runtime.js.map +1 -1
- package/dist/shared-file-layer.d.ts +69 -0
- package/dist/shared-file-layer.d.ts.map +1 -0
- package/dist/shared-file-layer.js +299 -0
- package/dist/shared-file-layer.js.map +1 -0
- package/dist/shared-pipes.d.ts +7 -0
- package/dist/shared-pipes.d.ts.map +1 -1
- package/dist/shared-pipes.js +56 -17
- package/dist/shared-pipes.js.map +1 -1
- package/dist/signals.d.ts +2 -0
- package/dist/signals.d.ts.map +1 -1
- package/dist/signals.js +5 -1
- package/dist/signals.js.map +1 -1
- package/dist/snapshot-filesystem.d.ts +36 -3
- package/dist/snapshot-filesystem.d.ts.map +1 -1
- package/dist/snapshot-filesystem.js +204 -19
- package/dist/snapshot-filesystem.js.map +1 -1
- package/dist/stdin.d.ts.map +1 -1
- package/dist/stdin.js +3 -2
- package/dist/stdin.js.map +1 -1
- package/dist/symlink.d.ts.map +1 -1
- package/dist/symlink.js +91 -1
- package/dist/symlink.js.map +1 -1
- package/dist/system.d.ts.map +1 -1
- package/dist/system.js +17 -6
- package/dist/system.js.map +1 -1
- package/dist/thread-coordinator-worker.d.ts +1 -25
- package/dist/thread-coordinator-worker.d.ts.map +1 -1
- package/dist/thread-coordinator-worker.js +29 -2
- package/dist/thread-coordinator-worker.js.map +1 -1
- package/dist/thread-worker.js +13 -8
- package/dist/thread-worker.js.map +1 -1
- package/dist/threads.d.ts +4 -0
- package/dist/threads.d.ts.map +1 -1
- package/dist/threads.js +72 -43
- package/dist/threads.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/websocket-peer.d.ts.map +1 -1
- package/dist/websocket-peer.js +2 -1
- package/dist/websocket-peer.js.map +1 -1
- package/dist/worker-program-protocol.d.ts +26 -0
- package/dist/worker-program-protocol.d.ts.map +1 -1
- package/dist/worker-program-worker.js +26 -8
- package/dist/worker-program-worker.js.map +1 -1
- package/dist/worker-program.d.ts +43 -0
- package/dist/worker-program.d.ts.map +1 -1
- package/dist/worker-program.js +198 -24
- package/dist/worker-program.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { IndexEntry } from "@volter/browser-runtime/browser-pack-store.js";
|
|
2
|
+
import type { BrowserFileSnapshotEntry, BrowserFileSystem } from "@volter/browser-runtime/browser-filesystem.js";
|
|
3
|
+
export interface SharedFileLayer {
|
|
4
|
+
/** The entries and children, as `encodeSharedIndex` writes them; a file's offset is into `bytes`. */
|
|
5
|
+
index: SharedArrayBuffer;
|
|
6
|
+
bytes: SharedArrayBuffer;
|
|
7
|
+
/** Files described that were gone when their bytes were read: the run's snapshot and base leave them out too. */
|
|
8
|
+
vanished?: string[];
|
|
9
|
+
/** A host's layer: the trees it holds, which are the program's and never the page's (`sharedFileLayerFromIndex`). */
|
|
10
|
+
roots?: string[];
|
|
11
|
+
}
|
|
12
|
+
/** What a tree reads of the files below it: the part of a store `SnapshotWaliFileSystem` uses. */
|
|
13
|
+
export interface LowerTree {
|
|
14
|
+
readonly entries: ReadonlyMap<string, IndexEntry>;
|
|
15
|
+
read(path: string): Uint8Array;
|
|
16
|
+
/**
|
|
17
|
+
* The file's bytes without a copy, for a tree that copies them only when it
|
|
18
|
+
* writes them: a layer's files are then held once, in the layer, as
|
|
19
|
+
* Emscripten's are in its filesystem (2026-09-27).
|
|
20
|
+
*/
|
|
21
|
+
view?(path: string): Uint8Array;
|
|
22
|
+
childrenOf(path: string): string[];
|
|
23
|
+
/** Every entry at or below a path, the path itself first. */
|
|
24
|
+
descendants(prefix: string): Array<[string, IndexEntry]>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The layer for the files and directories a snapshot describes by size,
|
|
28
|
+
* their bytes read from the page's filesystem. Undefined when there is
|
|
29
|
+
* nothing to share, or when a path cannot be encoded (the run then carries
|
|
30
|
+
* the tree as before).
|
|
31
|
+
*/
|
|
32
|
+
export declare function createSharedFileLayer(filesystem: BrowserFileSystem, described: readonly BrowserFileSnapshotEntry[]): Promise<SharedFileLayer | undefined>;
|
|
33
|
+
/** The layer as a tree reads it, in any realm the run's buffers reach. */
|
|
34
|
+
export declare function openSharedFileLayer(layer: SharedFileLayer): LowerTree;
|
|
35
|
+
/**
|
|
36
|
+
* A layer a host builds from a tree it already holds as one blob and an index
|
|
37
|
+
* of it (ADR-0044 §6): each file's bytes are where the index says, in order,
|
|
38
|
+
* and nothing is copied. `include` leaves a file out of the layer, its bytes
|
|
39
|
+
* still counted. The model editor's Blender runtime is 1,300 files served as
|
|
40
|
+
* exactly that (`runtime.idx` and `runtime.bin`); staged into the page's
|
|
41
|
+
* filesystem first, the tree was held twice and took 0.3-0.5 s of each boot.
|
|
42
|
+
*/
|
|
43
|
+
export declare function sharedFileLayerFromIndex(root: string, files: ReadonlyArray<{
|
|
44
|
+
path: string;
|
|
45
|
+
size: number;
|
|
46
|
+
mode: number;
|
|
47
|
+
}>, bytes: SharedArrayBuffer, options: {
|
|
48
|
+
mtimeMs: number;
|
|
49
|
+
include?: (path: string) => boolean;
|
|
50
|
+
}): SharedFileLayer;
|
|
51
|
+
/** A layer's entries as a snapshot describes them: by size, their bytes being the layer's. */
|
|
52
|
+
export declare function sharedFileLayerEntries(layer: SharedFileLayer): BrowserFileSnapshotEntry[];
|
|
53
|
+
/**
|
|
54
|
+
* Several lower trees as one: a path is the first tree's that holds it, and a
|
|
55
|
+
* directory lists what every tree holding it as a directory holds. A path one
|
|
56
|
+
* tree holds as a file hides what later trees hold at or below it, so the
|
|
57
|
+
* union never shows a file with children (review of c5de163).
|
|
58
|
+
*/
|
|
59
|
+
export declare function unionLowerTree(trees: readonly LowerTree[]): LowerTree;
|
|
60
|
+
/** The lower tree of a run: its store's, if any, before its layers. */
|
|
61
|
+
export declare function lowerTreeOf(store: LowerTree | undefined, layers: readonly SharedFileLayer[] | undefined): LowerTree | undefined;
|
|
62
|
+
/** A patch without what lies at or below the host's trees, which the page does not hold (review of c5de163). */
|
|
63
|
+
export declare function withoutHostTrees<T extends {
|
|
64
|
+
files: Array<{
|
|
65
|
+
path: string;
|
|
66
|
+
}>;
|
|
67
|
+
removed: string[];
|
|
68
|
+
}>(patch: T, roots: readonly string[]): T;
|
|
69
|
+
//# sourceMappingURL=shared-file-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-file-layer.d.ts","sourceRoot":"","sources":["../src/shared-file-layer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAEjH,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,iHAAiH;IACjH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,kGAAkG;AAClG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,6DAA6D;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CAC1D;AAgBD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,wBAAwB,EAAE,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAO/J;AAmDD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CA8BrE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAClE,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAChE,eAAe,CA2BjB;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,wBAAwB,EAAE,CAQzF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAwErE;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAG/H;AAED,gHAAgH;AAChH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAIvI"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A page's tree, handed to a WALI program as shared memory instead of as a
|
|
3
|
+
* snapshot (ADR-0044 §6).
|
|
4
|
+
*
|
|
5
|
+
* A program run over a tree with no store used to receive every file's bytes
|
|
6
|
+
* as base64 in its snapshot, and to pass them on the same way: the program's
|
|
7
|
+
* worker decoded them, encoded its own base again for the patches it sends
|
|
8
|
+
* back, and encoded the tree once more for its filesystem worker, which
|
|
9
|
+
* decoded it again. Measured 2026-09-27 with the Volter model editor's
|
|
10
|
+
* Blender (a 66 MB runtime tree in a memory filesystem): the program worker
|
|
11
|
+
* held a 290 MB heap and the filesystem worker allocated 880 MB while Blender
|
|
12
|
+
* started, and the tab held 1.4 GB for one Blender.
|
|
13
|
+
*
|
|
14
|
+
* The page now copies the tree's bytes once into one SharedArrayBuffer and
|
|
15
|
+
* encodes its index with the store's own shared encoding
|
|
16
|
+
* (`browser-pack-index.ts`), and every worker of the run maps both. The
|
|
17
|
+
* program's filesystem reads the layer as it reads a store (ADR-0042): a
|
|
18
|
+
* file's bytes are copied out of the layer the first time the program opens
|
|
19
|
+
* it, and a file the program writes is its own from then on. The layer is
|
|
20
|
+
* read-only and lives as long as the run.
|
|
21
|
+
*/
|
|
22
|
+
import { OverlaidChildren, OverlaidIndex, SharedIndex, encodeSharedIndex } from "@volter/browser-runtime/browser-pack-index.js";
|
|
23
|
+
function parentOf(path) {
|
|
24
|
+
const at = path.lastIndexOf("/");
|
|
25
|
+
return at <= 0 ? "/" : path.slice(0, at);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The key the encoding lists a directory's children under. The encoding names
|
|
29
|
+
* a child `${key}/${name}`, so the root's children are listed under "", where
|
|
30
|
+
* a store, whose trees start below the root, never lists any.
|
|
31
|
+
*/
|
|
32
|
+
function childrenKey(path) {
|
|
33
|
+
return path === "/" ? "" : path;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The layer for the files and directories a snapshot describes by size,
|
|
37
|
+
* their bytes read from the page's filesystem. Undefined when there is
|
|
38
|
+
* nothing to share, or when a path cannot be encoded (the run then carries
|
|
39
|
+
* the tree as before).
|
|
40
|
+
*/
|
|
41
|
+
export async function createSharedFileLayer(filesystem, described) {
|
|
42
|
+
try {
|
|
43
|
+
return await layerOf(filesystem, described);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// A buffer that cannot be had, or a file that will not read: the run carries the tree as before.
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function layerOf(filesystem, described) {
|
|
51
|
+
// A tree whose entries carry no mode or time has nothing true to put in the index.
|
|
52
|
+
if (described.some((entry) => entry.path !== "/" && (entry.mode === undefined || entry.mtimeMs === undefined)))
|
|
53
|
+
return undefined;
|
|
54
|
+
const listed = described.filter((entry) => entry.type === "file" && entry.content === undefined);
|
|
55
|
+
if (listed.length === 0)
|
|
56
|
+
return undefined;
|
|
57
|
+
const files = [];
|
|
58
|
+
const vanished = [];
|
|
59
|
+
const contents = [];
|
|
60
|
+
let total = 0;
|
|
61
|
+
for (const file of listed) {
|
|
62
|
+
// A file removed since the listing is left out, as the tree now has it;
|
|
63
|
+
// the program does not see it, and the page no longer holds it.
|
|
64
|
+
if (!filesystem.existsSync(file.path)) {
|
|
65
|
+
vanished.push(file.path);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const bytes = await filesystem.readFile(file.path);
|
|
69
|
+
files.push(file);
|
|
70
|
+
contents.push(bytes);
|
|
71
|
+
total += bytes.byteLength;
|
|
72
|
+
}
|
|
73
|
+
const bytes = new SharedArrayBuffer(total);
|
|
74
|
+
const view = new Uint8Array(bytes);
|
|
75
|
+
const entries = new Map();
|
|
76
|
+
const children = new Map();
|
|
77
|
+
const attach = (path) => {
|
|
78
|
+
for (let child = path; child !== "/"; child = parentOf(child)) {
|
|
79
|
+
const parent = parentOf(child);
|
|
80
|
+
const key = childrenKey(parent);
|
|
81
|
+
const names = children.get(key) ?? new Set();
|
|
82
|
+
const name = child.slice(key.length + 1);
|
|
83
|
+
if (names.has(name))
|
|
84
|
+
return;
|
|
85
|
+
names.add(name);
|
|
86
|
+
children.set(key, names);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
let offset = 0;
|
|
90
|
+
files.forEach((file, index) => {
|
|
91
|
+
const content = contents[index];
|
|
92
|
+
view.set(content, offset);
|
|
93
|
+
entries.set(file.path, { type: "file", mode: file.mode, mtimeMs: file.mtimeMs, offset, length: content.byteLength });
|
|
94
|
+
attach(file.path);
|
|
95
|
+
offset += content.byteLength;
|
|
96
|
+
});
|
|
97
|
+
for (const entry of described) {
|
|
98
|
+
if (entry.type !== "directory" || entry.path === "/")
|
|
99
|
+
continue;
|
|
100
|
+
entries.set(entry.path, { type: "directory", mode: entry.mode, mtimeMs: entry.mtimeMs, offset: 0, length: 0 });
|
|
101
|
+
attach(entry.path);
|
|
102
|
+
}
|
|
103
|
+
return { index: encodeSharedIndex(entries, children), bytes, ...(vanished.length > 0 ? { vanished } : {}) };
|
|
104
|
+
}
|
|
105
|
+
/** The layer as a tree reads it, in any realm the run's buffers reach. */
|
|
106
|
+
export function openSharedFileLayer(layer) {
|
|
107
|
+
const index = new SharedIndex(layer.index);
|
|
108
|
+
const entries = new OverlaidIndex(index);
|
|
109
|
+
const children = new OverlaidChildren(index);
|
|
110
|
+
const bytes = new Uint8Array(layer.bytes);
|
|
111
|
+
return {
|
|
112
|
+
entries,
|
|
113
|
+
read(path) {
|
|
114
|
+
const entry = entries.get(path);
|
|
115
|
+
if (!entry || entry.type === "directory")
|
|
116
|
+
throw new Error(`The shared layer holds no file at ${path}.`);
|
|
117
|
+
// A copy: the program writes the bytes it was given in place.
|
|
118
|
+
return bytes.slice(entry.offset, entry.offset + entry.length);
|
|
119
|
+
},
|
|
120
|
+
view(path) {
|
|
121
|
+
const entry = entries.get(path);
|
|
122
|
+
if (!entry || entry.type === "directory")
|
|
123
|
+
throw new Error(`The shared layer holds no file at ${path}.`);
|
|
124
|
+
return bytes.subarray(entry.offset, entry.offset + entry.length);
|
|
125
|
+
},
|
|
126
|
+
childrenOf: (path) => [...(children.get(childrenKey(path)) ?? [])].sort(),
|
|
127
|
+
descendants(prefix) {
|
|
128
|
+
const found = [];
|
|
129
|
+
const visit = (path) => {
|
|
130
|
+
const entry = entries.get(path);
|
|
131
|
+
if (entry)
|
|
132
|
+
found.push([path, entry]);
|
|
133
|
+
for (const name of children.get(childrenKey(path)) ?? [])
|
|
134
|
+
visit(`${childrenKey(path)}/${name}`);
|
|
135
|
+
};
|
|
136
|
+
visit(prefix);
|
|
137
|
+
return found;
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* A layer a host builds from a tree it already holds as one blob and an index
|
|
143
|
+
* of it (ADR-0044 §6): each file's bytes are where the index says, in order,
|
|
144
|
+
* and nothing is copied. `include` leaves a file out of the layer, its bytes
|
|
145
|
+
* still counted. The model editor's Blender runtime is 1,300 files served as
|
|
146
|
+
* exactly that (`runtime.idx` and `runtime.bin`); staged into the page's
|
|
147
|
+
* filesystem first, the tree was held twice and took 0.3-0.5 s of each boot.
|
|
148
|
+
*/
|
|
149
|
+
export function sharedFileLayerFromIndex(root, files, bytes, options) {
|
|
150
|
+
const entries = new Map();
|
|
151
|
+
const children = new Map();
|
|
152
|
+
const base = root === "/" ? "" : root.replace(/\/$/u, "");
|
|
153
|
+
const attach = (path) => {
|
|
154
|
+
for (let child = path; child !== "/"; child = parentOf(child)) {
|
|
155
|
+
const parent = parentOf(child);
|
|
156
|
+
if (parent !== "/" && !entries.has(parent))
|
|
157
|
+
entries.set(parent, { type: "directory", mode: 0o755, mtimeMs: options.mtimeMs, offset: 0, length: 0 });
|
|
158
|
+
const key = childrenKey(parent);
|
|
159
|
+
const names = children.get(key) ?? new Set();
|
|
160
|
+
const name = child.slice(key.length + 1);
|
|
161
|
+
if (names.has(name))
|
|
162
|
+
return;
|
|
163
|
+
names.add(name);
|
|
164
|
+
children.set(key, names);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
let offset = 0;
|
|
168
|
+
for (const file of files) {
|
|
169
|
+
const path = `${base}/${file.path}`;
|
|
170
|
+
if (offset + file.size > bytes.byteLength)
|
|
171
|
+
throw new Error(`${path}: its bytes lie outside the ${bytes.byteLength}-byte blob`);
|
|
172
|
+
if (options.include?.(file.path) ?? true) {
|
|
173
|
+
entries.set(path, { type: "file", mode: file.mode, mtimeMs: options.mtimeMs, offset, length: file.size });
|
|
174
|
+
attach(path);
|
|
175
|
+
}
|
|
176
|
+
offset += file.size;
|
|
177
|
+
}
|
|
178
|
+
return { index: encodeSharedIndex(entries, children), bytes, roots: [base || "/"] };
|
|
179
|
+
}
|
|
180
|
+
/** A layer's entries as a snapshot describes them: by size, their bytes being the layer's. */
|
|
181
|
+
export function sharedFileLayerEntries(layer) {
|
|
182
|
+
const described = [];
|
|
183
|
+
for (const [path, entry] of openSharedFileLayer(layer).entries) {
|
|
184
|
+
described.push(entry.type === "directory"
|
|
185
|
+
? { path, type: "directory", mode: entry.mode, mtimeMs: entry.mtimeMs }
|
|
186
|
+
: { path, type: "file", size: entry.length, mode: entry.mode, mtimeMs: entry.mtimeMs });
|
|
187
|
+
}
|
|
188
|
+
return described;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Several lower trees as one: a path is the first tree's that holds it, and a
|
|
192
|
+
* directory lists what every tree holding it as a directory holds. A path one
|
|
193
|
+
* tree holds as a file hides what later trees hold at or below it, so the
|
|
194
|
+
* union never shows a file with children (review of c5de163).
|
|
195
|
+
*/
|
|
196
|
+
export function unionLowerTree(trees) {
|
|
197
|
+
if (trees.length === 1)
|
|
198
|
+
return trees[0];
|
|
199
|
+
/** Whether an earlier tree holds something other than a directory above `path`. */
|
|
200
|
+
const hidden = (index, path) => {
|
|
201
|
+
if (index === 0)
|
|
202
|
+
return false;
|
|
203
|
+
for (let above = parentOf(path);; above = parentOf(above)) {
|
|
204
|
+
for (let earlier = 0; earlier < index; earlier += 1) {
|
|
205
|
+
const entry = trees[earlier].entries.get(above);
|
|
206
|
+
if (entry && entry.type !== "directory")
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
if (above === "/")
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
const ownerIndex = (path) => {
|
|
214
|
+
for (let index = 0; index < trees.length; index += 1) {
|
|
215
|
+
if (trees[index].entries.has(path) && !hidden(index, path))
|
|
216
|
+
return index;
|
|
217
|
+
}
|
|
218
|
+
return -1;
|
|
219
|
+
};
|
|
220
|
+
const owner = (path) => trees[ownerIndex(path)];
|
|
221
|
+
const entries = {
|
|
222
|
+
get: (path) => owner(path)?.entries.get(path),
|
|
223
|
+
has: (path) => ownerIndex(path) >= 0,
|
|
224
|
+
get size() { let size = 0; for (const _ of entries)
|
|
225
|
+
size += 1; return size; },
|
|
226
|
+
*[Symbol.iterator]() {
|
|
227
|
+
const seen = new Set();
|
|
228
|
+
for (let index = 0; index < trees.length; index += 1)
|
|
229
|
+
for (const [path, entry] of trees[index].entries) {
|
|
230
|
+
if (seen.has(path) || ownerIndex(path) !== index)
|
|
231
|
+
continue;
|
|
232
|
+
seen.add(path);
|
|
233
|
+
yield [path, entry];
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
*entries() { yield* entries[Symbol.iterator](); },
|
|
237
|
+
*keys() { for (const [path] of entries)
|
|
238
|
+
yield path; },
|
|
239
|
+
*values() { for (const [, entry] of entries)
|
|
240
|
+
yield entry; },
|
|
241
|
+
forEach(callback) { for (const [path, entry] of entries)
|
|
242
|
+
callback(entry, path, entries); },
|
|
243
|
+
};
|
|
244
|
+
const listing = (path) => {
|
|
245
|
+
const held = owner(path)?.entries.get(path);
|
|
246
|
+
if (held && held.type !== "directory")
|
|
247
|
+
return [];
|
|
248
|
+
return trees.filter((tree, index) => {
|
|
249
|
+
const entry = tree.entries.get(path);
|
|
250
|
+
return (!entry || entry.type === "directory") && !hidden(index, path);
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
return {
|
|
254
|
+
entries,
|
|
255
|
+
read: (path) => {
|
|
256
|
+
const tree = owner(path);
|
|
257
|
+
if (!tree)
|
|
258
|
+
throw new Error(`No lower tree holds ${path}.`);
|
|
259
|
+
return tree.read(path);
|
|
260
|
+
},
|
|
261
|
+
view: (path) => {
|
|
262
|
+
const tree = owner(path);
|
|
263
|
+
if (!tree)
|
|
264
|
+
throw new Error(`No lower tree holds ${path}.`);
|
|
265
|
+
return tree.view ? tree.view(path) : tree.read(path);
|
|
266
|
+
},
|
|
267
|
+
childrenOf: (path) => [...new Set(listing(path).flatMap((tree) => tree.childrenOf(path)))].sort(),
|
|
268
|
+
descendants: (prefix) => {
|
|
269
|
+
const found = [];
|
|
270
|
+
const seen = new Set();
|
|
271
|
+
for (const tree of trees)
|
|
272
|
+
for (const [path] of tree.descendants(prefix)) {
|
|
273
|
+
if (seen.has(path))
|
|
274
|
+
continue;
|
|
275
|
+
seen.add(path);
|
|
276
|
+
const entry = entries.get(path);
|
|
277
|
+
if (entry)
|
|
278
|
+
found.push([path, entry]);
|
|
279
|
+
}
|
|
280
|
+
const itself = found.findIndex(([path]) => path === prefix);
|
|
281
|
+
if (itself > 0)
|
|
282
|
+
found.unshift(...found.splice(itself, 1));
|
|
283
|
+
return found;
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
/** The lower tree of a run: its store's, if any, before its layers. */
|
|
288
|
+
export function lowerTreeOf(store, layers) {
|
|
289
|
+
const trees = [...(store ? [store] : []), ...(layers ?? []).map(openSharedFileLayer)];
|
|
290
|
+
return trees.length === 0 ? undefined : unionLowerTree(trees);
|
|
291
|
+
}
|
|
292
|
+
/** A patch without what lies at or below the host's trees, which the page does not hold (review of c5de163). */
|
|
293
|
+
export function withoutHostTrees(patch, roots) {
|
|
294
|
+
if (roots.length === 0)
|
|
295
|
+
return patch;
|
|
296
|
+
const hosted = (path) => roots.some((root) => root === "/" || path === root || path.startsWith(`${root}/`));
|
|
297
|
+
return { ...patch, files: patch.files.filter((entry) => !hosted(entry.path)), removed: patch.removed.filter((path) => !hosted(path)) };
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=shared-file-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-file-layer.js","sourceRoot":"","sources":["../src/shared-file-layer.ts"],"names":[],"mappings":"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"}
|
package/dist/shared-pipes.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ export interface WaliSharedPipeState {
|
|
|
9
9
|
payloads: SharedArrayBuffer;
|
|
10
10
|
}
|
|
11
11
|
export declare function createWaliSharedPipeState(table?: WaliProcessDescriptorTable): WaliSharedPipeState;
|
|
12
|
+
/**
|
|
13
|
+
* The run in this realm has ended: the last-state cache lets go of whatever
|
|
14
|
+
* it holds. Not only `state` -- the in-thread host asks with a copy of it per
|
|
15
|
+
* channel, and a pthread's request may have been the last pipe call (review
|
|
16
|
+
* of 945655a).
|
|
17
|
+
*/
|
|
18
|
+
export declare function forgetWaliSharedPipeState(): void;
|
|
12
19
|
/**
|
|
13
20
|
* `fd` names an open pipe description in this table. A run that inherits such
|
|
14
21
|
* a table reads that description itself; nothing else may read it too.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-pipes.d.ts","sourceRoot":"","sources":["../src/shared-pipes.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2B,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBpD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CAAC,KAAK,6BAAgE,GAAG,mBAAmB,CAUpI;
|
|
1
|
+
{"version":3,"file":"shared-pipes.d.ts","sourceRoot":"","sources":["../src/shared-pipes.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2B,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBpD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CAAC,KAAK,6BAAgE,GAAG,mBAAmB,CAUpI;AAqBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUnG;AAED,uFAAuF;AACvF,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAGhB,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAChC,KAAK,EAAE,mBAAmB,EAC3C,KAAK,CAAC,EAAE,0BAA0B,EACjB,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAA;KAAE,YAAA;IAM3F,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI7B,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAK1E,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK9D,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMtD,OAAO,CAAC,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAgDtG,OAAO,CAAC,IAAI;IA0BZ,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;CAInB"}
|
package/dist/shared-pipes.js
CHANGED
|
@@ -29,11 +29,37 @@ export function createWaliSharedPipeState(table = new WaliProcessDescriptorTable
|
|
|
29
29
|
return state;
|
|
30
30
|
}
|
|
31
31
|
const localTables = new WeakMap();
|
|
32
|
+
/** The table's and descriptions' views, made once per state rather than per poll. */
|
|
33
|
+
const entryViews = new WeakMap();
|
|
34
|
+
// The last state asked about: a process asks about one, and asks on nearly
|
|
35
|
+
// every descriptor call. Held strongly -- a WeakRef's two derefs per call cost
|
|
36
|
+
// 0.11 us of an lseek's 0.27 (measured 2026-09-28) -- and dropped when the run
|
|
37
|
+
// that uses it ends (`forgetWaliSharedPipeState`), so a realm that outlives
|
|
38
|
+
// its process does not keep the state's ~4 MB of pipe buffers.
|
|
39
|
+
let lastState;
|
|
40
|
+
let lastViews;
|
|
32
41
|
function pipeEntry(state, fd) {
|
|
33
42
|
if (!Number.isSafeInteger(fd) || fd < 0 || fd >= 65_536)
|
|
34
43
|
return 0;
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
let views = state === lastState ? lastViews : entryViews.get(state);
|
|
45
|
+
if (!views) {
|
|
46
|
+
views = { table: new Int32Array(state.table), descriptions: new Int32Array(state.descriptions) };
|
|
47
|
+
entryViews.set(state, views);
|
|
48
|
+
}
|
|
49
|
+
lastState = state;
|
|
50
|
+
lastViews = views;
|
|
51
|
+
const id = Atomics.load(views.table, fd);
|
|
52
|
+
return Atomics.load(views.descriptions, id * 3);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The run in this realm has ended: the last-state cache lets go of whatever
|
|
56
|
+
* it holds. Not only `state` -- the in-thread host asks with a copy of it per
|
|
57
|
+
* channel, and a pthread's request may have been the last pipe call (review
|
|
58
|
+
* of 945655a).
|
|
59
|
+
*/
|
|
60
|
+
export function forgetWaliSharedPipeState() {
|
|
61
|
+
lastState = undefined;
|
|
62
|
+
lastViews = undefined;
|
|
37
63
|
}
|
|
38
64
|
/**
|
|
39
65
|
* `fd` names an open pipe description in this table. A run that inherits such
|
|
@@ -105,25 +131,38 @@ export class WaliSharedPipeHost {
|
|
|
105
131
|
}
|
|
106
132
|
imports(fallback = {}) {
|
|
107
133
|
const delegate = (name, args) => fallback[name]?.(...args) ?? -38n;
|
|
108
|
-
const pipeOr = (fd, pipe, other) => this.isPipeFd(fd) ? pipe() : other();
|
|
109
134
|
const result = {
|
|
110
135
|
...fallback,
|
|
111
136
|
SYS_pipe: (pointer) => this.pipe(Number(pointer), 0),
|
|
112
137
|
SYS_pipe2: (pointer, flags) => this.pipe(Number(pointer), Number(flags)),
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
138
|
+
// Each call tests the descriptor and calls the pipe's or the fallback's
|
|
139
|
+
// handler with its own arguments: two closures and an argument array per
|
|
140
|
+
// call were most of what this layer cost a file's syscall (2026-09-28).
|
|
141
|
+
SYS_close: (fd) => this.isPipeFd(Number(fd)) ? this.close(Number(fd)) : fallback.SYS_close?.(fd) ?? -38n,
|
|
142
|
+
SYS_read: (fd, pointer, length) => this.isPipeFd(Number(fd)) ? this.read(Number(fd), Number(pointer), Number(length))
|
|
143
|
+
: fallback.SYS_read?.(fd, pointer, length) ?? -38n,
|
|
144
|
+
SYS_pread64: (fd, pointer, length, offset) => this.isPipeFd(Number(fd)) ? -29n
|
|
145
|
+
: fallback.SYS_pread64?.(fd, pointer, length, offset) ?? -38n,
|
|
146
|
+
SYS_write: (fd, pointer, length) => this.isPipeFd(Number(fd)) ? this.write(Number(fd), Number(pointer), Number(length))
|
|
147
|
+
: fallback.SYS_write?.(fd, pointer, length) ?? -38n,
|
|
148
|
+
SYS_pwrite64: (fd, pointer, length, offset) => this.isPipeFd(Number(fd)) ? -29n
|
|
149
|
+
: fallback.SYS_pwrite64?.(fd, pointer, length, offset) ?? -38n,
|
|
150
|
+
SYS_readv: (fd, pointer, count) => this.isPipeFd(Number(fd)) ? this.readv(Number(fd), Number(pointer), Number(count))
|
|
151
|
+
: fallback.SYS_readv?.(fd, pointer, count) ?? -38n,
|
|
152
|
+
SYS_writev: (fd, pointer, count) => this.isPipeFd(Number(fd)) ? this.writev(Number(fd), Number(pointer), Number(count))
|
|
153
|
+
: fallback.SYS_writev?.(fd, pointer, count) ?? -38n,
|
|
154
|
+
SYS_lseek: (fd, offset, whence) => this.isPipeFd(Number(fd)) ? -29n : fallback.SYS_lseek?.(fd, offset, whence) ?? -38n,
|
|
155
|
+
SYS_fstat: (fd, pointer) => this.isPipeFd(Number(fd)) ? this.fstat(Number(pointer)) : fallback.SYS_fstat?.(fd, pointer) ?? -38n,
|
|
156
|
+
SYS_dup: (fd) => this.isPipeFd(Number(fd)) ? this.duplicate(Number(fd)) : fallback.SYS_dup?.(fd) ?? -38n,
|
|
157
|
+
SYS_dup2: (fd, target) => this.isPipeFd(Number(fd)) ? this.duplicate(Number(fd), Number(target), 3, false, fallback)
|
|
158
|
+
: fallback.SYS_dup2?.(fd, target) ?? -38n,
|
|
159
|
+
SYS_dup3: (fd, target, flags) => this.isPipeFd(Number(fd))
|
|
160
|
+
? Number(fd) === Number(target) || (Number(flags) & ~O_CLOEXEC) !== 0
|
|
161
|
+
? -22n : this.duplicate(Number(fd), Number(target), 3, Boolean(Number(flags) & O_CLOEXEC), fallback)
|
|
162
|
+
: fallback.SYS_dup3?.(fd, target, flags) ?? -38n,
|
|
163
|
+
SYS_fcntl: (fd, command, argument) => this.isPipeFd(Number(fd))
|
|
164
|
+
? this.fcntl(Number(fd), Number(command), Number(BigInt.asIntN(32, BigInt(argument))), fallback)
|
|
165
|
+
: fallback.SYS_fcntl?.(fd, command, argument) ?? -38n,
|
|
127
166
|
SYS_poll: (pointer, count, timeout) => this.poll(Number(pointer), Number(count), Number(timeout), () => delegate("SYS_poll", [pointer, count, timeout])),
|
|
128
167
|
};
|
|
129
168
|
if (this.remote) {
|
package/dist/shared-pipes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-pipes.js","sourceRoot":"","sources":["../src/shared-pipes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared-pipes.js","sourceRoot":"","sources":["../src/shared-pipes.ts"],"names":[],"mappings":"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"}
|
package/dist/signals.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export declare class WaliSignals {
|
|
|
18
18
|
* (ending the process, for most signals) is the sender's to carry out.
|
|
19
19
|
*/
|
|
20
20
|
raise(signal: number, pid?: number, status?: number): "handled" | "ignored" | "default";
|
|
21
|
+
/** Whether any signal is pending at all: a word, without the BigInt set every syscall would build. */
|
|
22
|
+
anyPending(): boolean;
|
|
21
23
|
pending(): bigint;
|
|
22
24
|
take(mask: bigint): {
|
|
23
25
|
signal: number;
|