@ai-ecoverse/slicc-kernel 1.166.2 → 1.166.4
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/kernel-worker.js +19 -6
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-driver-worker.js +1 -1
- package/dist/node-driver-worker.js.map +2 -2
- package/dist/node-process-worker.cjs +96 -48
- package/dist/node-process-worker.cjs.map +3 -3
- package/dist/node-process-worker.js +96 -48
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +19 -6
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +93 -45
- package/dist/process-worker.js.map +3 -3
- package/dist/types/process/js/js-sync.d.ts +3 -2
- package/dist/types/realm/sync-sab-bridge.d.ts +1 -1
- package/dist/types/realm/sync-sab-wire.d.ts +4 -0
- package/package.json +2 -2
|
@@ -1690,19 +1690,22 @@ var init_wasi_files = __esm({
|
|
|
1690
1690
|
});
|
|
1691
1691
|
|
|
1692
1692
|
// src/realm/sync-sab-wire.ts
|
|
1693
|
+
function copyWindow(out, window, chunk, at) {
|
|
1694
|
+
setBytes.call(out, bytesPart.call(window, 0, chunk), at);
|
|
1695
|
+
}
|
|
1693
1696
|
function loadBlocked(header) {
|
|
1694
|
-
return [
|
|
1697
|
+
return [sabLoad(header, SAB_I_BLOCKED), sabLoad(header, SAB_I_BLOCKED_HI)];
|
|
1695
1698
|
}
|
|
1696
1699
|
function storeBlocked(header, [low, high]) {
|
|
1697
|
-
|
|
1698
|
-
|
|
1700
|
+
sabStore(header, SAB_I_BLOCKED_HI, high);
|
|
1701
|
+
sabStore(header, SAB_I_BLOCKED, low);
|
|
1699
1702
|
}
|
|
1700
1703
|
function loadU53(header, lo, hi) {
|
|
1701
|
-
return (
|
|
1704
|
+
return (sabLoad(header, lo) >>> 0) + sabLoad(header, hi) * U32;
|
|
1702
1705
|
}
|
|
1703
1706
|
function publishMemory(sab, bytes) {
|
|
1704
1707
|
if (bytes > 0)
|
|
1705
|
-
|
|
1708
|
+
sabStore(new capturedInt32Array(sab, 0, SAB_HEADER_I32), SAB_I_MEMORY, capturedMath.ceil(bytes / 65536));
|
|
1706
1709
|
}
|
|
1707
1710
|
function decodeSabResult(status2, payload) {
|
|
1708
1711
|
switch (status2) {
|
|
@@ -1712,14 +1715,14 @@ function decodeSabResult(status2, payload) {
|
|
|
1712
1715
|
return { ok: true, kind: "void" };
|
|
1713
1716
|
case SAB_STATUS_JSON: {
|
|
1714
1717
|
try {
|
|
1715
|
-
return { ok: true, kind: "json", json: capturedJSON.parse(
|
|
1718
|
+
return { ok: true, kind: "json", json: capturedJSON.parse(decodeText.call(decoder, payload)) };
|
|
1716
1719
|
} catch {
|
|
1717
1720
|
return { ok: false, errno: "EIO", message: "sync-sab: malformed json payload" };
|
|
1718
1721
|
}
|
|
1719
1722
|
}
|
|
1720
1723
|
case SAB_STATUS_ERRNO: {
|
|
1721
1724
|
try {
|
|
1722
|
-
const parsed = capturedJSON.parse(
|
|
1725
|
+
const parsed = capturedJSON.parse(decodeText.call(decoder, payload));
|
|
1723
1726
|
const errno2 = typeof parsed.errno === "string" && /^E[A-Z]+$|^EAI_[A-Z]+$/.test(parsed.errno) ? parsed.errno : "EIO";
|
|
1724
1727
|
const message2 = capturedString(parsed.message ?? errno2);
|
|
1725
1728
|
return {
|
|
@@ -1746,11 +1749,20 @@ function sabViews(sab) {
|
|
|
1746
1749
|
window: new capturedUint8Array(sab, SAB_HEADER_BYTES)
|
|
1747
1750
|
};
|
|
1748
1751
|
}
|
|
1749
|
-
var SAB_HEADER_I32, SAB_CLOCK_OFFSET, SAB_CLOCK_I64, SAB_HEADER_BYTES, SAB_I_STATE, SAB_I_SEQ, SAB_I_STATUS, SAB_I_TOTAL, SAB_I_CHUNK, SAB_I_OFFSET, SAB_I_REQ, SAB_I_PUB, SAB_I_SIGNALS, SAB_I_TIMERS, SAB_I_MEMORY, SAB_I_TOTAL_HI, SAB_I_OFFSET_HI, SAB_I_KILLED, SAB_I_ASYNC, SAB_I_STOP, SAB_I_BLOCKED, SAB_I_BLOCKED_HI, anyBlocked, U32, SAB_STATE_IDLE, SAB_STATE_PENDING, SAB_STATE_READY, SAB_STATUS_BYTES, SAB_STATUS_JSON, SAB_STATUS_VOID, SAB_STATUS_ERRNO, SAB_DEFAULT_WINDOW_BYTES, SAB_MIN_BYTES, SYNC_SAB_REQ_MSG, SYNC_SAB_NEXT_MSG, encoder, decoder;
|
|
1752
|
+
var atomicLoad, atomicStore, atomicWaitAsync, setBytes, bytesPart, decodeText, sabLoad, sabStore, sabWaitAsync, SAB_HEADER_I32, SAB_CLOCK_OFFSET, SAB_CLOCK_I64, SAB_HEADER_BYTES, SAB_I_STATE, SAB_I_SEQ, SAB_I_STATUS, SAB_I_TOTAL, SAB_I_CHUNK, SAB_I_OFFSET, SAB_I_REQ, SAB_I_PUB, SAB_I_SIGNALS, SAB_I_TIMERS, SAB_I_MEMORY, SAB_I_TOTAL_HI, SAB_I_OFFSET_HI, SAB_I_KILLED, SAB_I_ASYNC, SAB_I_STOP, SAB_I_BLOCKED, SAB_I_BLOCKED_HI, anyBlocked, U32, SAB_STATE_IDLE, SAB_STATE_PENDING, SAB_STATE_READY, SAB_STATUS_BYTES, SAB_STATUS_JSON, SAB_STATUS_VOID, SAB_STATUS_ERRNO, SAB_DEFAULT_WINDOW_BYTES, SAB_MIN_BYTES, SYNC_SAB_REQ_MSG, SYNC_SAB_NEXT_MSG, encoder, decoder;
|
|
1750
1753
|
var init_sync_sab_wire = __esm({
|
|
1751
1754
|
"src/realm/sync-sab-wire.ts"() {
|
|
1752
1755
|
"use strict";
|
|
1753
1756
|
init_captured_globals();
|
|
1757
|
+
atomicLoad = capturedAtomics.load;
|
|
1758
|
+
atomicStore = capturedAtomics.store;
|
|
1759
|
+
atomicWaitAsync = capturedAtomics.waitAsync;
|
|
1760
|
+
setBytes = capturedUint8Array.prototype.set;
|
|
1761
|
+
bytesPart = capturedUint8Array.prototype.subarray;
|
|
1762
|
+
decodeText = capturedTextDecoder.prototype.decode;
|
|
1763
|
+
sabLoad = (a, i) => atomicLoad(a, i);
|
|
1764
|
+
sabStore = (a, i, v) => atomicStore(a, i, v);
|
|
1765
|
+
sabWaitAsync = atomicWaitAsync;
|
|
1754
1766
|
SAB_HEADER_I32 = 18;
|
|
1755
1767
|
SAB_CLOCK_OFFSET = SAB_HEADER_I32 * 4;
|
|
1756
1768
|
SAB_CLOCK_I64 = 3;
|
|
@@ -1993,9 +2005,9 @@ function useLocalClock(sab) {
|
|
|
1993
2005
|
if (!local) return;
|
|
1994
2006
|
localSab = sab;
|
|
1995
2007
|
localStart = epochMicros();
|
|
1996
|
-
const wait2 = (
|
|
1997
|
-
() => rawWait(
|
|
1998
|
-
timeout !== 0 && capturedAtomics.load(
|
|
2008
|
+
const wait2 = (typed3, index3, value2, timeout) => localWait(
|
|
2009
|
+
() => rawWait(typed3, index3, value2, timeout),
|
|
2010
|
+
timeout !== 0 && capturedAtomics.load(typed3, index3) === value2
|
|
1999
2011
|
);
|
|
2000
2012
|
capturedAtomics.wait = wait2;
|
|
2001
2013
|
}
|
|
@@ -2186,7 +2198,7 @@ function createSyncSabTransport(sab, port3, deps = {}) {
|
|
|
2186
2198
|
const now = deps.now ?? (() => capturedperformance.now());
|
|
2187
2199
|
let seq = 0;
|
|
2188
2200
|
let typical = 0;
|
|
2189
|
-
const ready = (id) =>
|
|
2201
|
+
const ready = (id) => sabLoad(header, SAB_I_STATE) === SAB_STATE_READY && sabLoad(header, SAB_I_SEQ) === id;
|
|
2190
2202
|
function spinUntil(id, until) {
|
|
2191
2203
|
for (let stride = 0; stride < SPIN_STRIDES; stride++) {
|
|
2192
2204
|
for (let i = 0; i < SPIN_STRIDE; i++) if (ready(id)) return true;
|
|
@@ -2204,7 +2216,7 @@ function createSyncSabTransport(sab, port3, deps = {}) {
|
|
|
2204
2216
|
return;
|
|
2205
2217
|
}
|
|
2206
2218
|
for (; ; ) {
|
|
2207
|
-
const published =
|
|
2219
|
+
const published = sabLoad(header, SAB_I_PUB);
|
|
2208
2220
|
if (ready(id)) {
|
|
2209
2221
|
settled2(start2);
|
|
2210
2222
|
return;
|
|
@@ -2215,7 +2227,7 @@ function createSyncSabTransport(sab, port3, deps = {}) {
|
|
|
2215
2227
|
}
|
|
2216
2228
|
}
|
|
2217
2229
|
return {
|
|
2218
|
-
call(asked, timeoutMs2, label, given = []) {
|
|
2230
|
+
call(asked, timeoutMs2, label, given = [], sink) {
|
|
2219
2231
|
if (deps.memory) publishMemory(sab, deps.memory());
|
|
2220
2232
|
const { req, transfer } = exactBody(asked, given);
|
|
2221
2233
|
const id = ++seq;
|
|
@@ -2223,10 +2235,10 @@ function createSyncSabTransport(sab, port3, deps = {}) {
|
|
|
2223
2235
|
let out = null;
|
|
2224
2236
|
let status2 = 0;
|
|
2225
2237
|
let offset = 0;
|
|
2226
|
-
|
|
2238
|
+
sabStore(header, SAB_I_REQ, id);
|
|
2227
2239
|
try {
|
|
2228
2240
|
for (; ; ) {
|
|
2229
|
-
|
|
2241
|
+
sabStore(header, SAB_I_STATE, SAB_STATE_PENDING);
|
|
2230
2242
|
const msg = offset === 0 ? { type: SYNC_SAB_REQ_MSG, id, req } : { type: SYNC_SAB_NEXT_MSG, id, offset };
|
|
2231
2243
|
try {
|
|
2232
2244
|
if (offset === 0 && transfer.length > 0) port3.postMessage(msg, transfer);
|
|
@@ -2236,28 +2248,34 @@ function createSyncSabTransport(sab, port3, deps = {}) {
|
|
|
2236
2248
|
}
|
|
2237
2249
|
awaitReady(id, now() + timeoutMs2, label);
|
|
2238
2250
|
const total = loadU53(header, SAB_I_TOTAL, SAB_I_TOTAL_HI);
|
|
2239
|
-
const chunk =
|
|
2251
|
+
const chunk = sabLoad(header, SAB_I_CHUNK);
|
|
2240
2252
|
const at = loadU53(header, SAB_I_OFFSET, SAB_I_OFFSET_HI);
|
|
2241
2253
|
if (at !== offset || chunk < 0 || total < 0 || offset + chunk > total) {
|
|
2242
2254
|
throw syncError("EIO", label);
|
|
2243
2255
|
}
|
|
2244
2256
|
if (out === null) {
|
|
2245
|
-
status2 =
|
|
2246
|
-
out =
|
|
2257
|
+
status2 = sabLoad(header, SAB_I_STATUS);
|
|
2258
|
+
out = landing(status2, total, sink);
|
|
2247
2259
|
}
|
|
2248
|
-
out
|
|
2260
|
+
copyWindow(out, window, chunk, offset);
|
|
2249
2261
|
offset += chunk;
|
|
2250
2262
|
if (offset >= total) break;
|
|
2251
2263
|
if (chunk === 0) throw syncError("EIO", label);
|
|
2252
2264
|
}
|
|
2253
2265
|
} finally {
|
|
2254
|
-
|
|
2255
|
-
|
|
2266
|
+
sabStore(header, SAB_I_REQ, 0);
|
|
2267
|
+
sabStore(header, SAB_I_STATE, SAB_STATE_IDLE);
|
|
2256
2268
|
}
|
|
2257
2269
|
return decodeSabResult(status2, out);
|
|
2258
2270
|
}
|
|
2259
2271
|
};
|
|
2260
2272
|
}
|
|
2273
|
+
function landing(status2, total, sink) {
|
|
2274
|
+
if (!sink || status2 !== SAB_STATUS_BYTES || total > lengthOf.call(sink)) {
|
|
2275
|
+
return new capturedUint8Array(total);
|
|
2276
|
+
}
|
|
2277
|
+
return new capturedUint8Array(bufferOf.call(sink), offsetOf.call(sink), total);
|
|
2278
|
+
}
|
|
2261
2279
|
function errnoError(code2, path, direct) {
|
|
2262
2280
|
const err = syncError(code2, `sync-sab bridge, '${path}'`);
|
|
2263
2281
|
return direct ? capturedObject.assign(err, { direct }) : err;
|
|
@@ -2449,7 +2467,7 @@ function createSyncFsSabBridge(transport, opts = {}) {
|
|
|
2449
2467
|
)
|
|
2450
2468
|
};
|
|
2451
2469
|
}
|
|
2452
|
-
var UNCOUNTED_OPS, calls, looks, SPIN_MS, SPIN_STRIDE, SPIN_STRIDES, SPIN_CORES, spinning, SPIN_CAP_MS;
|
|
2470
|
+
var UNCOUNTED_OPS, calls, looks, SPIN_MS, SPIN_STRIDE, SPIN_STRIDES, SPIN_CORES, spinning, SPIN_CAP_MS, typed, getter, bufferOf, offsetOf, lengthOf;
|
|
2453
2471
|
var init_sync_sab_bridge = __esm({
|
|
2454
2472
|
"src/realm/sync-sab-bridge.ts"() {
|
|
2455
2473
|
"use strict";
|
|
@@ -2467,6 +2485,11 @@ var init_sync_sab_bridge = __esm({
|
|
|
2467
2485
|
SPIN_CORES = 4;
|
|
2468
2486
|
spinning = (capturedGlobalThis.navigator?.hardwareConcurrency ?? 0) >= SPIN_CORES;
|
|
2469
2487
|
SPIN_CAP_MS = 1;
|
|
2488
|
+
typed = capturedObject.getPrototypeOf(capturedUint8Array.prototype);
|
|
2489
|
+
getter = (name2) => capturedObject.getOwnPropertyDescriptor(typed, name2)?.get;
|
|
2490
|
+
bufferOf = getter("buffer");
|
|
2491
|
+
offsetOf = getter("byteOffset");
|
|
2492
|
+
lengthOf = getter("length");
|
|
2470
2493
|
}
|
|
2471
2494
|
});
|
|
2472
2495
|
|
|
@@ -2481,8 +2504,8 @@ function createAsyncSabTransport(sab, port3, waitAsync = defaultWaitAsync) {
|
|
|
2481
2504
|
let tail = capturedPromise.resolve();
|
|
2482
2505
|
async function ready(id) {
|
|
2483
2506
|
for (; ; ) {
|
|
2484
|
-
const published =
|
|
2485
|
-
if (
|
|
2507
|
+
const published = sabLoad(header, SAB_I_PUB);
|
|
2508
|
+
if (sabLoad(header, SAB_I_STATE) === SAB_STATE_READY && sabLoad(header, SAB_I_SEQ) === id) {
|
|
2486
2509
|
return;
|
|
2487
2510
|
}
|
|
2488
2511
|
await changed(header, SAB_I_PUB, published, waitAsync);
|
|
@@ -2494,31 +2517,31 @@ function createAsyncSabTransport(sab, port3, waitAsync = defaultWaitAsync) {
|
|
|
2494
2517
|
let out = null;
|
|
2495
2518
|
let status2 = 0;
|
|
2496
2519
|
let offset = 0;
|
|
2497
|
-
|
|
2520
|
+
sabStore(header, SAB_I_REQ, id);
|
|
2498
2521
|
try {
|
|
2499
2522
|
for (; ; ) {
|
|
2500
|
-
|
|
2523
|
+
sabStore(header, SAB_I_STATE, SAB_STATE_PENDING);
|
|
2501
2524
|
if (offset === 0) port3.postMessage({ type: SYNC_SAB_REQ_MSG, id, req }, transfer);
|
|
2502
2525
|
else port3.postMessage({ type: SYNC_SAB_NEXT_MSG, id, offset });
|
|
2503
2526
|
await ready(id);
|
|
2504
2527
|
const total = loadU53(header, SAB_I_TOTAL, SAB_I_TOTAL_HI);
|
|
2505
|
-
const chunk =
|
|
2528
|
+
const chunk = sabLoad(header, SAB_I_CHUNK);
|
|
2506
2529
|
const at = loadU53(header, SAB_I_OFFSET, SAB_I_OFFSET_HI);
|
|
2507
2530
|
if (at !== offset || chunk < 0 || total < 0 || offset + chunk > total) {
|
|
2508
2531
|
return { ok: false, errno: "EIO", message: "sync-sab: torn reply" };
|
|
2509
2532
|
}
|
|
2510
2533
|
if (out === null) {
|
|
2511
|
-
status2 =
|
|
2534
|
+
status2 = sabLoad(header, SAB_I_STATUS);
|
|
2512
2535
|
out = new capturedUint8Array(total);
|
|
2513
2536
|
}
|
|
2514
|
-
out
|
|
2537
|
+
copyWindow(out, window, chunk, offset);
|
|
2515
2538
|
offset += chunk;
|
|
2516
2539
|
if (offset >= total) break;
|
|
2517
2540
|
if (chunk === 0) return { ok: false, errno: "EIO", message: "sync-sab: empty chunk" };
|
|
2518
2541
|
}
|
|
2519
2542
|
} finally {
|
|
2520
|
-
|
|
2521
|
-
|
|
2543
|
+
sabStore(header, SAB_I_REQ, 0);
|
|
2544
|
+
sabStore(header, SAB_I_STATE, SAB_STATE_IDLE);
|
|
2522
2545
|
}
|
|
2523
2546
|
return decodeSabResult(status2, out);
|
|
2524
2547
|
}
|
|
@@ -2537,7 +2560,7 @@ var init_async_sab = __esm({
|
|
|
2537
2560
|
init_captured_globals();
|
|
2538
2561
|
init_sync_sab_bridge();
|
|
2539
2562
|
init_sync_sab_wire();
|
|
2540
|
-
defaultWaitAsync = (a, i, v) =>
|
|
2563
|
+
defaultWaitAsync = (a, i, v) => sabWaitAsync(a, i, v);
|
|
2541
2564
|
}
|
|
2542
2565
|
});
|
|
2543
2566
|
|
|
@@ -7466,7 +7489,7 @@ var init_version = __esm({
|
|
|
7466
7489
|
"src/version.ts"() {
|
|
7467
7490
|
"use strict";
|
|
7468
7491
|
init_captured_globals();
|
|
7469
|
-
KERNEL_VERSION = true ? "1.166.
|
|
7492
|
+
KERNEL_VERSION = true ? "1.166.4" : "0.0.0-dev";
|
|
7470
7493
|
OS_RELEASE = "6.0.0-slicc";
|
|
7471
7494
|
}
|
|
7472
7495
|
});
|
|
@@ -10688,7 +10711,7 @@ function syncFsync(imports, fs, glue) {
|
|
|
10688
10711
|
};
|
|
10689
10712
|
}
|
|
10690
10713
|
}
|
|
10691
|
-
function
|
|
10714
|
+
function offsetOf2(rest2) {
|
|
10692
10715
|
const at = rest2.length >= 3 ? capturedNumber(rest2[1]) * 2 ** 32 + (capturedNumber(rest2[0]) >>> 0) : capturedNumber(capturedBigInt.asIntN(64, capturedBigInt(rest2[0])));
|
|
10693
10716
|
return at >= 0 && capturedNumber.isSafeInteger(at) ? at : void 0;
|
|
10694
10717
|
}
|
|
@@ -10710,7 +10733,7 @@ function positioned(original, write2, deps) {
|
|
|
10710
10733
|
if (kfd === void 0 || !memory || !(write2 ? deps.sys.pwrite : deps.sys.pread)) {
|
|
10711
10734
|
return original(fd, iov, iovcnt, ...rest2);
|
|
10712
10735
|
}
|
|
10713
|
-
const at =
|
|
10736
|
+
const at = offsetOf2(rest2);
|
|
10714
10737
|
if (at === void 0) return wasiErrno("EINVAL");
|
|
10715
10738
|
const view = new capturedDataView(memory.buffer);
|
|
10716
10739
|
let done = 0;
|
|
@@ -12560,13 +12583,17 @@ var init_js_run = __esm({
|
|
|
12560
12583
|
});
|
|
12561
12584
|
|
|
12562
12585
|
// src/process/js/js-sync.ts
|
|
12586
|
+
function viewOf(into, at, length) {
|
|
12587
|
+
return new capturedUint8Array(bufferOf2.call(into), offsetOf3.call(into) + at, length);
|
|
12588
|
+
}
|
|
12563
12589
|
function laneOf(lane, silence = SYNC_FS_REQUEST_TIMEOUT_MS, open = createSyncSabTransport) {
|
|
12564
12590
|
if (!lane) return noLane;
|
|
12565
12591
|
const transport = open(lane.sab, lane.port);
|
|
12566
|
-
return (req) => {
|
|
12567
|
-
if (!READ_ONLY.has(req.op))
|
|
12592
|
+
return (req, sink) => {
|
|
12593
|
+
if (!READ_ONLY.has(req.op))
|
|
12594
|
+
return transport.call(req, capturedNumber.POSITIVE_INFINITY, req.op, void 0, sink);
|
|
12568
12595
|
try {
|
|
12569
|
-
return transport.call(req, silence, req.op);
|
|
12596
|
+
return transport.call(req, silence, req.op, void 0, sink);
|
|
12570
12597
|
} catch (err) {
|
|
12571
12598
|
const errno2 = err?.code;
|
|
12572
12599
|
return {
|
|
@@ -12732,10 +12759,17 @@ function syncFile(kernel, fd, path, append, forget) {
|
|
|
12732
12759
|
live();
|
|
12733
12760
|
const max = capturedMath.min(length - got, MAX_PREAD);
|
|
12734
12761
|
if (max <= 0) break;
|
|
12735
|
-
const
|
|
12762
|
+
const req = { op: "fd-pread", fd, offset: position + got, max };
|
|
12763
|
+
if (target) {
|
|
12764
|
+
const at = target.at + got;
|
|
12765
|
+
const n = kernel.bytesInto(req, viewOf(target.into, at, max));
|
|
12766
|
+
if (n === 0) break;
|
|
12767
|
+
got += n;
|
|
12768
|
+
continue;
|
|
12769
|
+
}
|
|
12770
|
+
const chunk = kernel.bytes(req);
|
|
12736
12771
|
if (chunk.length === 0) break;
|
|
12737
|
-
|
|
12738
|
-
else parts.push(chunk);
|
|
12772
|
+
parts.push(chunk);
|
|
12739
12773
|
got += chunk.length;
|
|
12740
12774
|
} while (got < length);
|
|
12741
12775
|
return target ? got : joined(parts, got);
|
|
@@ -12864,7 +12898,7 @@ function syncPathOps(kernel, resolve2, statOf, open, clean) {
|
|
|
12864
12898
|
}
|
|
12865
12899
|
};
|
|
12866
12900
|
}
|
|
12867
|
-
var encoder4, noLane, READ_ONLY, JsSyncKernel;
|
|
12901
|
+
var encoder4, typed2, getter2, bufferOf2, offsetOf3, setInto, noLane, READ_ONLY, JsSyncKernel;
|
|
12868
12902
|
var init_js_sync = __esm({
|
|
12869
12903
|
"src/process/js/js-sync.ts"() {
|
|
12870
12904
|
"use strict";
|
|
@@ -12879,6 +12913,11 @@ var init_js_sync = __esm({
|
|
|
12879
12913
|
init_js_proc();
|
|
12880
12914
|
init_js_rights();
|
|
12881
12915
|
encoder4 = new capturedTextEncoder();
|
|
12916
|
+
typed2 = capturedObject.getPrototypeOf(capturedUint8Array.prototype);
|
|
12917
|
+
getter2 = (name2) => capturedObject.getOwnPropertyDescriptor(typed2, name2)?.get;
|
|
12918
|
+
bufferOf2 = getter2("buffer");
|
|
12919
|
+
offsetOf3 = getter2("byteOffset");
|
|
12920
|
+
setInto = capturedUint8Array.prototype.set;
|
|
12882
12921
|
noLane = () => ({ ok: false, errno: "ENOSYS", message: "no sync lane" });
|
|
12883
12922
|
READ_ONLY = new capturedSet([...SYNC_FS_READ_ONLY, "fd-path-flush"]);
|
|
12884
12923
|
JsSyncKernel = class {
|
|
@@ -12891,9 +12930,9 @@ var init_js_sync = __esm({
|
|
|
12891
12930
|
this.kernel = kernel;
|
|
12892
12931
|
this.unwind = unwind;
|
|
12893
12932
|
}
|
|
12894
|
-
raw(req) {
|
|
12933
|
+
raw(req, sink) {
|
|
12895
12934
|
this.unwind();
|
|
12896
|
-
const result = this.lane(req);
|
|
12935
|
+
const result = this.lane(req, sink);
|
|
12897
12936
|
this.kernel.deliver();
|
|
12898
12937
|
this.unwind();
|
|
12899
12938
|
return result;
|
|
@@ -12911,6 +12950,15 @@ var init_js_sync = __esm({
|
|
|
12911
12950
|
const result = this.call(req);
|
|
12912
12951
|
return result.ok && result.kind === "bytes" ? result.bytes : new capturedUint8Array(0);
|
|
12913
12952
|
}
|
|
12953
|
+
bytesInto(req, sink) {
|
|
12954
|
+
const result = this.raw(req, sink);
|
|
12955
|
+
if (!result.ok) throw callError(result, req.op);
|
|
12956
|
+
if (result.kind !== "bytes") return 0;
|
|
12957
|
+
const { bytes } = result;
|
|
12958
|
+
if (bufferOf2.call(bytes) !== bufferOf2.call(sink) || offsetOf3.call(bytes) !== offsetOf3.call(sink))
|
|
12959
|
+
setInto.call(sink, bytes);
|
|
12960
|
+
return bytes.length;
|
|
12961
|
+
}
|
|
12914
12962
|
blocking(req) {
|
|
12915
12963
|
for (; ; ) {
|
|
12916
12964
|
const result = this.raw(req);
|
|
@@ -19895,7 +19943,7 @@ function positionsAt(positions, error, site) {
|
|
|
19895
19943
|
}
|
|
19896
19944
|
}
|
|
19897
19945
|
function record(positions, error, trace) {
|
|
19898
|
-
if (
|
|
19946
|
+
if (trace.length > 0 && isNativeError(error)) {
|
|
19899
19947
|
noteSourceUrls(trace);
|
|
19900
19948
|
const site = trace[0];
|
|
19901
19949
|
const next2 = trace[1];
|
|
@@ -20093,8 +20141,8 @@ function refuseModules() {
|
|
|
20093
20141
|
const known = sources.get(url);
|
|
20094
20142
|
if (known !== void 0) return { format: "module", source: known, shortCircuit: true };
|
|
20095
20143
|
const payload = url.startsWith(BASE64_MODULE) ? url.slice(BASE64_MODULE.length) : "";
|
|
20096
|
-
const
|
|
20097
|
-
if (
|
|
20144
|
+
const typed3 = capturedObject.keys(context.importAttributes ?? {}).length > 0;
|
|
20145
|
+
if (typed3 || payload.length % 4 !== 0 || !PLAIN_BASE64.test(payload))
|
|
20098
20146
|
return next2(url, context);
|
|
20099
20147
|
const source = toText(fromBase64(payload, "base64"), "utf8");
|
|
20100
20148
|
return { format: "module", source, shortCircuit: true };
|