@ai-ecoverse/slicc-kernel 1.79.0 → 1.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/dist/driver-worker.js +11 -1
- package/dist/driver-worker.js.map +2 -2
- package/dist/index.js +22 -3
- package/dist/index.js.map +2 -2
- package/dist/kernel-worker.js +33 -5
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-driver-worker.js +11 -1
- package/dist/node-driver-worker.js.map +2 -2
- package/dist/node.js +37 -2
- package/dist/node.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1247,7 +1247,7 @@ var RemoteTransport = class {
|
|
|
1247
1247
|
};
|
|
1248
1248
|
|
|
1249
1249
|
// src/client/protocol.ts
|
|
1250
|
-
var PROTOCOL = [1,
|
|
1250
|
+
var PROTOCOL = [1, 10];
|
|
1251
1251
|
function locksOf(scope = globalThis) {
|
|
1252
1252
|
const locks = scope.navigator?.locks;
|
|
1253
1253
|
return typeof locks?.request === "function" ? locks : void 0;
|
|
@@ -1308,6 +1308,7 @@ var Channel = class {
|
|
|
1308
1308
|
greeted = Promise.withResolvers();
|
|
1309
1309
|
ended = Promise.withResolvers();
|
|
1310
1310
|
remote;
|
|
1311
|
+
traitsListeners = /* @__PURE__ */ new Set();
|
|
1311
1312
|
failure;
|
|
1312
1313
|
pending = /* @__PURE__ */ new Map();
|
|
1313
1314
|
watching = /* @__PURE__ */ new Map();
|
|
@@ -1355,6 +1356,11 @@ var Channel = class {
|
|
|
1355
1356
|
return this.request(call).done;
|
|
1356
1357
|
}
|
|
1357
1358
|
receive(data) {
|
|
1359
|
+
if (data.traits && data.id === void 0) {
|
|
1360
|
+
if (this.remote) this.remote.traits = data.traits;
|
|
1361
|
+
for (const listener of [...this.traitsListeners]) listener(data.traits);
|
|
1362
|
+
return;
|
|
1363
|
+
}
|
|
1358
1364
|
if (data.cdpOpen && data.port) {
|
|
1359
1365
|
this.openCdp(data);
|
|
1360
1366
|
return;
|
|
@@ -1635,6 +1641,10 @@ async function attachKernel(port, options = {}) {
|
|
|
1635
1641
|
loopbackFetch: (input, options2) => loopbackFetch((o) => dialOn(channel, o), input, options2),
|
|
1636
1642
|
fs: fsOn(channel),
|
|
1637
1643
|
serveCdp: (hook, options2 = {}) => serveCdpOn(channel, hook, options2),
|
|
1644
|
+
onTraits(listener) {
|
|
1645
|
+
channel.traitsListeners.add(listener);
|
|
1646
|
+
return () => channel.traitsListeners.delete(listener);
|
|
1647
|
+
},
|
|
1638
1648
|
async close(o = {}) {
|
|
1639
1649
|
if (channel.failure) return;
|
|
1640
1650
|
await channel.call({ op: "detach", ...o.kill ? { kill: true } : {} }).catch(() => void 0);
|
|
@@ -2112,6 +2122,15 @@ function endedOf2(r) {
|
|
|
2112
2122
|
const { status, signal } = r;
|
|
2113
2123
|
return { status, ...signalField(signal) };
|
|
2114
2124
|
}
|
|
2125
|
+
function uplinkServer(worker, uplink) {
|
|
2126
|
+
return uplink ? serveUplink(worker, uplink) : void 0;
|
|
2127
|
+
}
|
|
2128
|
+
function traitsUpdater(transport, call) {
|
|
2129
|
+
return async () => {
|
|
2130
|
+
const traits = transport ? { traits: { ...transport.traits } } : {};
|
|
2131
|
+
return await call({ op: "transport-traits", ...traits }) === true;
|
|
2132
|
+
};
|
|
2133
|
+
}
|
|
2115
2134
|
async function createKernel(options = {}) {
|
|
2116
2135
|
checkOptions(options);
|
|
2117
2136
|
writerTags(options.protect);
|
|
@@ -2141,8 +2160,7 @@ async function createKernel(options = {}) {
|
|
|
2141
2160
|
};
|
|
2142
2161
|
const transport = options.network?.transport;
|
|
2143
2162
|
const bridge = transport ? serveTransport(worker, transport) : void 0;
|
|
2144
|
-
const
|
|
2145
|
-
const uplinks = uplink ? serveUplink(worker, uplink) : void 0;
|
|
2163
|
+
const uplinks = uplinkServer(worker, options.network?.uplink);
|
|
2146
2164
|
async function chosen(handle) {
|
|
2147
2165
|
if (handle) {
|
|
2148
2166
|
const state = await handle.requestPermission?.({ mode: "readwrite" });
|
|
@@ -2256,6 +2274,7 @@ async function createKernel(options = {}) {
|
|
|
2256
2274
|
connect: async (connectOptions = {}) => await call({ op: "connect", ...connectOptions }),
|
|
2257
2275
|
...accounts(call, options.users === void 0 ? DEFAULT_USERS : options.users),
|
|
2258
2276
|
setRoutes: async (routes) => void await call({ op: "routes", routes }),
|
|
2277
|
+
updateTransportTraits: traitsUpdater(transport, call),
|
|
2259
2278
|
dial,
|
|
2260
2279
|
loopbackFetch: (input, fetchOptions) => loopbackFetch(dial, input, fetchOptions),
|
|
2261
2280
|
mount: async (spec) => await call({ op: "mount", spec }),
|