@moxt-ai/mobius 0.0.305 → 0.0.306

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/cli.js CHANGED
@@ -2086,7 +2086,7 @@ var init_package = __esm({
2086
2086
  "package.json"() {
2087
2087
  package_default = {
2088
2088
  name: "@moxt-ai/mobius",
2089
- version: "0.0.305",
2089
+ version: "0.0.306",
2090
2090
  description: "Mobius CLI for pairing and running local AI agent services.",
2091
2091
  type: "module",
2092
2092
  bin: {
@@ -100525,13 +100525,30 @@ import { WebSocket as WebSocket7 } from "undici";
100525
100525
  function connectRelay(url2, signal) {
100526
100526
  signal.throwIfAborted();
100527
100527
  return new Promise((resolve19, reject2) => {
100528
+ let dispatchController;
100529
+ const dispatcher = environmentProxyDispatcher.compose((dispatch) => (options, handler) => {
100530
+ const trackedHandler = Object.create(handler);
100531
+ trackedHandler.onRequestStart = (controller, context) => {
100532
+ dispatchController = controller;
100533
+ handler.onRequestStart?.(controller, context);
100534
+ };
100535
+ return dispatch(options, trackedHandler);
100536
+ });
100528
100537
  const endpoint = new URL(url2);
100529
100538
  const headers = relayAuthorization(endpoint);
100530
100539
  endpoint.searchParams.delete("token");
100531
100540
  const socket = new WebSocket7(endpoint, {
100532
- dispatcher: environmentProxyDispatcher,
100541
+ dispatcher,
100533
100542
  headers
100534
100543
  });
100544
+ let released = false;
100545
+ const release = (reason) => {
100546
+ if (released) {
100547
+ return;
100548
+ }
100549
+ released = true;
100550
+ dispatchController?.abort(reason);
100551
+ };
100535
100552
  let finished = false;
100536
100553
  const timeout = setTimeout(onTimeout, CONNECTION_TIMEOUT_MILLISECONDS);
100537
100554
  const cleanup = () => {
@@ -100548,6 +100565,7 @@ function connectRelay(url2, signal) {
100548
100565
  finished = true;
100549
100566
  cleanup();
100550
100567
  socket.close();
100568
+ release(error62);
100551
100569
  reject2(error62);
100552
100570
  };
100553
100571
  const onAbort = () => {
@@ -100591,7 +100609,7 @@ function connectRelay(url2, signal) {
100591
100609
  }
100592
100610
  finished = true;
100593
100611
  cleanup();
100594
- resolve19(socket);
100612
+ resolve19({ release, socket });
100595
100613
  };
100596
100614
  function onTimeout() {
100597
100615
  fail(
@@ -100794,7 +100812,8 @@ async function runRelayConnection({
100794
100812
  }) {
100795
100813
  const relayUrl = new URL(config2.relayUrl);
100796
100814
  relayUrl.searchParams.set("liveness", "1");
100797
- const socket = await connectRelay(relayUrl, signal);
100815
+ const relay = await connectRelay(relayUrl, signal);
100816
+ const { socket } = relay;
100798
100817
  diagnostics.connectionOpened(connectionEpoch);
100799
100818
  const connectionController = new AbortController();
100800
100819
  const commands = createRuntimeCommandDispatcher({
@@ -100972,6 +100991,7 @@ async function runRelayConnection({
100972
100991
  } finally {
100973
100992
  connectionController.abort();
100974
100993
  await commands.settle();
100994
+ relay.release(new Error("Relay connection released"));
100975
100995
  }
100976
100996
  }
100977
100997
  var init_run_relay_connection = __esm({