xonecode 0.36.3 → 0.37.0

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.
@@ -1,75 +1,34 @@
1
- /**
2
- * El túnel REAL de la vía «ngrok» de la sesión remota: arranca el puente del paquete en un
3
- * puerto libre de loopback, lanza `ngrok http` contra él con log JSON, y lee del log la
4
- * dirección pública. Entra en el servidor por opción (un `TunelPort`), como el puente: ni
5
- * `core/` ni `web/` importan este fichero.
6
- *
7
- * Reglas, todas por lo mismo —nada de la máquina cruza el cable—:
8
- * - **Un fallo es un texto de `MOTIVOS_DEL_TUNEL`**, clasificado por el CÓDIGO `ERR_NGROK_xxx`
9
- * de las líneas vistas (`motivoDeSalidaDeNgrok`). Lo que ngrok escribe se queda aquí: lleva la
10
- * ruta de su configuración, el correo de la cuenta y, en un error de autenticación, el token.
11
- * - **ngrok va `detached` y se mata el GRUPO** (`matarGrupoReal`), con `SIGTERM`, una espera, y
12
- * `SIGKILL` si no salió; y también en el `exit` de este proceso (medido: con SIGINT y SIGTERM
13
- * bajo `tsx` no queda ngrok; con un SIGKILL a este proceso, que no deja correr nada, sí queda
14
- * huérfano). El cierre ordenado de la consola tiene que llamar a `cerrar()`. Su stdout y su
15
- * stderr se consumen siempre: una tubería llena lo bloquearía.
16
- * - **Cerrar: ngrok PRIMERO y luego el puente**, para que el móvil no vea un puente vivo detrás
17
- * de un túnel ya muerto ni al revés un túnel que apunta a nada.
18
- */
19
- import { StringDecoder } from "node:string_decoder";
20
- import { entornoDeShell } from "../../core/shellDeAgente.js";
21
- import { MOTIVOS_DEL_TUNEL, motivoDeDominioInaceptable, motivoDeSalidaDeNgrok, servidorDeTunel, urlPublicaDeLinea } from "../../core/tunel.js";
22
- import { lanzarReal, matarGrupoReal } from "../dispositivos/procesosEnMaquina.js";
23
- import { localizarNgrok } from "./ngrokEnMaquina.js";
1
+ import { MOTIVOS_DEL_TUNEL, motivoDeDominioInaceptable, motivoDeSalidaDeNgrok, servidorDeTunel } from "../../core/tunel.js";
2
+ import { authtokenDeNgrok, cargarSdkReal } from "./ngrokEnMaquina.js";
24
3
  import { cargarServidorRemoto } from "./puenteWebSocket.js";
25
- /** Lo que se espera a que ngrok anuncie su dirección pública. */
4
+ /** Lo que se espera a que ngrok dé la dirección pública. */
26
5
  export const TOPE_DE_TUNEL_MS = 30_000;
27
- /** Lo que se espera a que ngrok salga tras `SIGTERM` antes del `SIGKILL`. */
28
- export const ESPERA_AL_MATAR_MS = 3_000;
29
- /**
30
- * Las ÚLTIMAS líneas que se guardan para clasificar un fallo (el `ERR_NGROK_xxx` llega al final);
31
- * después de la dirección, ninguna.
32
- */
33
- const LINEAS_QUE_SE_GUARDAN = 200;
34
- const alSalirReal = (f) => {
35
- process.once("exit", f);
36
- return () => process.removeListener("exit", f);
37
- };
6
+ /** Lo que se espera a que el SDK reconecte tras perder la conexión, antes de dar el túnel por caído. */
7
+ export const ESPERA_DE_RECONEXION_MS = 30_000;
38
8
  class FalloDelTunel extends Error {
39
9
  }
