xonecode 0.8.38 → 0.8.41
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/apps/web/dist/assets/{index-Bm4ur93-.js → index-CRMWzgzk.js} +71 -71
- package/apps/web/dist/assets/index-CwAAn-xT.css +1 -0
- package/apps/web/dist/assets/{php-D2qE525B.js → php-BoJQNWIY.js} +1 -1
- package/apps/web/dist/assets/{ruby-SvGm1EAa.js → ruby-B8zkIfgk.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/config/selectorEnMaquina.js +15 -2
- package/dist/agent/config/selectorEnMaquina.js.map +1 -1
- package/dist/agent/dispositivos/descargaDeHerramientas.js +202 -0
- package/dist/agent/dispositivos/descargaDeHerramientas.js.map +1 -0
- package/dist/agent/dispositivos/dispositivosEnMaquina.js +102 -19
- package/dist/agent/dispositivos/dispositivosEnMaquina.js.map +1 -1
- package/dist/agent/dispositivos/instalacionEnMaquina.js +138 -16
- package/dist/agent/dispositivos/instalacionEnMaquina.js.map +1 -1
- package/dist/agent/dispositivos/procesosEnMaquina.js +22 -1
- package/dist/agent/dispositivos/procesosEnMaquina.js.map +1 -1
- package/dist/agent/turno/puente.js +13 -0
- package/dist/agent/turno/puente.js.map +1 -1
- package/dist/agent/turno/registroDeFallos.js +7 -0
- package/dist/agent/turno/registroDeFallos.js.map +1 -1
- package/dist/agent/turno/resumenDeContexto.js +113 -2
- package/dist/agent/turno/resumenDeContexto.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +2 -2
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/core/dispositivos.js +126 -6
- package/dist/core/dispositivos.js.map +1 -1
- package/dist/core/selectorDeCarpeta.js +27 -0
- package/dist/core/selectorDeCarpeta.js.map +1 -1
- package/dist/core/settings.js +13 -7
- package/dist/core/settings.js.map +1 -1
- package/dist/core/turno.js +10 -0
- package/dist/core/turno.js.map +1 -1
- package/dist/core/zipDeSkill.js +9 -2
- package/dist/core/zipDeSkill.js.map +1 -1
- package/dist/web/servidor/arranque.js +47 -6
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/pielWeb.js +34 -0
- package/dist/web/servidor/pielWeb.js.map +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/index-F-tnEn80.css +0 -1
package/apps/web/dist/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<!-- El icono oficial, servido por Vite desde `iconos/`. Es el mismo fichero que la
|
|
8
8
|
marca de la barra superior: dos copias del logo acaban siendo dos logos. -->
|
|
9
9
|
<link rel="icon" type="image/png" href="./iconos/xonecode.png" />
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-CRMWzgzk.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="./assets/index-CwAAn-xT.css">
|
|
12
12
|
</head>
|
|
13
13
|
<!-- Sin el atributo aquí: el oscuro es SOLO del splash (el registro de entorno y
|
|
14
14
|
modelo), no de la consola entera — `App.tsx` lo pone y lo quita él mismo, en el
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Abrir el selector de carpeta NATIVO de esta máquina. La regla de QUÉ comando y cómo se lee
|
|
3
3
|
* su respuesta es pura y vive en `core/selectorDeCarpeta.ts`; aquí solo está lanzarlo.
|
|
4
4
|
*/
|
|
5
|
-
import { execFile } from "node:child_process";
|
|
6
|
-
import { carpetaDeLaSalida, comandoDelSelector, TOPE_DEL_SELECTOR_MS, } from "../../core/selectorDeCarpeta.js";
|
|
5
|
+
import { execFile, spawn } from "node:child_process";
|
|
6
|
+
import { carpetaDeLaSalida, comandoDelSelector, comandoParaAbrirCarpeta, TOPE_DEL_SELECTOR_MS, } from "../../core/selectorDeCarpeta.js";
|
|
7
7
|
/** ¿Hay selector en este sistema? Es lo que decide si se OFRECE el botón: un botón que no
|
|
8
8
|
* hace nada es peor que no tenerlo, y el campo de texto ya resuelve el caso. */
|
|
9
9
|
export function haySelectorDeCarpeta(plataforma = process.platform) {
|
|
@@ -33,6 +33,19 @@ export async function elegirCarpetaEnMaquina(opciones) {
|
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Abre, en el explorador de ficheros de ESTA máquina, la carpeta que contiene `ruta`.
|
|
38
|
+
*
|
|
39
|
+
* Accesorio, como `abrirEnSistema` al arrancar la web: nunca lanza, no espera respuesta ni
|
|
40
|
+
* mira el código de salida —`explorer.exe` sale con uno no-cero también cuando funciona—, y
|
|
41
|
+
* `detached`+`unref` para no dejar el proceso padre esperando a una ventana del sistema.
|
|
42
|
+
*/
|
|
43
|
+
export function abrirCarpetaDelSistema(ruta, plataforma = process.platform) {
|
|
44
|
+
const comando = comandoParaAbrirCarpeta(plataforma, ruta);
|
|
45
|
+
const proceso = spawn(comando.programa, [...comando.argumentos], { detached: true, stdio: "ignore" });
|
|
46
|
+
proceso.on("error", () => { });
|
|
47
|
+
proceso.unref();
|
|
48
|
+
}
|
|
36
49
|
function lanzarDeVerdad(comando) {
|
|
37
50
|
return new Promise((resolver, rechazar) => {
|
|
38
51
|
execFile(comando.programa, [...comando.argumentos],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectorEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/config/selectorEnMaquina.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"selectorEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/config/selectorEnMaquina.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GAErB,MAAM,iCAAiC,CAAC;AAEzC;iFACiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,aAAqB,OAAO,CAAC,QAAQ;IACxE,OAAO,kBAAkB,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAI5C;IACC,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,cAAc,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,aAAqB,OAAO,CAAC,QAAQ;IACxF,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,OAA0B;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACxC,QAAQ,CACN,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;QACvB,qFAAqF;QACrF,iFAAiF;QACjF,iCAAiC;QACjC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,EACpD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACzE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Descargar un `.zip` y descomprimirlo en el sitio que toca — el paso «descarga» de una
|
|
3
|
+
* receta de instalación, hermano del paso «proceso» que ya existía
|
|
4
|
+
* (`instalacionEnMaquina.ts#PASOS_EJECUTABLES`).
|
|
5
|
+
*
|
|
6
|
+
* Nació con la receta de Android en Windows: Homebrew instala el JDK, las herramientas del
|
|
7
|
+
* SDK y `adb` con un solo `install`, y en Windows no hay un gestor equivalente para esto —
|
|
8
|
+
* así que cada pieza se baja de una URL fijada (`core/dispositivos.ts`) y se descomprime a
|
|
9
|
+
* mano. Mismo contrato que un paso de PROCESO: nunca lanza, informa cada línea de progreso
|
|
10
|
+
* por `alSalirLinea` en cuanto la hay, y su resultado final es el MISMO
|
|
11
|
+
* `"ok" | "fallo" | "cancelada" | "colgada"` — así `Receta.tsx` y el mensaje `{clase:"receta"}`
|
|
12
|
+
* no necesitan saber que detrás hay un `fetch` y no un `spawn`.
|
|
13
|
+
*
|
|
14
|
+
* **La validación de zip-slip es la MISMA que la instalación de skills**
|
|
15
|
+
* (`core/zipDeSkill.ts#rutaDeZipAceptable`): un zip que se descarga de internet, aunque sea
|
|
16
|
+
* de un host de confianza (Google, Adoptium, por HTTPS), es exactamente la clase de entrada
|
|
17
|
+
* que esa regla ya cubre — reescribirla aquí sería un segundo sitio donde decidir lo mismo, y
|
|
18
|
+
* el que ha demostrado divergir en silencio en este repo.
|
|
19
|
+
*
|
|
20
|
+
* **Cancelar es el `AbortController` de `fetch`.** No hay proceso hijo que matar —a
|
|
21
|
+
* diferencia de un paso de proceso, que mata el GRUPO—, así que no pasa por
|
|
22
|
+
* `procesosEnMaquina.ts#matarGrupo`. Y el silencio se vigila igual que allí: el mismo
|
|
23
|
+
* `TOPE_SIN_SALIDA_MS` (5 min), pero medido entre TROZOS del cuerpo de la respuesta y no
|
|
24
|
+
* entre líneas de un proceso — una descarga de 150 MB que sigue hablando no está colgada
|
|
25
|
+
* aunque tarde minutos; lo que la delata es que deje de llegar ni un byte.
|
|
26
|
+
*/
|
|
27
|
+
import { mkdirSync, writeFileSync } from "node:fs";
|
|
28
|
+
import { dirname, join } from "node:path";
|
|
29
|
+
import { unzipSync } from "fflate";
|
|
30
|
+
import { carpetaComun, rutaDeZipAceptable } from "../../core/zipDeSkill.js";
|
|
31
|
+
import { TOPE_SIN_SALIDA_MS } from "./procesosEnMaquina.js";
|
|
32
|
+
/** Lo que puede ocupar el `.zip` descargado. Las cmdline-tools de hoy pesan 156 MB, el JDK
|
|
33
|
+
* ronda los 190 MB: deja margen sin abrir la puerta a un zip bomba servido por un host que
|
|
34
|
+
* dejó de ser de confianza (una URL fijada a mano, ver `core/dispositivos.ts`). */
|
|
35
|
+
export const TOPE_DE_LA_DESCARGA = 300 * 1024 * 1024;
|
|
36
|
+
/** Lo que puede ocupar DESCOMPRIMIDO. El de arriba no lo ve: un zip pequeño puede
|
|
37
|
+
* descomprimirse en gigabytes. */
|
|
38
|
+
export const TOPE_DESCOMPRIMIDO = 700 * 1024 * 1024;
|
|
39
|
+
/** Cuántas entradas puede traer. Las cmdline-tools traen unos pocos miles de ficheros. */
|
|
40
|
+
export const TOPE_DE_ENTRADAS = 8000;
|
|
41
|
+
/**
|
|
42
|
+
* Descarga `url` y la descomprime bajo `destino`. Nunca lanza: todo lo que puede ir mal
|
|
43
|
+
* —una URL caducada, un zip corrupto, una ruta de zip-slip, el tope de tamaño— vuelve como
|
|
44
|
+
* un `ResultadoDeDescarga` con su motivo de UNA línea, igual que
|
|
45
|
+
* `instalacionEnMaquina.ts#correrPasoDeReceta`.
|
|
46
|
+
*/
|
|
47
|
+
export function descargarYDescomprimir(url, destino, opciones = {}, deps = {}) {
|
|
48
|
+
const fetchDeVerdad = deps.fetch ?? fetch;
|
|
49
|
+
const crearCarpeta = deps.crearCarpeta ?? ((ruta) => mkdirSync(ruta, { recursive: true }));
|
|
50
|
+
const escribir = deps.escribir ?? ((ruta, datos) => writeFileSync(ruta, datos));
|
|
51
|
+
const ahora = deps.ahora ?? (() => Date.now());
|
|
52
|
+
const t0 = ahora();
|
|
53
|
+
const decir = (linea) => deps.alSalirLinea?.(linea);
|
|
54
|
+
const abortador = new AbortController();
|
|
55
|
+
let canceladaPorFuera = false;
|
|
56
|
+
let colgadaPorSilencio = false;
|
|
57
|
+
const terminado = (async () => {
|
|
58
|
+
// El vigilante del silencio: se REARMA en cada trozo que llega, igual que
|
|
59
|
+
// `procesosEnMaquina.ts#rearmar`. Si nadie lo rearma en `TOPE_SIN_SALIDA_MS`, aborta —
|
|
60
|
+
// una descarga que deja de hablar es un servidor que se calló, no una que va lenta.
|
|
61
|
+
let temporizador;
|
|
62
|
+
const rearmar = () => {
|
|
63
|
+
if (temporizador !== undefined)
|
|
64
|
+
clearTimeout(temporizador);
|
|
65
|
+
temporizador = setTimeout(() => {
|
|
66
|
+
colgadaPorSilencio = true;
|
|
67
|
+
abortador.abort();
|
|
68
|
+
}, TOPE_SIN_SALIDA_MS);
|
|
69
|
+
};
|
|
70
|
+
const desarmar = () => {
|
|
71
|
+
if (temporizador !== undefined)
|
|
72
|
+
clearTimeout(temporizador);
|
|
73
|
+
};
|
|
74
|
+
try {
|
|
75
|
+
rearmar();
|
|
76
|
+
let respuesta;
|
|
77
|
+
try {
|
|
78
|
+
respuesta = await fetchDeVerdad(url, { signal: abortador.signal });
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
desarmar();
|
|
82
|
+
}
|
|
83
|
+
if (!respuesta.ok) {
|
|
84
|
+
return { estado: "fallo", motivo: `no se pudo descargar (HTTP ${respuesta.status})`, ms: ahora() - t0 };
|
|
85
|
+
}
|
|
86
|
+
const bytes = await leerConProgreso(respuesta, decir, rearmar, desarmar);
|
|
87
|
+
if (bytes.length > TOPE_DE_LA_DESCARGA) {
|
|
88
|
+
return { estado: "fallo", motivo: "la descarga pesa más de lo esperado: se para por si acaso", ms: ahora() - t0 };
|
|
89
|
+
}
|
|
90
|
+
decir("descomprimiendo…");
|
|
91
|
+
let entradas;
|
|
92
|
+
try {
|
|
93
|
+
entradas = unzipSync(bytes);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return { estado: "fallo", motivo: "no se pudo abrir el .zip: ¿la descarga se cortó?", ms: ahora() - t0 };
|
|
97
|
+
}
|
|
98
|
+
// fflate también devuelve las carpetas, como entradas vacías acabadas en `/`: no son
|
|
99
|
+
// ficheros que escribir.
|
|
100
|
+
const ficheros = Object.entries(entradas).filter(([ruta]) => !ruta.endsWith("/"));
|
|
101
|
+
if (ficheros.length === 0)
|
|
102
|
+
return { estado: "fallo", motivo: "el .zip está vacío", ms: ahora() - t0 };
|
|
103
|
+
if (ficheros.length > TOPE_DE_ENTRADAS) {
|
|
104
|
+
return { estado: "fallo", motivo: `el .zip trae más de ${TOPE_DE_ENTRADAS} ficheros`, ms: ahora() - t0 };
|
|
105
|
+
}
|
|
106
|
+
const totalDescomprimido = ficheros.reduce((suma, [, datos]) => suma + datos.length, 0);
|
|
107
|
+
if (totalDescomprimido > TOPE_DESCOMPRIMIDO) {
|
|
108
|
+
return { estado: "fallo", motivo: "el .zip ocupa demasiado descomprimido", ms: ahora() - t0 };
|
|
109
|
+
}
|
|
110
|
+
const malo = ficheros.find(([ruta]) => !rutaDeZipAceptable(ruta));
|
|
111
|
+
if (malo !== undefined) {
|
|
112
|
+
// El nombre de la entrada no se devuelve: es de un zip ajeno, aunque venga de un
|
|
113
|
+
// host de confianza. Se dice QUÉ pasa, que es lo accionable.
|
|
114
|
+
return { estado: "fallo", motivo: "el .zip trae una ruta que se sale de su carpeta", ms: ahora() - t0 };
|
|
115
|
+
}
|
|
116
|
+
const prefijo = opciones.renombrarCarpetaUnicaA === undefined ? undefined : carpetaComun(ficheros.map(([ruta]) => ruta));
|
|
117
|
+
for (const [ruta, datos] of ficheros) {
|
|
118
|
+
const rutaFinal = prefijo !== undefined && opciones.renombrarCarpetaUnicaA !== undefined
|
|
119
|
+
? join(destino, opciones.renombrarCarpetaUnicaA, ruta.slice(prefijo.length + 1))
|
|
120
|
+
: join(destino, ruta);
|
|
121
|
+
crearCarpeta(dirname(rutaFinal));
|
|
122
|
+
escribir(rutaFinal, datos);
|
|
123
|
+
}
|
|
124
|
+
decir(`listo: ${ficheros.length} ficheros`);
|
|
125
|
+
return { estado: "ok", ms: ahora() - t0 };
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
if (colgadaPorSilencio) {
|
|
129
|
+
return { estado: "colgada", motivo: `no llegó nada en ${Math.round(TOPE_SIN_SALIDA_MS / 60_000)} min`, ms: ahora() - t0 };
|
|
130
|
+
}
|
|
131
|
+
if (canceladaPorFuera)
|
|
132
|
+
return { estado: "cancelada", ms: ahora() - t0 };
|
|
133
|
+
return { estado: "fallo", motivo: unaLinea(error), ms: ahora() - t0 };
|
|
134
|
+
}
|
|
135
|
+
})();
|
|
136
|
+
return {
|
|
137
|
+
cancelar: () => {
|
|
138
|
+
canceladaPorFuera = true;
|
|
139
|
+
abortador.abort();
|
|
140
|
+
},
|
|
141
|
+
terminado,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Lee el cuerpo de la respuesta a trozos, informando el `%` de progreso por
|
|
146
|
+
* `alSalirLinea` — a saltos de 10 puntos, para no inundar el log de una descarga de minutos.
|
|
147
|
+
* `rearmar`/`desarmar` son el mismo vigilante de silencio que el resto de la descarga: cada
|
|
148
|
+
* trozo que llega es la prueba de que el servidor sigue hablando.
|
|
149
|
+
*
|
|
150
|
+
* Si el `fetch` inyectado no da un cuerpo en streaming (algunos dobles de test, o un
|
|
151
|
+
* `fetch` sin soporte de `ReadableStream`), se cae a `arrayBuffer()` sin progreso intermedio
|
|
152
|
+
* — sigue siendo correcto, solo menos hablador.
|
|
153
|
+
*/
|
|
154
|
+
async function leerConProgreso(respuesta, decir, rearmar, desarmar) {
|
|
155
|
+
const total = Number(respuesta.headers.get("content-length") ?? "0");
|
|
156
|
+
const cuerpo = respuesta.body;
|
|
157
|
+
if (cuerpo === null || typeof cuerpo.getReader !== "function") {
|
|
158
|
+
decir("descargando…");
|
|
159
|
+
return new Uint8Array(await respuesta.arrayBuffer());
|
|
160
|
+
}
|
|
161
|
+
const lector = cuerpo.getReader();
|
|
162
|
+
const trozos = [];
|
|
163
|
+
let recibido = 0;
|
|
164
|
+
let ultimoPorcentaje = -10;
|
|
165
|
+
try {
|
|
166
|
+
for (;;) {
|
|
167
|
+
const { done, value } = await lector.read();
|
|
168
|
+
if (done)
|
|
169
|
+
break;
|
|
170
|
+
rearmar();
|
|
171
|
+
trozos.push(value);
|
|
172
|
+
recibido += value.length;
|
|
173
|
+
if (total > 0) {
|
|
174
|
+
const porcentaje = Math.floor((recibido / total) * 100);
|
|
175
|
+
if (porcentaje >= ultimoPorcentaje + 10) {
|
|
176
|
+
decir(`descargando… ${porcentaje}%`);
|
|
177
|
+
ultimoPorcentaje = porcentaje;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
desarmar();
|
|
184
|
+
}
|
|
185
|
+
const bytes = new Uint8Array(recibido);
|
|
186
|
+
let offset = 0;
|
|
187
|
+
for (const trozo of trozos) {
|
|
188
|
+
bytes.set(trozo, offset);
|
|
189
|
+
offset += trozo.length;
|
|
190
|
+
}
|
|
191
|
+
return bytes;
|
|
192
|
+
}
|
|
193
|
+
/** Una línea sobre por qué falló la descarga, sin la traza entera. */
|
|
194
|
+
function unaLinea(error) {
|
|
195
|
+
if (error instanceof Error) {
|
|
196
|
+
if (error.name === "AbortError")
|
|
197
|
+
return "la descarga se abortó";
|
|
198
|
+
return error.message.split(/\r?\n/)[0] ?? "fallo desconocido";
|
|
199
|
+
}
|
|
200
|
+
return String(error).split(/\r?\n/)[0] ?? "fallo desconocido";
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=descargaDeHerramientas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descargaDeHerramientas.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/descargaDeHerramientas.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,37 @@ import { execFile } from "node:child_process";
|
|
|
31
31
|
import { existsSync } from "node:fs";
|
|
32
32
|
import { readFile, rm } from "node:fs/promises";
|
|
33
33
|
import { homedir, tmpdir } from "node:os";
|
|
34
|
-
import {
|
|
34
|
+
import { join, posix, win32 } from "node:path";
|
|
35
|
+
/**
|
|
36
|
+
* Las reglas de RUTA de la plataforma que se está MIDIENDO, no las de la máquina que corre
|
|
37
|
+
* esto. Las funciones de abajo reciben `plataforma` por parámetro —es lo que deja probar la
|
|
38
|
+
* rama de Windows desde un Mac—, y con `join`/`delimiter` a secas de `node:path` usaban las del
|
|
39
|
+
* host: en un Mac, un `Path` de Windows se partía por `:` y no se encontraba nada. Salió al
|
|
40
|
+
* mezclar la rama que añadió los `.bat`, cuyo test pasaba en Windows y fallaba en cualquier
|
|
41
|
+
* otra máquina.
|
|
42
|
+
*/
|
|
43
|
+
function rutasDe(plataforma) {
|
|
44
|
+
return plataforma === "win32" ? win32 : posix;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* El PATH de un proceso hijo con carpetas AÑADIDAS al final, con las reglas de la plataforma.
|
|
48
|
+
*
|
|
49
|
+
* Dos cosas que en Windows no son como en macOS, y las dos se rompían en silencio: el
|
|
50
|
+
* separador es `;` y no `:` (que además vive DENTRO de `C:\…`), y la variable suele llamarse
|
|
51
|
+
* `Path`. Se devuelve con el MISMO nombre con que llegó: en Windows el entorno no distingue
|
|
52
|
+
* mayúsculas, y un hijo con `PATH` y `Path` a la vez recibiría uno de los dos sin que nadie
|
|
53
|
+
* diga cuál. Sin ninguno puesto, `PATH`.
|
|
54
|
+
*/
|
|
55
|
+
export function pathConCarpetas(entorno, carpetas, plataforma) {
|
|
56
|
+
const { delimiter } = rutasDe(plataforma);
|
|
57
|
+
const nombre = plataforma === "win32" ? (Object.keys(entorno).find((clave) => clave.toUpperCase() === "PATH") ?? "PATH") : "PATH";
|
|
58
|
+
const actual = entorno[nombre] ?? "";
|
|
59
|
+
return { nombre, valor: [...(actual === "" ? [] : [actual]), ...carpetas].join(delimiter) };
|
|
60
|
+
}
|
|
61
|
+
/** Componer una ruta con las reglas de la plataforma medida (ver `rutasDe`). */
|
|
62
|
+
export function unirRuta(plataforma, ...partes) {
|
|
63
|
+
return rutasDe(plataforma).join(...partes);
|
|
64
|
+
}
|
|
35
65
|
import { promisify } from "node:util";
|
|
36
66
|
import { seMira } from "../../core/settings.js";
|
|
37
67
|
import { recetaDeEmuladorAndroid, recetaDeSimuladorIos, parsearRuntimesDeIos, parsearAdbDevices, nombreDeAvdDeConsola, motivoDeVerificacion, parsearAvds, parsearDevicectl, parsearSimctl, motivoDeSimctl, plataformaDe, sistemaDe, } from "../../core/dispositivos.js";
|
|
@@ -58,12 +88,12 @@ export const TOPES_MS = {
|
|
|
58
88
|
*/
|
|
59
89
|
const RAICES_DE_SDK_POR_OMISION = {
|
|
60
90
|
darwin: (home) => [
|
|
61
|
-
join(home, "Library", "Android", "sdk"),
|
|
91
|
+
posix.join(home, "Library", "Android", "sdk"),
|
|
62
92
|
"/opt/homebrew/share/android-commandlinetools",
|
|
63
93
|
"/usr/local/share/android-commandlinetools",
|
|
64
94
|
],
|
|
65
|
-
win32: (_home, entorno) => (entorno.LOCALAPPDATA === undefined ? [] : [join(entorno.LOCALAPPDATA, "Android", "Sdk")]),
|
|
66
|
-
linux: (home) => [join(home, "Android", "Sdk")],
|
|
95
|
+
win32: (_home, entorno) => (entorno.LOCALAPPDATA === undefined ? [] : [win32.join(entorno.LOCALAPPDATA, "Android", "Sdk")]),
|
|
96
|
+
linux: (home) => [posix.join(home, "Android", "Sdk")],
|
|
67
97
|
};
|
|
68
98
|
/**
|
|
69
99
|
* Dónde están las cosas de Android en esta máquina: las raíces del SDK y cómo buscar en el
|
|
@@ -77,14 +107,27 @@ const RAICES_DE_SDK_POR_OMISION = {
|
|
|
77
107
|
* En Windows los binarios llevan `.exe`. `existe` entra por parámetro porque `npm test` no
|
|
78
108
|
* puede depender del disco de quien lo corre.
|
|
79
109
|
*/
|
|
110
|
+
/**
|
|
111
|
+
* La extensión de un binario en Windows: `.exe` para `adb`/`emulator`, pero `sdkmanager` y
|
|
112
|
+
* `avdmanager` son SCRIPTS `.bat` en Windows —nunca `.exe`, en ningún SDK—. Antes esto era un
|
|
113
|
+
* único `.exe` para lo que fuera, y con él `sdkmanager`/`avdmanager` no se localizaban NUNCA
|
|
114
|
+
* en Windows, aunque las cmdline-tools ya estuvieran instaladas a mano: los pasos que
|
|
115
|
+
* dependen de `estado.sdkmanager`/`estado.jdk` no podían marcarse nunca como disponibles.
|
|
116
|
+
*/
|
|
117
|
+
function extensionDeBinario(nombre, plataforma) {
|
|
118
|
+
if (plataforma !== "win32")
|
|
119
|
+
return "";
|
|
120
|
+
return nombre === "sdkmanager" || nombre === "avdmanager" ? ".bat" : ".exe";
|
|
121
|
+
}
|
|
80
122
|
export function localizadorDeAndroid(deps) {
|
|
81
|
-
const ext = deps.plataforma === "win32" ? ".exe" : "";
|
|
82
123
|
const raicesDeSdk = [
|
|
83
124
|
deps.entorno.ANDROID_HOME,
|
|
84
125
|
deps.entorno.ANDROID_SDK_ROOT,
|
|
85
126
|
...(RAICES_DE_SDK_POR_OMISION[deps.plataforma]?.(deps.home, deps.entorno) ?? []),
|
|
86
127
|
].filter((r) => r !== undefined && r !== "");
|
|
128
|
+
const { delimiter, join } = rutasDe(deps.plataforma);
|
|
87
129
|
const enPath = (nombre) => {
|
|
130
|
+
const ext = extensionDeBinario(nombre, deps.plataforma);
|
|
88
131
|
for (const carpeta of (deps.entorno.PATH ?? deps.entorno.Path ?? "").split(delimiter)) {
|
|
89
132
|
if (carpeta === "")
|
|
90
133
|
continue;
|
|
@@ -98,6 +141,7 @@ export function localizadorDeAndroid(deps) {
|
|
|
98
141
|
const delPath = enPath(nombre);
|
|
99
142
|
if (delPath !== undefined)
|
|
100
143
|
return delPath;
|
|
144
|
+
const ext = extensionDeBinario(nombre, deps.plataforma);
|
|
101
145
|
for (const raiz of raicesDeSdk) {
|
|
102
146
|
const candidato = join(raiz, subcarpeta, nombre + ext);
|
|
103
147
|
if (deps.existe(candidato))
|
|
@@ -110,18 +154,26 @@ export function localizadorDeAndroid(deps) {
|
|
|
110
154
|
/**
|
|
111
155
|
* El JDK con el que corre `sdkmanager`, que es un programa Java.
|
|
112
156
|
*
|
|
113
|
-
* `JAVA_HOME` si el usuario la puso; si no, el `openjdk@17` de
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
157
|
+
* `JAVA_HOME` si el usuario la puso; si no, por sistema: en macOS el `openjdk@17` de
|
|
158
|
+
* Homebrew en los dos prefijos —preguntárselo a `brew --prefix` costaría un proceso en cada
|
|
159
|
+
* medida—; en Windows la ruta FIJA donde cae el paso 2 de la receta,
|
|
160
|
+
* `%LOCALAPPDATA%\Android\jdk17` (`descargaDeHerramientas.ts` renombra ahí la carpeta
|
|
161
|
+
* versionada que trae el zip de Adoptium). Lo usan el detector, para decir si los últimos
|
|
162
|
+
* pasos se pueden lanzar, y el ejecutor, para ponérselo al hijo: una segunda copia habría
|
|
163
|
+
* divergido con el síntoma peor, que el botón se ofreciera y luego no encontrara el JDK.
|
|
118
164
|
*/
|
|
119
|
-
export function jdkDeLaMaquina(entorno, existe) {
|
|
165
|
+
export function jdkDeLaMaquina(entorno, existe, plataforma) {
|
|
120
166
|
const puesta = entorno.JAVA_HOME ?? "";
|
|
121
167
|
if (puesta !== "" && existe(puesta))
|
|
122
168
|
return puesta;
|
|
169
|
+
if (plataforma === "win32") {
|
|
170
|
+
if (entorno.LOCALAPPDATA === undefined)
|
|
171
|
+
return undefined;
|
|
172
|
+
const candidato = win32.join(entorno.LOCALAPPDATA, "Android", "jdk17");
|
|
173
|
+
return existe(candidato) ? candidato : undefined;
|
|
174
|
+
}
|
|
123
175
|
for (const prefijo of ["/opt/homebrew", "/usr/local"]) {
|
|
124
|
-
const candidato = join(prefijo, "opt", "openjdk@17");
|
|
176
|
+
const candidato = posix.join(prefijo, "opt", "openjdk@17");
|
|
125
177
|
if (existe(candidato))
|
|
126
178
|
return candidato;
|
|
127
179
|
}
|
|
@@ -209,16 +261,34 @@ ajustes = {}) {
|
|
|
209
261
|
}
|
|
210
262
|
return undefined;
|
|
211
263
|
};
|
|
212
|
-
|
|
264
|
+
/**
|
|
265
|
+
* La ruta personalizada, cuando la hay, gana sobre PATH/SDK — es lo que la persona pidió
|
|
266
|
+
* a mano porque la búsqueda automática no la encontró. Si no existe en disco se dice CUÁL
|
|
267
|
+
* se probó: ya es una ruta que cruza el cable (`Herramienta.ruta` para estas dos
|
|
268
|
+
* herramientas), así que repetirla en `detalle` no abre ninguna excepción nueva.
|
|
269
|
+
*/
|
|
270
|
+
const rutaAdbPersonalizada = ajustes.rutaAdb?.trim();
|
|
271
|
+
const adb = rutaAdbPersonalizada !== undefined && rutaAdbPersonalizada !== ""
|
|
272
|
+
? existe(rutaAdbPersonalizada)
|
|
273
|
+
? rutaAdbPersonalizada
|
|
274
|
+
: undefined
|
|
275
|
+
: miraAndroid || miraAndroidEmulador
|
|
276
|
+
? localizar("adb", "platform-tools")
|
|
277
|
+
: undefined;
|
|
213
278
|
if (!miraAndroid && !miraAndroidEmulador) {
|
|
214
279
|
herramientas.push({ nombre: "adb", estado: "desactivada", detalle: APAGADO });
|
|
215
280
|
}
|
|
216
281
|
else if (adb === undefined) {
|
|
217
|
-
const
|
|
282
|
+
const rutaNoEncontrada = rutaAdbPersonalizada !== undefined && rutaAdbPersonalizada !== "";
|
|
283
|
+
// Con una ruta a mano que no existe no se ofrece un comando de instalación: ya se dijo
|
|
284
|
+
// dónde buscar, y proponer `sdkmanager`/`brew` encima sería ignorar lo que se pidió.
|
|
285
|
+
const instalar = rutaNoEncontrada ? undefined : comoInstalar("adb");
|
|
218
286
|
herramientas.push({
|
|
219
287
|
nombre: "adb",
|
|
220
288
|
estado: "no-encontrada",
|
|
221
|
-
detalle:
|
|
289
|
+
detalle: rutaNoEncontrada
|
|
290
|
+
? `la ruta configurada no existe: ${rutaAdbPersonalizada}`
|
|
291
|
+
: "ni en el PATH ni en platform-tools del SDK de Android",
|
|
222
292
|
...(instalar === undefined ? {} : { instalar }),
|
|
223
293
|
});
|
|
224
294
|
}
|
|
@@ -291,16 +361,26 @@ ajustes = {}) {
|
|
|
291
361
|
herramientas.push({ nombre: "adb", estado: "fallo", ruta: adb, detalle: describirFallo(error, TOPES_MS.adb) });
|
|
292
362
|
}
|
|
293
363
|
}
|
|
294
|
-
const
|
|
364
|
+
const rutaEmulatorPersonalizada = ajustes.rutaEmulator?.trim();
|
|
365
|
+
const emulator = rutaEmulatorPersonalizada !== undefined && rutaEmulatorPersonalizada !== ""
|
|
366
|
+
? existe(rutaEmulatorPersonalizada)
|
|
367
|
+
? rutaEmulatorPersonalizada
|
|
368
|
+
: undefined
|
|
369
|
+
: miraAndroidEmulador
|
|
370
|
+
? localizar("emulator", "emulator")
|
|
371
|
+
: undefined;
|
|
295
372
|
if (!miraAndroidEmulador) {
|
|
296
373
|
herramientas.push({ nombre: "emulator", estado: "desactivada", detalle: APAGADO });
|
|
297
374
|
}
|
|
298
375
|
else if (emulator === undefined) {
|
|
299
|
-
const
|
|
376
|
+
const rutaNoEncontrada = rutaEmulatorPersonalizada !== undefined && rutaEmulatorPersonalizada !== "";
|
|
377
|
+
const instalar = rutaNoEncontrada ? undefined : comoInstalar("emulator");
|
|
300
378
|
herramientas.push({
|
|
301
379
|
nombre: "emulator",
|
|
302
380
|
estado: "no-encontrada",
|
|
303
|
-
detalle:
|
|
381
|
+
detalle: rutaNoEncontrada
|
|
382
|
+
? `la ruta configurada no existe: ${rutaEmulatorPersonalizada}`
|
|
383
|
+
: "ni en el PATH ni en la carpeta emulator del SDK de Android; viene con Android Studio",
|
|
304
384
|
...(instalar === undefined ? {} : { instalar }),
|
|
305
385
|
});
|
|
306
386
|
}
|
|
@@ -422,11 +502,14 @@ ajustes = {}) {
|
|
|
422
502
|
*/
|
|
423
503
|
const recetaAndroid = recetaDeEmuladorAndroid(plataforma, {
|
|
424
504
|
brew: enPath("brew") !== undefined,
|
|
505
|
+
// Ya localizado arriba: sin este campo, el primer paso de la receta de Windows —que es
|
|
506
|
+
// justo descargar `adb`— no tendría de qué `hecho` colgarse.
|
|
507
|
+
adb: adb !== undefined,
|
|
425
508
|
sdkmanager: enPath("sdkmanager") !== undefined ||
|
|
426
509
|
localizar("sdkmanager", join("cmdline-tools", "latest", "bin")) !== undefined,
|
|
427
510
|
emulator: emulator !== undefined,
|
|
428
511
|
// El JDK con el que corre `sdkmanager`: sin él, el botón de ejecutar no se ofrece.
|
|
429
|
-
jdk: jdkDeLaMaquina(entorno, existe) !== undefined,
|
|
512
|
+
jdk: jdkDeLaMaquina(entorno, existe, plataforma) !== undefined,
|
|
430
513
|
avds,
|
|
431
514
|
});
|
|
432
515
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispositivosEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/dispositivosEnMaquina.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispositivosEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/dispositivosEnMaquina.ts"],"names":[],"mappings":"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"}
|