byollm 0.1.0-alpha.98 → 0.1.0-alpha.99
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 +1 -1
- package/dist/bin.js +1 -1
- package/dist/{chunk-JCLM24WC.js → chunk-LPCHIPVJ.js} +35 -10
- package/dist/chunk-LPCHIPVJ.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-JCLM24WC.js.map +0 -1
package/README.md
CHANGED
package/dist/bin.js
CHANGED
|
@@ -4781,8 +4781,10 @@ import {
|
|
|
4781
4781
|
ConsoleFrame,
|
|
4782
4782
|
CONSOLE_FRAME_VERSION,
|
|
4783
4783
|
CONSOLE_MAX_DATA_BYTES,
|
|
4784
|
+
consoleDataBytes,
|
|
4784
4785
|
consoleEnvelope,
|
|
4785
4786
|
consoleOrder,
|
|
4787
|
+
encodeConsoleData,
|
|
4786
4788
|
keyId,
|
|
4787
4789
|
open as open2,
|
|
4788
4790
|
seal,
|
|
@@ -4790,6 +4792,9 @@ import {
|
|
|
4790
4792
|
} from "@byollm/protocol";
|
|
4791
4793
|
function consoleSession(deps) {
|
|
4792
4794
|
const inbound = consoleOrder("browser");
|
|
4795
|
+
const log = deps.log ?? (() => void 0);
|
|
4796
|
+
let fromBrowser = 0;
|
|
4797
|
+
let toBrowser = 0;
|
|
4793
4798
|
const boxKeyId = keyId(deps.keys.identityPublic);
|
|
4794
4799
|
const browserKeyId = keyId(deps.browser.identity);
|
|
4795
4800
|
let outSeq = 0;
|
|
@@ -4813,6 +4818,11 @@ function consoleSession(deps) {
|
|
|
4813
4818
|
const finish = async (reason) => {
|
|
4814
4819
|
if (ended !== void 0) return;
|
|
4815
4820
|
ended = reason;
|
|
4821
|
+
log("console session ending", {
|
|
4822
|
+
reason,
|
|
4823
|
+
framesFromBrowser: fromBrowser,
|
|
4824
|
+
framesToBrowser: toBrowser
|
|
4825
|
+
});
|
|
4816
4826
|
deps.shell.kill();
|
|
4817
4827
|
try {
|
|
4818
4828
|
outSeq += 1;
|
|
@@ -4836,12 +4846,20 @@ function consoleSession(deps) {
|
|
|
4836
4846
|
for (let at = 0; at < chunk.length; at += CONSOLE_MAX_DATA_BYTES) {
|
|
4837
4847
|
const slice = chunk.subarray(at, at + CONSOLE_MAX_DATA_BYTES);
|
|
4838
4848
|
outSeq += 1;
|
|
4849
|
+
toBrowser += 1;
|
|
4839
4850
|
void sealTo({
|
|
4840
4851
|
v: CONSOLE_FRAME_VERSION,
|
|
4841
4852
|
kind: "stdout",
|
|
4842
4853
|
seq: outSeq,
|
|
4843
|
-
data: slice
|
|
4844
|
-
}).catch(() =>
|
|
4854
|
+
data: encodeConsoleData(slice)
|
|
4855
|
+
}).catch((cause) => {
|
|
4856
|
+
log("could not send output to the browser", {
|
|
4857
|
+
reason: cause instanceof Error ? cause.message : String(cause),
|
|
4858
|
+
fromBrowser,
|
|
4859
|
+
toBrowser
|
|
4860
|
+
});
|
|
4861
|
+
return finish("the console channel closed");
|
|
4862
|
+
});
|
|
4845
4863
|
}
|
|
4846
4864
|
});
|
|
4847
4865
|
deps.shell.onExit((reason) => void finish(reason));
|
|
@@ -4902,10 +4920,12 @@ function consoleSession(deps) {
|
|
|
4902
4920
|
}
|
|
4903
4921
|
case "stdin":
|
|
4904
4922
|
if (!started) return;
|
|
4905
|
-
|
|
4923
|
+
fromBrowser += 1;
|
|
4924
|
+
deps.shell.write(Buffer.from(consoleDataBytes(frame.data)));
|
|
4906
4925
|
return;
|
|
4907
4926
|
case "resize":
|
|
4908
4927
|
if (!started) return;
|
|
4928
|
+
fromBrowser += 1;
|
|
4909
4929
|
deps.shell.resize(frame.cols, frame.rows);
|
|
4910
4930
|
return;
|
|
4911
4931
|
case "stdout":
|
|
@@ -5045,6 +5065,7 @@ async function runConsoleAgent(options) {
|
|
|
5045
5065
|
return Promise.resolve();
|
|
5046
5066
|
},
|
|
5047
5067
|
record: options.record,
|
|
5068
|
+
log: options.log,
|
|
5048
5069
|
now: options.now ?? (() => Date.now())
|
|
5049
5070
|
});
|
|
5050
5071
|
return new Promise((resolve) => {
|
|
@@ -8897,6 +8918,10 @@ async function commandConsoleAgent(paths, args, io) {
|
|
|
8897
8918
|
const url = `${paired.origin.replace(/^http/, "ws")}${CONSOLE_DEVICE_ENDPOINT}`;
|
|
8898
8919
|
io.out(`listening for consoles on ${paired.origin}
|
|
8899
8920
|
`);
|
|
8921
|
+
const consoleLog = (message, fields) => {
|
|
8922
|
+
io.out(`${JSON.stringify({ console: message, ...fields })}
|
|
8923
|
+
`);
|
|
8924
|
+
};
|
|
8900
8925
|
consoleListener({
|
|
8901
8926
|
url,
|
|
8902
8927
|
runnerId: paired.runnerId,
|
|
@@ -8924,12 +8949,12 @@ async function commandConsoleAgent(paths, args, io) {
|
|
|
8924
8949
|
io.out(`${JSON.stringify({ consoleSession: entry })}
|
|
8925
8950
|
`);
|
|
8926
8951
|
return Promise.resolve();
|
|
8927
|
-
}
|
|
8952
|
+
},
|
|
8953
|
+
/* The agent's own half of the picture, on the same stream as the
|
|
8954
|
+
listener's — one place to read when a console goes quiet. */
|
|
8955
|
+
log: consoleLog
|
|
8928
8956
|
}).then(() => void 0),
|
|
8929
|
-
log:
|
|
8930
|
-
io.out(`${JSON.stringify({ console: message, ...fields ?? {} })}
|
|
8931
|
-
`);
|
|
8932
|
-
}
|
|
8957
|
+
log: consoleLog
|
|
8933
8958
|
});
|
|
8934
8959
|
await new Promise(() => void 0);
|
|
8935
8960
|
return 0;
|
|
@@ -10536,7 +10561,7 @@ async function exists(path) {
|
|
|
10536
10561
|
}
|
|
10537
10562
|
|
|
10538
10563
|
// src/index.ts
|
|
10539
|
-
var DAEMON_VERSION = "0.1.0-alpha.
|
|
10564
|
+
var DAEMON_VERSION = "0.1.0-alpha.99";
|
|
10540
10565
|
function daemonVersion() {
|
|
10541
10566
|
return {
|
|
10542
10567
|
daemon: DAEMON_VERSION,
|
|
@@ -10595,4 +10620,4 @@ export {
|
|
|
10595
10620
|
runCli,
|
|
10596
10621
|
main
|
|
10597
10622
|
};
|
|
10598
|
-
//# sourceMappingURL=chunk-
|
|
10623
|
+
//# sourceMappingURL=chunk-LPCHIPVJ.js.map
|