40
- /**
41
- * Parte en líneas lo que llega por un flujo, guardando el trozo sin salto para el siguiente. Con
42
- * un `StringDecoder`: un carácter de varios bytes partido entre dos trozos no se rompe.
43
- */
44
- function porLineas(alLinea) {
45
- let resto = "";
46
- const decodificador = new StringDecoder("utf8");
47
- return (dato) => {
48
- resto += typeof dato === "string" ? dato : Buffer.isBuffer(dato) ? decodificador.write(dato) : String(dato);
49
- const partes = resto.split(/\r?\n/);
50
- resto = partes.pop() ?? "";
51
- for (const p of partes)
52
- if (p !== "")
53
- alLinea(p);
54
- };
10
+ /** El motivo de un error del SDK, por su CÓDIGO y nunca por su texto. */
11
+ function motivoDeErrorDelSdk(error) {
12
+ const codigo = error?.errorCode;
13
+ return MOTIVOS_DEL_TUNEL[motivoDeSalidaDeNgrok(typeof codigo === "string" ? [codigo] : [])];
55
14
  }
56
15
  export function crearTunelNgrok(deps = {}) {
57
- const entorno = deps.entorno ?? process.env;
58
16
  const cargarServidor = deps.cargarServidor ?? (() => cargarServidorRemoto());
59
- const localizar = deps.localizar ?? (() => localizarNgrok({ entorno }));
60
- const lanzar = deps.lanzar ?? lanzarReal;
61
- const matarGrupo = deps.matarGrupo ?? ((pid, senal) => matarGrupoReal(pid, senal));
17
+ const cargarSdk = deps.cargarSdk ?? cargarSdkReal;
18
+ const authtoken = deps.authtoken ?? (() => authtokenDeNgrok());
62
19
  const topeMs = deps.topeMs ?? TOPE_DE_TUNEL_MS;
63
- const esperaAlMatarMs = deps.esperaAlMatarMs ?? ESPERA_AL_MATAR_MS;
64
- const alSalirDelProceso = deps.alSalirDelProceso ?? alSalirReal;
20
+ const esperaDeReconexionMs = deps.esperaDeReconexionMs ?? ESPERA_DE_RECONEXION_MS;
65
21
  return {
66
22
  async abrir({ dominio }) {
67
23
  if (dominio !== undefined && motivoDeDominioInaceptable(dominio) !== undefined) {
68
24
  throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.dominio);
69
25
  }
70
- const binario = localizar();
71
- if (binario === undefined)
26
+ const sdk = await cargarSdk();
27
+ if (sdk === undefined)
72
28
  throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.noInstalado);
29
+ const token = authtoken();
30
+ if (token === undefined)
31
+ throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.autenticacion);
73
32
  const modulo = await cargarServidor();
74
33
  if (modulo === undefined)
75
34
  throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.paqueteViejo);
@@ -82,80 +41,16 @@ export function crearTunelNgrok(deps = {}) {
82
41
  }
83
42
  let puenteCerrado;
84
43
  const cerrarPuente = () => (puenteCerrado ??= puente.cerrar().catch(() => { }));
85
- // `host:puerto` tal como escucha el puente (127.0.0.1), y no «localhost», que puede
86
- // resolver a ::1 y dejar a ngrok sin nadie al otro lado.
44
+ // `host:puerto` tal como escucha el puente (127.0.0.1), y no «localhost», que puede resolver a ::1 y dejar a ngrok
45
+ // sin nadie al otro lado.
87
46
  const destino = new URL(puente.urlHttp).host;
