@midscene/web 0.16.3 → 0.16.4

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.
@@ -2240,7 +2240,7 @@ function sleep2(ms) {
2240
2240
  var ChromeExtensionProxyPage = class {
2241
2241
  constructor(forceSameTabNavigation) {
2242
2242
  this.pageType = "chrome-extension-proxy";
2243
- this.version = "0.16.3";
2243
+ this.version = "0.16.4";
2244
2244
  this.activeTabId = null;
2245
2245
  this.tabIdOfDebuggerAttached = null;
2246
2246
  this.attachingDebugger = null;
@@ -291,7 +291,7 @@ function sleep(ms) {
291
291
  var ChromeExtensionProxyPage = class {
292
292
  constructor(forceSameTabNavigation) {
293
293
  this.pageType = "chrome-extension-proxy";
294
- this.version = "0.16.3";
294
+ this.version = "0.16.4";
295
295
  this.activeTabId = null;
296
296
  this.tabIdOfDebuggerAttached = null;
297
297
  this.attachingDebugger = null;
@@ -737,7 +737,7 @@ var BridgeClient = class {
737
737
  this.socket = (0, import_socket.io)(this.endpoint, {
738
738
  reconnection: false,
739
739
  query: {
740
- version: "0.16.3"
740
+ version: "0.16.4"
741
741
  }
742
742
  });
743
743
  const timeout = setTimeout(() => {
@@ -878,7 +878,7 @@ var ExtensionBridgePageBrowserSide = class extends ChromeExtensionProxyPage {
878
878
  );
879
879
  await this.bridgeClient.connect();
880
880
  this.onLogMessage(
881
- `Bridge connected, cli-side version v${this.bridgeClient.serverVersion}, browser-side version v${"0.16.3"}`,
881
+ `Bridge connected, cli-side version v${this.bridgeClient.serverVersion}, browser-side version v${"0.16.4"}`,
882
882
  "log"
883
883
  );
884
884
  }
@@ -2010,6 +2010,7 @@ var BridgeErrorCodeNoClientConnected = "no-client-connected";
2010
2010
 
2011
2011
  // src/bridge-mode/io-server.ts
2012
2012
  var import_utils15 = require("@midscene/shared/utils");
2013
+ var import_kill_port = __toESM(require("kill-port"));
2013
2014
  var import_socket = require("socket.io");
2014
2015
  var BridgeServer = class {
2015
2016
  constructor(port, onConnect, onDisconnect) {
@@ -2029,7 +2030,11 @@ var BridgeServer = class {
2029
2030
  return `Connection lost, reason: ${this.connectionLostReason}`;
2030
2031
  };
2031
2032
  }
2032
- async listen(timeout = 3e4) {
2033
+ async listen(opts = {}) {
2034
+ const { timeout = 3e4, forceCloseServer = false } = opts;
2035
+ if (forceCloseServer) {
2036
+ await this.killPort();
2037
+ }
2033
2038
  return new Promise((resolve2, reject) => {
2034
2039
  if (this.listeningTimerFlag) {
2035
2040
  return reject(new Error("already listening"));
@@ -2074,7 +2079,7 @@ var BridgeServer = class {
2074
2079
  this.socket = socket;
2075
2080
  const clientVersion = socket.handshake.query.version;
2076
2081
  (0, import_utils15.logMsg)(
2077
- `Bridge connected, cli-side version v${"0.16.3"}, browser-side version v${clientVersion}`
2082
+ `Bridge connected, cli-side version v${"0.16.4"}, browser-side version v${clientVersion}`
2078
2083
  );
2079
2084
  socket.on("bridge-call-response" /* CallResponse */, (params) => {
2080
2085
  const id = params.id;
@@ -2105,7 +2110,7 @@ var BridgeServer = class {
2105
2110
  setTimeout(() => {
2106
2111
  this.onConnect?.();
2107
2112
  const payload = {
2108
- version: "0.16.3"
2113
+ version: "0.16.4"
2109
2114
  };
2110
2115
  socket.emit("bridge-connected" /* Connected */, payload);
2111
2116
  Promise.resolve().then(() => {
@@ -2122,8 +2127,19 @@ var BridgeServer = class {
2122
2127
  reject(e);
2123
2128
  }
2124
2129
  });
2130
+ this.io.on("close", () => {
2131
+ this.close();
2132
+ });
2125
2133
  });
2126
2134
  }
2135
+ async killPort() {
2136
+ if (!this.listeningTimerFlag) {
2137
+ try {
2138
+ await (0, import_kill_port.default)(this.port, "tcp");
2139
+ } catch (e) {
2140
+ }
2141
+ }
2142
+ }
2127
2143
  async triggerCallResponseCallback(id, error, response) {
2128
2144
  const call = this.calls[id];
2129
2145
  if (!call) {
@@ -2193,9 +2209,12 @@ var BridgeServer = class {
2193
2209
 
2194
2210
  // src/bridge-mode/agent-cli-side.ts
2195
2211
  var sleep2 = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
2196
- var getBridgePageInCliSide = (timeout) => {
2212
+ var getBridgePageInCliSide = (forceCloseServer, timeout) => {
2197
2213
  const server = new BridgeServer(DefaultBridgeServerPort);
2198
- server.listen(timeout);
2214
+ server.listen({
2215
+ timeout,
2216
+ forceCloseServer
2217
+ });
2199
2218
  const bridgeCaller = (method) => {
2200
2219
  return async (...args) => {
2201
2220
  const response = await server.call(method, args);
@@ -2258,7 +2277,10 @@ var getBridgePageInCliSide = (timeout) => {
2258
2277
  };
2259
2278
  var AgentOverChromeBridge = class extends PageAgent {
2260
2279
  constructor(opts) {
2261
- const page = getBridgePageInCliSide(opts?.serverListeningTimeout);
2280
+ const page = getBridgePageInCliSide(
2281
+ opts?.forceCloseServer,
2282
+ opts?.serverListeningTimeout
2283
+ );
2262
2284
  super(
2263
2285
  page,
2264
2286
  Object.assign(opts || {}, {