xonecode 0.8.37 → 0.8.40
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/cloudstudio/cloudstudioMcp.js +1 -1
- package/dist/agent/cloudstudio/cloudstudioMcp.js.map +1 -1
- package/dist/agent/config/identidadEnDisco.js +29 -0
- package/dist/agent/config/identidadEnDisco.js.map +1 -0
- package/dist/agent/config/modelos.js +33 -7
- package/dist/agent/config/modelos.js.map +1 -1
- 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 +83 -19
- package/dist/agent/dispositivos/dispositivosEnMaquina.js.map +1 -1
- package/dist/agent/dispositivos/instalacionEnMaquina.js +132 -14
- 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/cli/config.js +16 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/main.js +4 -33
- package/dist/cli/main.js.map +1 -1
- package/dist/core/dispositivos.js +126 -6
- package/dist/core/dispositivos.js.map +1 -1
- package/dist/core/identidadDeProveedor.js +77 -0
- package/dist/core/identidadDeProveedor.js.map +1 -0
- package/dist/core/selectorDeCarpeta.js +27 -0
- package/dist/core/selectorDeCarpeta.js.map +1 -1
- package/dist/core/settings.js +46 -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/dist/core/turno.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turno.js","sourceRoot":"","sources":["../../src/core/turno.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"turno.js","sourceRoot":"","sources":["../../src/core/turno.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6DzC,2FAA2F;AAC3F,MAAM,aAAa,GAAyB;IAC1C,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,yBAAyB;IACjD,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,8BAA8B;IAC3C,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,yBAAyB;CACxC,CAAC;AAkCF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAmC,EACnC,IAAU,EACV,WAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAA4B,CAAC;IAEjC,kEAAkE;IAClE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,OAAwB,EAAQ,EAAE;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,OAAO;oBACV,IAAI,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBAER,KAAK,cAAc;oBACjB,iFAAiF;oBACjF,gFAAgF;oBAChF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,gFAAgF;wBAChF,+EAA+E;wBAC/E,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBACD,MAAM;gBAER,KAAK,SAAS;oBACZ,gFAAgF;oBAChF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC/B,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjF,8EAA8E;oBAC9E,4EAA4E;oBAC5E,sDAAsD;oBACtD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM;oBACT,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBAClC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;wBAC/F,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACrG,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACrD,aAAa,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;oBAC1D,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBAER,KAAK,OAAO;oBACV,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjD,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBAER,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC;oBACvE,aAAa,CACX,EAAE,CAAC,KAAK;wBACN,CAAC,CAAC,0BAA0B;wBAC5B,CAAC,CAAC,oBAAoB,EAAE,CAAC,OAAO,eAAe,EAAE,CAAC,MAAM,WAAW,CACtE,CAAC;oBACF,0EAA0E;oBAC1E,sEAAsE;oBACtE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBACpF,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC1G,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,yEAAyE;oBACzE,gFAAgF;oBAChF,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;wBAC3D,aAAa,CAAC,SAAS,EAAE,CAAC,aAAa,sDAAsD,CAAC,CAAC;oBACjG,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,YAAY;oBACf,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,aAAa,CAAC,yBAAyB,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;oBACpE,MAAM;gBAER,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,gFAAgF;oBAChF,8EAA8E;oBAC9E,6EAA6E;oBAC7E,yEAAyE;oBACzE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;oBAC7C,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACpC,aAAa,CAAC,kBAAkB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;oBAClG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBAED,KAAK,WAAW;oBACd,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBACvC,aAAa,CAAC,gBAAgB,EAAE,CAAC,MAAM,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAC1B,MAAM;gBAER,KAAK,OAAO;oBACV,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAClC,0EAA0E;oBAC1E,2EAA2E;oBAC3E,yDAAyD;oBACzD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBAER,KAAK,KAAK;oBACR,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,+DAA+D;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,MAAM;YAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnE,sFAAsF;QACtF,iFAAiF;QACjF,0BAA0B;QAC1B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,wDAAwD;QACxD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,OAAO;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/core/zipDeSkill.js
CHANGED
|
@@ -54,8 +54,15 @@ export function rutaDeZipAceptable(ruta) {
|
|
|
54
54
|
const segmentos = ruta.split("/");
|
|
55
55
|
return segmentos.every((s) => s !== "" && s !== "." && s !== ".." && !/^\s|\s$/.test(s));
|
|
56
56
|
}
|
|
57
|
-
/**
|
|
58
|
-
|
|
57
|
+
/**
|
|
58
|
+
* El único segmento de primer nivel que comparten TODAS las entradas, si lo hay.
|
|
59
|
+
*
|
|
60
|
+
* Exportada porque `agent/dispositivos/descargaDeHerramientas.ts` necesita la MISMA
|
|
61
|
+
* pregunta —¿este zip trae una sola carpeta envolvente?— para el JDK y las cmdline-tools de
|
|
62
|
+
* Android, que hay que renombrar a una ruta fija tras descomprimir: una segunda copia de esto
|
|
63
|
+
* es donde divergiría en silencio.
|
|
64
|
+
*/
|
|
65
|
+
export function carpetaComun(rutas) {
|
|
59
66
|
const primeros = new Set(rutas.map((r) => r.split("/")[0] ?? ""));
|
|
60
67
|
if (primeros.size !== 1)
|
|
61
68
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zipDeSkill.js","sourceRoot":"","sources":["../../src/core/zipDeSkill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEtF,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAmBpC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,yFAAyF;IACzF,4CAA4C;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,wFAAwF;IACxF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,iDAAiD;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"zipDeSkill.js","sourceRoot":"","sources":["../../src/core/zipDeSkill.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,7 @@ import { PLATAFORMAS_DE_DISPOSITIVO } from "../../core/settings.js";
|
|
|
54
54
|
import { instalarHerramientaDeDispositivos, verificarDispositivo } from "../../agent/dispositivos/dispositivosEnMaquina.js";
|
|
55
55
|
import { arrancarEmulador } from "../../agent/dispositivos/arranqueDeEmulador.js";
|
|
56
56
|
import { correrPasoDeReceta } from "../../agent/dispositivos/instalacionEnMaquina.js";
|
|
57
|
+
import { abrirCarpetaDelSistema } from "../../agent/config/selectorEnMaquina.js";
|
|
57
58
|
import { modelosDeMotor } from "../../agent/config/modelosDeMotor.js";
|
|
58
59
|
import { parsear, compatibleConOpenAi, esProveedorPersonalizado, idDeProveedorPersonalizado, motivoDeEndpointInaceptable, motivoDeSlugInaceptable, nombreDeProveedor, PROVEEDORES, slugDesdeNombre, resolver, SIN_CREDENCIAL, PAPELES, } from "../../core/modelos.js";
|
|
59
60
|
import { hayCredencial } from "../../cli/consola.js";
|
|
@@ -1087,10 +1088,16 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
1087
1088
|
* primera. Y la respuesta va a TODOS —la máquina es la misma para todos—.
|
|
1088
1089
|
*/
|
|
1089
1090
|
let informeDeDispositivos;
|
|
1090
|
-
/**
|
|
1091
|
+
/**
|
|
1092
|
+
* La ruta de cada herramienta es una ruta del home del usuario: no sale por el cable —
|
|
1093
|
+
* salvo `adb`/`emulator`, la excepción DECLARADA (igual que el workspace, ver
|
|
1094
|
+
* `AjustesDeDispositivos`): esas dos SÍ la llevan, porque es lo que permite ver dónde se
|
|
1095
|
+
* encontraron y abrir su carpeta. `xcrun`/`devicectl` se quedan sin ella como siempre.
|
|
1096
|
+
*/
|
|
1097
|
+
const sinRuta = ({ ruta: _ruta, ...resto }) => resto;
|
|
1091
1098
|
const sinRutas = (informe) => ({
|
|
1092
1099
|
...informe,
|
|
1093
|
-
herramientas: informe.herramientas.map((
|
|
1100
|
+
herramientas: informe.herramientas.map((h) => (h.nombre === "adb" || h.nombre === "emulator" ? h : sinRuta(h))),
|
|
1094
1101
|
});
|
|
1095
1102
|
/** Los cuatro nombres conocidos y nada más: lo que llega por el cable no elige binario. */
|
|
1096
1103
|
const esNombreDeHerramienta = (v) => v === "adb" || v === "emulator" || v === "xcrun" || v === "devicectl";
|
|
@@ -1501,20 +1508,33 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
1501
1508
|
/**
|
|
1502
1509
|
* Verificar la conexión con UN dispositivo, y volver a emitir la foto con lo que contestó.
|
|
1503
1510
|
*
|
|
1504
|
-
*
|
|
1511
|
+
* Cinco reglas:
|
|
1505
1512
|
* - **El id se resuelve contra la última MEDIDA**, igual que al elegir dispositivo de la
|
|
1506
1513
|
* sesión: lo que se le pasa al verificador es el `Dispositivo` que el host midió, no la
|
|
1507
1514
|
* cadena que llegó. Un id que no está se ignora en silencio — es una foto vieja del
|
|
1508
1515
|
* cliente (desenchufaron el teléfono entre medias), no un error que contar.
|
|
1509
|
-
* - **
|
|
1510
|
-
*
|
|
1516
|
+
* - **Si hay una medida EN VUELO, se espera a que termine antes de mirar.** Entrar en la
|
|
1517
|
+
* sección dispara una remedida (`useMedirAlVolver`) que primero VACÍA `informeDeDispositivos`
|
|
1518
|
+
* y luego mide; un dispositivo que ya estaba arrancado al abrir la ventana se pinta y se
|
|
1519
|
+
* puede pulsar Verificar de inmediato, así que el click cae justo en ese hueco. Medido:
|
|
1520
|
+
* sin esperar, el id nunca se encuentra (el informe está vacío), la petición se pierde EN
|
|
1521
|
+
* SILENCIO y el botón se queda en «Verificando…» para siempre —el propio `disabled` del
|
|
1522
|
+
* botón le quita al usuario hasta la posibilidad de reintentar—. Esperar la medida en
|
|
1523
|
+
* vuelo (o disparar una si no hay ninguna) es gratis: es la MISMA promesa que ya existe,
|
|
1524
|
+
* no una medida de más.
|
|
1525
|
+
* - **NO se vuelve a medir si ya hay foto.** La verificación vive dentro del informe, así
|
|
1526
|
+
* que una medida nueva se la llevaría — justo la que se acaba de hacer.
|
|
1511
1527
|
* - **Solo se toca ESE dispositivo**: las verificaciones de los demás siguen donde
|
|
1512
1528
|
* estaban. Se emite el informe entero porque es el mensaje que hay.
|
|
1513
1529
|
* - **Y viaja a todos los clientes**, como la foto: la máquina es la misma para todos.
|
|
1514
1530
|
*/
|
|
1515
1531
|
const atenderConexion = async (id) => {
|
|
1516
1532
|
const verificar = opciones.verificarDispositivo;
|
|
1517
|
-
if (verificar === undefined
|
|
1533
|
+
if (verificar === undefined)
|
|
1534
|
+
return;
|
|
1535
|
+
if (informeDeDispositivos === undefined)
|
|
1536
|
+
await atenderDispositivos().catch(contar);
|
|
1537
|
+
if (informeDeDispositivos === undefined)
|
|
1518
1538
|
return;
|
|
1519
1539
|
const dispositivo = informeDeDispositivos.dispositivos.find((d) => d.id === id);
|
|
1520
1540
|
if (dispositivo === undefined)
|
|
@@ -3781,6 +3801,13 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
3781
3801
|
if (typeof valor === "boolean")
|
|
3782
3802
|
limpios[plataforma] = valor;
|
|
3783
3803
|
}
|
|
3804
|
+
// Las dos rutas personalizadas, recortadas: una vacía tras el `trim` no se guarda —
|
|
3805
|
+
// es «lo borré», y `AjustesDeDispositivos` ya trata eso como ausente.
|
|
3806
|
+
for (const campo of ["rutaAdb", "rutaEmulator"]) {
|
|
3807
|
+
const valor = pedidos[campo];
|
|
3808
|
+
if (typeof valor === "string" && valor.trim() !== "")
|
|
3809
|
+
limpios[campo] = valor.trim();
|
|
3810
|
+
}
|
|
3784
3811
|
try {
|
|
3785
3812
|
opciones.guardarAjustesDeDispositivos(limpios);
|
|
3786
3813
|
}
|
|
@@ -3788,6 +3815,19 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
3788
3815
|
informar(`no se pudieron guardar los destinos de prueba (${codigoDe(error)})`);
|
|
3789
3816
|
}
|
|
3790
3817
|
}
|
|
3818
|
+
// Abrir carpeta no cambia ningún estado: no remide, y responde en el acto. Va ANTES
|
|
3819
|
+
// del `instalar` porque las dos ramas devuelven pronto y esta no tiene nada que
|
|
3820
|
+
// esperar — ni siquiera al instalador, que si acaso viene en el MISMO mensaje que esto
|
|
3821
|
+
// nunca se manda (son dos botones distintos en la ventana).
|
|
3822
|
+
const aAbrir = mensaje.abrirRuta;
|
|
3823
|
+
if (typeof aAbrir === "string" && esNombreDeHerramienta(aAbrir)) {
|
|
3824
|
+
const ruta = informeDeDispositivos?.herramientas.find((h) => h.nombre === aAbrir)?.ruta;
|
|
3825
|
+
if (ruta !== undefined)
|
|
3826
|
+
opciones.abrirCarpetaDeHerramienta?.(ruta);
|
|
3827
|
+
respuesta.writeHead(204);
|
|
3828
|
+
respuesta.end();
|
|
3829
|
+
return;
|
|
3830
|
+
}
|
|
3791
3831
|
// Instalar va ANTES de medir y por el nombre, nunca por un comando del cliente. Se
|
|
3792
3832
|
// espera a que termine para que la foto de después cuente la verdad: medir mientras
|
|
3793
3833
|
// el instalador corre diría que la herramienta sigue sin estar.
|
|
@@ -4605,6 +4645,7 @@ export async function arrancarConsolaWeb(opciones) {
|
|
|
4605
4645
|
ajustesDeDispositivos: () => cargarSettings().settings.dispositivos ?? {},
|
|
4606
4646
|
guardarAjustesDeDispositivos: (ajustes) => void guardarDispositivos(undefined, ajustes),
|
|
4607
4647
|
instalarHerramienta: instalarHerramientaDeDispositivos,
|
|
4648
|
+
abrirCarpetaDeHerramienta: abrirCarpetaDelSistema,
|
|
4608
4649
|
verificarDispositivo,
|
|
4609
4650
|
// Con la función REAL, y no declarada y sin pasar: es la trampa que este repo ha pagado
|
|
4610
4651
|
// nueve veces, y la que el comentario de justo abajo describe para las cuatro del
|