88
- const args = ["http", destino, ...(dominio === undefined ? [] : ["--url", dominio]), "--log", "stdout", "--log-format", "json"];
89
- let hijo;
90
- try {
91
- // Sin las claves de los proveedores, con la MISMA regla que la shell del agente: ngrok no
92
- // las necesita, y `guardarCredencial` las escribe en `process.env`. `NGROK_*`, `PATH` y
93
- // `HOME` siguen (el authtoken puede venir de `NGROK_AUTHTOKEN`).
94
- hijo = lanzar(binario, args, { env: entornoDeShell({ entorno }) });
95
- }
96
- catch {
97
- await cerrarPuente();
98
- throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.noInstalado);
99
- }
100
- let vivo = true;
101
- let alTerminar;
102
- const terminado = new Promise((r) => (alTerminar = r));
103
- const soltarSalida = alSalirDelProceso(() => {
104
- if (vivo)
105
- senal("SIGKILL");
106
- });
107
- const senal = (s) => {
108
- const pid = hijo.pid;
109
- try {
110
- // Nunca con un pid que no sea de un hijo: `kill(-0)` mataría el grupo de quien llama.
111
- if (typeof pid === "number" && pid > 1)
112
- matarGrupo(pid, s);
113
- else
114
- hijo.kill(s);
115
- }
116
- catch {
117
- // ESRCH: ya no estaba.
118
- }
119
- };
120
- const esperar = (ms) => Promise.race([terminado, new Promise((r) => setTimeout(r, ms).unref?.())]);
121
- let matado;
122
- const matar = () => (matado ??= (async () => {
123
- if (!vivo)
124
- return;
125
- senal("SIGTERM");
126
- await esperar(esperaAlMatarMs);
127
- if (vivo) {
128
- senal("SIGKILL");
129
- await esperar(esperaAlMatarMs);
130
- }
131
- })());
132
- const lineas = [];
133
- let guardar = true;
134
- let alUrl;
135
- let alFallo;
136
- const url = new Promise((resolver, rechazar) => {
137
- alUrl = resolver;
138
- alFallo = (m) => rechazar(new FalloDelTunel(m));
139
- });
140
- const alLinea = (linea) => {
141
- if (!guardar)
142
- return;
143
- const publica = urlPublicaDeLinea(linea);
144
- if (publica !== undefined) {
145
- guardar = false;
146
- lineas.length = 0;
147
- alUrl(publica);
148
- return;
149
- }
150
- lineas.push(linea);
151
- if (lineas.length > LINEAS_QUE_SE_GUARDAN)
152
- lineas.shift();
153
- };
154
- hijo.stdout.on("data", porLineas(alLinea));
155
- hijo.stderr.on("data", porLineas(alLinea));
156
- /** Resuelve con el motivo cuando el puente YA está cerrado: se avisa después, nunca antes. */
47
+ let cerrando = false;
157
48
  let caida;
158
49
  const caidas = [];
50
+ let reconexion;
51
+ let tunel;
52
+ let tunelCerrado;
53
+ const cerrarTunel = () => (tunelCerrado ??= (tunel?.close() ?? Promise.resolve()).catch(() => { }));
159
54
  /** Un oyente que lanza no tumba la consola ni deja sin aviso a los demás. */
160
55
  const avisar = (f, motivo) => {
161
56
  if (cerrando)
@@ -167,58 +62,74 @@ export function crearTunelNgrok(deps = {}) {
167
62
  // es de quien escucha
168
63
  }
169
64
  };
