@moxt-ai/mobius 0.0.303 → 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/runtime.js CHANGED
@@ -22687,7 +22687,7 @@ import { fetch as fetch3 } from "undici";
22687
22687
  // package.json
22688
22688
  var package_default = {
22689
22689
  name: "@moxt-ai/mobius",
22690
- version: "0.0.303",
22690
+ version: "0.0.306",
22691
22691
  description: "Mobius CLI for pairing and running local AI agent services.",
22692
22692
  type: "module",
22693
22693
  bin: {
@@ -90539,13 +90539,30 @@ var RelayConnectionError = class extends Error {
90539
90539
  function connectRelay(url2, signal) {
90540
90540
  signal.throwIfAborted();
90541
90541
  return new Promise((resolve18, reject2) => {
90542
+ let dispatchController;
90543
+ const dispatcher = environmentProxyDispatcher.compose((dispatch) => (options, handler) => {
90544
+ const trackedHandler = Object.create(handler);
90545
+ trackedHandler.onRequestStart = (controller, context) => {
90546
+ dispatchController = controller;
90547
+ handler.onRequestStart?.(controller, context);
90548
+ };
90549
+ return dispatch(options, trackedHandler);
90550
+ });
90542
90551
  const endpoint = new URL(url2);
90543
90552
  const headers = relayAuthorization(endpoint);
90544
90553
  endpoint.searchParams.delete("token");
90545
90554
  const socket = new WebSocket7(endpoint, {
90546
- dispatcher: environmentProxyDispatcher,
90555
+ dispatcher,
90547
90556
  headers
90548
90557
  });
90558
+ let released = false;
90559
+ const release = (reason) => {
90560
+ if (released) {
90561
+ return;
90562
+ }
90563
+ released = true;
90564
+ dispatchController?.abort(reason);
90565
+ };
90549
90566
  let finished = false;
90550
90567
  const timeout = setTimeout(onTimeout, CONNECTION_TIMEOUT_MILLISECONDS);
90551
90568
  const cleanup = () => {
@@ -90562,6 +90579,7 @@ function connectRelay(url2, signal) {
90562
90579
  finished = true;
90563
90580
  cleanup();
90564
90581
  socket.close();
90582
+ release(error62);
90565
90583
  reject2(error62);
90566
90584
  };
90567
90585
  const onAbort = () => {
@@ -90605,7 +90623,7 @@ function connectRelay(url2, signal) {
90605
90623
  }
90606
90624
  finished = true;
90607
90625
  cleanup();
90608
- resolve18(socket);
90626
+ resolve18({ release, socket });
90609
90627
  };
90610
90628
  function onTimeout() {
90611
90629
  fail(
@@ -90780,7 +90798,8 @@ async function runRelayConnection({
90780
90798
  }) {
90781
90799
  const relayUrl = new URL(config2.relayUrl);
90782
90800
  relayUrl.searchParams.set("liveness", "1");
90783
- const socket = await connectRelay(relayUrl, signal);
90801
+ const relay = await connectRelay(relayUrl, signal);
90802
+ const { socket } = relay;
90784
90803
  diagnostics.connectionOpened(connectionEpoch);
90785
90804
  const connectionController = new AbortController();
90786
90805
  const commands = createRuntimeCommandDispatcher({
@@ -90958,6 +90977,7 @@ async function runRelayConnection({
90958
90977
  } finally {
90959
90978
  connectionController.abort();
90960
90979
  await commands.settle();
90980
+ relay.release(new Error("Relay connection released"));
90961
90981
  }
90962
90982
  }
90963
90983