byollm 0.1.0-alpha.95 → 0.1.0-alpha.97
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
CHANGED
package/dist/bin.js
CHANGED
|
@@ -5118,6 +5118,34 @@ var deviceHeaders = (keys, runnerId, now) => {
|
|
|
5118
5118
|
"x-byollm-signature": signed.signature
|
|
5119
5119
|
};
|
|
5120
5120
|
};
|
|
5121
|
+
var dialControlSocket = (url, headers) => new Promise((resolve, reject) => {
|
|
5122
|
+
const socket = new WebSocket(url, { headers });
|
|
5123
|
+
socket.addEventListener("open", () => {
|
|
5124
|
+
resolve({
|
|
5125
|
+
send: (text) => {
|
|
5126
|
+
socket.send(text);
|
|
5127
|
+
},
|
|
5128
|
+
onMessage: (handler) => {
|
|
5129
|
+
socket.addEventListener("message", (event) => {
|
|
5130
|
+
handler(String(event.data));
|
|
5131
|
+
});
|
|
5132
|
+
},
|
|
5133
|
+
onClose: (handler) => {
|
|
5134
|
+
socket.addEventListener("close", (event) => {
|
|
5135
|
+
handler(
|
|
5136
|
+
`${String(event.code)}${event.reason === "" ? "" : ` ${event.reason}`}`
|
|
5137
|
+
);
|
|
5138
|
+
});
|
|
5139
|
+
},
|
|
5140
|
+
close: () => {
|
|
5141
|
+
socket.close();
|
|
5142
|
+
}
|
|
5143
|
+
});
|
|
5144
|
+
});
|
|
5145
|
+
socket.addEventListener("error", () => {
|
|
5146
|
+
reject(new Error(`could not reach the console broker at ${url}`));
|
|
5147
|
+
});
|
|
5148
|
+
});
|
|
5121
5149
|
function consoleListener(deps) {
|
|
5122
5150
|
const now = deps.now ?? Date.now;
|
|
5123
5151
|
let stopped = false;
|
|
@@ -5156,26 +5184,50 @@ function consoleListener(deps) {
|
|
|
5156
5184
|
running = false;
|
|
5157
5185
|
});
|
|
5158
5186
|
};
|
|
5187
|
+
const alive = (deps.keepalive ?? defaultKeepalive)();
|
|
5188
|
+
let backoffMs = 1e3;
|
|
5189
|
+
const wait = deps.wait ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
5190
|
+
const redial = (why, detail) => {
|
|
5191
|
+
if (stopped) return;
|
|
5192
|
+
const delay = backoffMs;
|
|
5193
|
+
backoffMs = Math.min(backoffMs * 2, 3e4);
|
|
5194
|
+
deps.log("the console control socket is gone \u2014 reconnecting", {
|
|
5195
|
+
why,
|
|
5196
|
+
...detail === void 0 ? {} : { detail },
|
|
5197
|
+
inMs: delay
|
|
5198
|
+
});
|
|
5199
|
+
wait(delay).then(() => {
|
|
5200
|
+
if (stopped) return void 0;
|
|
5201
|
+
return dial();
|
|
5202
|
+
}).catch((cause) => {
|
|
5203
|
+
deps.log("the reconnect itself failed", {
|
|
5204
|
+
reason: cause instanceof Error ? cause.message : String(cause)
|
|
5205
|
+
});
|
|
5206
|
+
});
|
|
5207
|
+
};
|
|
5159
5208
|
const dial = async () => {
|
|
5160
|
-
|
|
5209
|
+
const connect2 = deps.connect ?? dialControlSocket;
|
|
5161
5210
|
try {
|
|
5162
|
-
socket = await
|
|
5211
|
+
socket = await connect2(
|
|
5163
5212
|
deps.url,
|
|
5164
5213
|
deviceHeaders(deps.keys, deps.runnerId, now())
|
|
5165
5214
|
);
|
|
5166
5215
|
} catch (cause) {
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5216
|
+
redial(
|
|
5217
|
+
"the broker refused or could not be reached",
|
|
5218
|
+
cause instanceof Error ? cause.message : String(cause)
|
|
5219
|
+
);
|
|
5170
5220
|
return;
|
|
5171
5221
|
}
|
|
5172
5222
|
if (stopped) {
|
|
5173
5223
|
socket.close();
|
|
5174
5224
|
return;
|
|
5175
5225
|
}
|
|
5226
|
+
backoffMs = 1e3;
|
|
5227
|
+
deps.log("holding the console control socket");
|
|
5176
5228
|
socket.onMessage(handle);
|
|
5177
5229
|
socket.onClose((reason) => {
|
|
5178
|
-
|
|
5230
|
+
redial("the broker closed it", reason);
|
|
5179
5231
|
});
|
|
5180
5232
|
};
|
|
5181
5233
|
dial().catch(() => {
|
|
@@ -5186,10 +5238,19 @@ function consoleListener(deps) {
|
|
|
5186
5238
|
},
|
|
5187
5239
|
stop() {
|
|
5188
5240
|
stopped = true;
|
|
5241
|
+
alive.stop();
|
|
5189
5242
|
socket?.close();
|
|
5190
5243
|
}
|
|
5191
5244
|
};
|
|
5192
5245
|
}
|
|
5246
|
+
function defaultKeepalive() {
|
|
5247
|
+
const handle = setInterval(() => void 0, 6e4);
|
|
5248
|
+
return {
|
|
5249
|
+
stop() {
|
|
5250
|
+
clearInterval(handle);
|
|
5251
|
+
}
|
|
5252
|
+
};
|
|
5253
|
+
}
|
|
5193
5254
|
function ConsoleAnnouncement(value) {
|
|
5194
5255
|
const parsed = ConsoleAgentSpec.pick({
|
|
5195
5256
|
sessionId: true,
|
|
@@ -10442,7 +10503,7 @@ async function exists(path) {
|
|
|
10442
10503
|
}
|
|
10443
10504
|
|
|
10444
10505
|
// src/index.ts
|
|
10445
|
-
var DAEMON_VERSION = "0.1.0-alpha.
|
|
10506
|
+
var DAEMON_VERSION = "0.1.0-alpha.97";
|
|
10446
10507
|
function daemonVersion() {
|
|
10447
10508
|
return {
|
|
10448
10509
|
daemon: DAEMON_VERSION,
|
|
@@ -10501,4 +10562,4 @@ export {
|
|
|
10501
10562
|
runCli,
|
|
10502
10563
|
main
|
|
10503
10564
|
};
|
|
10504
|
-
//# sourceMappingURL=chunk-
|
|
10565
|
+
//# sourceMappingURL=chunk-R3WK5X6Q.js.map
|