170
- let cerrando = false;
171
- hijo.on("error", ((e) => {
172
- alFallo(e?.code === "ENOENT" || e?.code === "EACCES" ? MOTIVOS_DEL_TUNEL.noInstalado : MOTIVOS_DEL_TUNEL.otro);
173
- // Un `spawn` que falla emite `error` y puede no emitir `close`.
174
- if (hijo.pid === undefined) {
175
- vivo = false;
176
- soltarSalida();
177
- alTerminar();
178
- }
179
- }));
180
- hijo.on("close", (() => {
181
- vivo = false;
182
- soltarSalida();
183
- alTerminar();
184
- if (guardar) {
185
- alFallo(MOTIVOS_DEL_TUNEL[motivoDeSalidaDeNgrok(lineas)]);
186
- return;
187
- }
65
+ const darPorCaido = () => {
188
66
  if (cerrando || caida !== undefined)
189
67
  return;
190
- const motivo = MOTIVOS_DEL_TUNEL.seCerro;
191
- caida = cerrarPuente().then(() => motivo);
68
+ caida = cerrarTunel()
69
+ .then(() => cerrarPuente())
70
+ .then(() => MOTIVOS_DEL_TUNEL.seCerro);
192
71
  void caida.then((m) => {
193
72
  for (const f of caidas.splice(0))
194
73
  avisar(f, m);
195
74
  });
196
- }));
197
- const tope = setTimeout(() => alFallo(MOTIVOS_DEL_TUNEL.sinDireccion), topeMs);
198
- let publica;
75
+ };
76
+ const alCambiarEstado = (estado) => {
77
+ if (estado === "closed") {
78
+ if (reconexion === undefined && !cerrando) {
79
+ reconexion = setTimeout(darPorCaido, esperaDeReconexionMs);
80
+ reconexion.unref?.();
81
+ }
82
+ }
83
+ else if (estado === "connected" && reconexion !== undefined) {
84
+ clearTimeout(reconexion);
85
+ reconexion = undefined;
86
+ }
87
+ };
88
+ let tope;
89
+ let agotado = false;
199
90
  try {
200
- publica = await url;
91
+ const abierto = sdk.forward({
92
+ addr: destino,
93
+ authtoken: token,
94
+ ...(dominio === undefined ? {} : { domain: dominio }),
95
+ onStatusChange: alCambiarEstado,
96
+ });
97
+ // Si llega DESPUÉS del tope, se cierra: nadie lo va a usar.
98
+ void abierto.then((t) => {
99
+ if (agotado)
100
+ void t.close().catch(() => { });
101
+ }, () => { });
102
+ tunel = await Promise.race([
103
+ abierto,
104
+ new Promise((_, rechazar) => {
105
+ tope = setTimeout(() => {
106
+ agotado = true;
107
+ rechazar(new FalloDelTunel(MOTIVOS_DEL_TUNEL.sinDireccion));
108
+ }, topeMs);
109
+ }),
110
+ ]);
201
111
  }
202
- catch (e) {
203
- guardar = false;
204
- lineas.length = 0;
112
+ catch (error) {
205
113
  cerrando = true;
206
- await matar();
207
114
  await cerrarPuente();
208
- throw e instanceof FalloDelTunel ? e : new FalloDelTunel(MOTIVOS_DEL_TUNEL.otro);
115
+ throw error instanceof FalloDelTunel ? error : new FalloDelTunel(motivoDeErrorDelSdk(error));
209
116
  }
210
117
  finally {
211
- clearTimeout(tope);
118
+ if (tope !== undefined)
119
+ clearTimeout(tope);
212
120
  }
213
121
  let servidor;
214
122
  try {
123
+ const publica = tunel.url();
124
+ if (publica === null)
125
+ throw new Error("sin dirección");
215
126
  servidor = servidorDeTunel(publica);
216
127
  }
217
128
  catch {
218
129
  cerrando = true;
219
- await matar();
130
+ await cerrarTunel();
220
131
  await cerrarPuente();
221
- throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.otro);
132
+ throw new FalloDelTunel(MOTIVOS_DEL_TUNEL.sinDireccion);
222
133
  }
223
134
  let cerrado;
224
135
  return {
@@ -226,7 +137,9 @@ export function crearTunelNgrok(deps = {}) {
226
137
  cerrar: () => (cerrado ??= (async () => {
227
138
  cerrando = true;
228
139
  caidas.length = 0;
229
- await matar();
140
+ if (reconexion !== undefined)
141
+ clearTimeout(reconexion);
142
+ await cerrarTunel();
230
143
  await cerrarPuente();
231
144
  })()),
232
145
  alCaer: (f) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tunelNgrok.js","sourceRoot":"","sources":["../../../src/agent/remoto/tunelNgrok.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunelNgrok.js","sourceRoot":"","sources":["../../../src/agent/remoto/tunelNgrok.ts"],"names":[],"mappings":"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"}
@@ -336,59 +336,6 @@ export function recetaDeSimuladorIos(plataforma, estado) {
336
336
  : `Runtime de iOS instalados: ${estado.runtimes.join(", ")}. Para arrancar un simulador, \`xcrun simctl boot <UDID>\`; arrancarlo desde esta ventana todavía no está cableado.`,
337
337
  };
338
338
  }
339
- /**
340
- * La receta para instalar ngrok, que es lo que necesita la sesión remota por túnel. NO es de un
341
- * aparato: su `plataforma` es `herramienta` y no entra en `InformeDeDispositivos.recetas`; la
342
- * lleva el mensaje `remoto`. Un solo paso. En macOS lo lanza xonecode (`ngrok:darwin:1` en
343
- * `PASOS_EJECUTABLES`, solo con `brew`); en Windows y Linux es una guía sin botón, porque un
344
- * instalador de esos sistemas puede pedir elevación o abrir una ventana.
345
- *
346
- * `hecho` sale de la medida (`ngrok version` contesta), nunca de un flag recordado.
347
- */
348
- export function recetaDeNgrok(plataforma, medida) {
349
- const hecho = medida.instalado;
350
- let paso;
351
- if (plataforma === "darwin") {
352
- const hayBrew = medida.hayBrew === true;
353
- paso = {
354
- titulo: "Instalar ngrok",
355
- comandos: ["brew install ngrok"],
356
- nota: "Se instala con Homebrew y no pide contraseña de administrador.",
357
- hecho,
358
- ejecutable: hayBrew,
359
- ...(hayBrew ? {} : { porQueNo: "hace falta Homebrew (brew.sh)" }),
360
- };
361
- }
362
- else if (plataforma === "win32") {
363
- paso = {
364
- titulo: "Instalar ngrok",
365
- comandos: ["winget install ngrok.ngrok"],
366
- nota: "Pégalo en una terminal; después, abre una terminal nueva para que ngrok esté en el PATH.",
367
- hecho,
368
- ejecutable: false,
369
- porQueNo: "en Windows el instalador se lanza desde tu terminal",
370
- };
371
- }
372
- else {
373
- paso = {
374
- titulo: "Instalar ngrok",
375
- comandos: ["# descarga ngrok de https://ngrok.com/download e instálalo con el gestor de tu distribución"],
376
- nota: "Cada distribución lo instala distinto; la página de descarga trae el comando de la tuya.",
377
- hecho,
378
- ejecutable: false,
379
- porQueNo: "depende de tu distribución y puede pedir administrador",
380
- };
381
- }
382
- return {
383
- id: "ngrok",
384
- plataforma: "herramienta",
385
- titulo: "Instalar ngrok",
386
- descripcion: "ngrok abre el túnel por el que el móvil llega a esta consola. Un paso, una vez por máquina.",
387
- pasos: [paso],
388
- completa: hecho,
389
- despues: "Con ngrok instalado, falta tu authtoken (dashboard.ngrok.com): se pega desde la ventana de la sesión remota.",
390
- };
391
- }
392
339
  /** El sistema, a partir de `process.platform`. */
393
340
  export function sistemaDe(platform) {
394
341
  if (platform === "darwin")
@@ -1 +1 @@
1
- {"version":3,"file":"dispositivos.js","sourceRoot":"","sources":["../../src/core/dispositivos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispositivos.js","sourceRoot":"","sources":["../../src/core/dispositivos.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  /** Texto fijo por causa. Es lo ÚNICO que sale de un fallo del túnel hacia el cable. */
13
13
  export const MOTIVOS_DEL_TUNEL = {
14
- noInstalado: "ngrok no está instalado en esta máquina.",
14
+ noInstalado: "El componente de ngrok que trae xonecode no carga en esta máquina: reinstala xonecode.",
15
15
  autenticacion: "ngrok no acepta el authtoken (falta o no es válido).",
16
16
  dominio: "ngrok no deja usar ese dominio: no es de tu cuenta, o tu plan no admite dominios propios.",
17
17
  otraSesion: "Ya hay otro ngrok de tu cuenta abierto (en esta máquina o en otra): ciérralo y vuelve a encender.",
@@ -21,31 +21,8 @@ export const MOTIVOS_DEL_TUNEL = {
21
21
  otro: "ngrok falló y no se pudo abrir el túnel.",
22
22
  puente: "No se pudo arrancar el puente local de la sesión remota.",
23
23
  authtokenSinForma: "Eso no tiene la forma de un authtoken de ngrok.",
24
- authtokenNoGuardado: "ngrok no pudo guardar el authtoken.",
24
+ authtokenNoGuardado: "No se pudo guardar el authtoken.",
25
25
  };
26
- /**
27
- * La dirección pública que ngrok anuncia al levantar el túnel: la línea JSON de `msg:
28
- * "started tunnel"` (con `--log stdout --log-format json`) trae un `url`. Cualquier otra línea,
29
- * o un túnel que no sea https, es `undefined`. No se lee de la API local (4040), que se mueve
30
- * si el puerto está ocupado.
31
- */
32
- export function urlPublicaDeLinea(linea) {
33
- if (!linea.startsWith("{"))
34
- return undefined;
35
- let o;
36
- try {
37
- o = JSON.parse(linea);
38
- }
39
- catch {
40
- return undefined;
41
- }
42
- if (typeof o !== "object" || o === null)
43
- return undefined;
44
- const { msg, url } = o;
45
- if (msg !== "started tunnel" || typeof url !== "string")
46
- return undefined;
47
- return url.startsWith("https://") ? url : undefined;
48
- }
49
26
  /** `https://host` → `wss://host/ws`: el puente de la sesión remota atiende el WebSocket en `/ws`. */
50
27
  export function servidorDeTunel(https) {
51
28
  const url = new URL(https);
@@ -89,4 +66,36 @@ export function motivoDeSalidaDeNgrok(lineas) {
89
66
  }
90
67
  return "otro";
91
68
  }
69
+ /**
70
+ * Dónde guarda el authtoken el programa `ngrok`, por si ya lo usabas: el SDK no lee esa configuración, y sin mirarla
71
+ * habría que volver a pedirte el token. v3 por plataforma y la v2 de siempre (`~/.ngrok2`). Puro: la casa y el entorno
72
+ * entran por parámetro.
73
+ */
74
+ export function rutasDeConfigDeNgrok(plataforma, entorno, casa) {
75
+ const sep = plataforma === "win32" ? "\\" : "/";
76
+ const unir = (...partes) => partes.join(sep);
77
+ const v3 = plataforma === "darwin"
78
+ ? unir(casa, "Library", "Application Support", "ngrok", "ngrok.yml")
79
+ : plataforma === "win32"
80
+ ? unir(entorno.LOCALAPPDATA ?? unir(casa, "AppData", "Local"), "ngrok", "ngrok.yml")
81
+ : unir(entorno.XDG_CONFIG_HOME ?? unir(casa, ".config"), "ngrok", "ngrok.yml");
82
+ return [v3, unir(casa, ".ngrok2", "ngrok.yml")];
83
+ }
84
+ /**
85
+ * El valor de una línea `authtoken:` no vacía, arriba (formato v2) o dentro de `agent:` (v3). `authtoken: ""` o sin
86
+ * valor no es una cuenta.
87
+ */
88
+ export function authtokenDeConfig(texto) {
89
+ for (const linea of texto.split(/\r?\n/)) {
90
+ const m = /^\s*authtoken:(.*)$/.exec(linea);
91
+ if (m === null)
92
+ continue;
93
+ const valor = m[1].replace(/\s+#.*$/, "").trim().replace(/^(["'])(.*)\1$/, "$2").trim();
94
+ if (valor !== "" && !valor.startsWith("#"))
95
+ return valor;
96
+ }
97
+ return undefined;
98
+ }
99
+ /** Lo que tiene un authtoken de ngrok: alfanumérico con `_`/`-`, sin espacios, empezando por letra o cifra. */
100
+ export const FORMA_DE_AUTHTOKEN = /^[A-Za-z0-9][A-Za-z0-9_-]{9,199}$/;
92
101
  //# sourceMappingURL=tunel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunel.js","sourceRoot":"","sources":["../../src/core/tunel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunel.js","sourceRoot":"","sources":["../../src/core/tunel.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,6 @@ import { detectarDispositivos, frameworkEnDispositivo } from "../../agent/dispos
53
53
  import { lanzarEnDispositivo, } from "../../agent/dispositivos/lanzamientoEnMaquina.js";
54
54
  import { motivoDeBloqueo, puedeLanzarse, } from "../../core/puedeLanzarse.js";
55
55
  import { PLATAFORMAS_DE_DISPOSITIVO, remotoEnVigor } from "../../core/settings.js";
56
- import { recetaDeNgrok } from "../../core/dispositivos.js";
57
56
  import { motivoDeDominioInaceptable } from "../../core/tunel.js";
58
57
  import { instalarHerramientaDeDispositivos, verificarDispositivo } from "../../agent/dispositivos/dispositivosEnMaquina.js";
59
58
  import { arrancarEmulador, pararEmulador } from "../../agent/dispositivos/arranqueDeEmulador.js";
@@ -387,7 +386,6 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
387
386
  instalado: fotoDeNgrok.instalado,
388
387
  cuenta: fotoDeNgrok.cuenta,
389
388
  ...(ajustes?.dominio === undefined ? {} : { dominio: ajustes.dominio }),
390
- ...(fotoDeNgrok.instalado ? {} : { receta: recetaDeNgrok(process.platform, fotoDeNgrok) }),
391
389
  ...(motivoDeNgrok === undefined ? {} : { motivo: motivoDeNgrok }),
392
390
  },
393
391
  }),
@@ -4377,12 +4375,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
4377
4375
  ultimoProgreso = 0;
4378
4376
  emitirProgreso(resultado.estado, resultado.motivo);
4379
4377
  trabajo = undefined;
4380
- // Y la foto nueva es la que dice si el paso quedó hecho, no el código de salida. Instalar
4381
- // ngrok no cambia los aparatos: su foto se queda, y solo se vuelve a medir ngrok.
4382
- if (receta === "ngrok") {
4383
- await medirNgrokYAnunciar().catch(contar);
4384
- return;
4385
- }
4378
+ // Y la foto nueva es la que dice si el paso quedó hecho, no el código de salida.
4386
4379
  informeDeDispositivos = undefined;
4387
4380
  await atenderDispositivos().catch(contar);
4388
4381
  })();
@@ -4405,9 +4398,6 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
4405
4398
  trabajo?.cancelar();
4406
4399
  return;
4407
4400
  }
4408
- // La receta de ngrok es de la sesión remota: con el interruptor apagado no existe.
4409
- if (mensaje.id === "ngrok" && !remotoHabilitado())
4410
- return;
4411
4401
  if (trabajo !== undefined) {
4412
4402
  // Ya hay uno: se reenvía su estado en vez de lanzar otro.
4413
4403
  emitirProgreso("corriendo");
@@ -5677,7 +5667,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
5677
5667
  const medirNgrokAhora = (medir) => {
5678
5668
  const esta = medir()
5679
5669
  .then((foto) => {
5680
- fotoDeNgrok = { instalado: foto.instalado, cuenta: foto.cuenta, ...(foto.hayBrew === undefined ? {} : { hayBrew: foto.hayBrew }) };
5670
+ fotoDeNgrok = { instalado: foto.instalado, cuenta: foto.cuenta };
5681
5671
  anunciarRemoto();
5682
5672
  })
5683
5673
  .finally(() => {
@@ -7854,8 +7844,9 @@ export async function arrancarConsolaWeb(opciones) {
7854
7844
  },
7855
7845
  medirNgrok: opciones.medirNgrok ??
7856
7846
  (async () => {
7847
+ // ngrok viene con xonecode (el SDK): no hay receta de instalación que medir.
7857
7848
  const ngrok = await import("../../agent/remoto/ngrokEnMaquina.js");
7858
- return { ...(await ngrok.medirNgrok()), hayBrew: ngrok.hayBrew() };
7849
+ return ngrok.medirNgrok();
7859
7850
  }),
7860
7851
  guardarAuthtoken: opciones.guardarAuthtoken ??
7861
7852
  (async (token) => (await import("../../agent/remoto/ngrokEnMaquina.js")).guardarAuthtoken(token)),