xonecode 0.5.1 → 0.8.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.
- package/apps/web/dist/assets/{index-BB3SamhR.css → index-Boak51UP.css} +1 -1
- package/apps/web/dist/assets/index-Cg28x6nG.js +477 -0
- package/apps/web/dist/assets/{php-D_2--9WK.js → php-Cu6F_QCJ.js} +1 -1
- package/apps/web/dist/assets/{ruby-DSHSDbk1.js → ruby-BiqQPoC6.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/{cloudstudioClient.js → cloudstudio/cloudstudioClient.js} +10 -0
- package/dist/agent/cloudstudio/cloudstudioClient.js.map +1 -0
- package/dist/agent/{cloudstudioMcp.js → cloudstudio/cloudstudioMcp.js} +5 -5
- package/dist/agent/cloudstudio/cloudstudioMcp.js.map +1 -0
- package/dist/agent/{descarga.js → cloudstudio/descarga.js} +17 -7
- package/dist/agent/cloudstudio/descarga.js.map +1 -0
- package/dist/agent/cloudstudio/manifiesto.js.map +1 -0
- package/dist/agent/cloudstudio/ramaActiva.js +11 -0
- package/dist/agent/cloudstudio/ramaActiva.js.map +1 -0
- package/dist/agent/{subida.js → cloudstudio/subida.js} +16 -7
- package/dist/agent/cloudstudio/subida.js.map +1 -0
- package/dist/agent/{zip.js → cloudstudio/zip.js} +1 -1
- package/dist/agent/cloudstudio/zip.js.map +1 -0
- package/dist/agent/{authEnDisco.js → config/authEnDisco.js} +3 -3
- package/dist/agent/config/authEnDisco.js.map +1 -0
- package/dist/agent/{catalogoModelos.js → config/catalogoModelos.js} +47 -1
- package/dist/agent/config/catalogoModelos.js.map +1 -0
- package/dist/agent/{configEnDisco.js → config/configEnDisco.js} +6 -6
- package/dist/agent/config/configEnDisco.js.map +1 -0
- package/dist/agent/{crearProyecto.js → config/crearProyecto.js} +2 -2
- package/dist/agent/config/crearProyecto.js.map +1 -0
- package/dist/agent/config/entorno.js.map +1 -0
- package/dist/agent/config/gemini.js.map +1 -0
- package/dist/agent/config/modelos.js +235 -0
- package/dist/agent/config/modelos.js.map +1 -0
- package/dist/agent/{modelosDeMotor.js → config/modelosDeMotor.js} +1 -1
- package/dist/agent/config/modelosDeMotor.js.map +1 -0
- package/dist/agent/config/mudanzaEnDisco.js +121 -0
- package/dist/agent/config/mudanzaEnDisco.js.map +1 -0
- package/dist/agent/{persona.js → config/persona.js} +1 -1
- package/dist/agent/config/persona.js.map +1 -0
- package/dist/agent/config/selectorEnMaquina.js +45 -0
- package/dist/agent/config/selectorEnMaquina.js.map +1 -0
- package/dist/agent/{settingsEnDisco.js → config/settingsEnDisco.js} +37 -2
- package/dist/agent/config/settingsEnDisco.js.map +1 -0
- package/dist/agent/{versionEnDisco.js → config/versionEnDisco.js} +8 -4
- package/dist/agent/config/versionEnDisco.js.map +1 -0
- package/dist/agent/dispositivos/arranqueDeEmulador.js +146 -0
- package/dist/agent/dispositivos/arranqueDeEmulador.js.map +1 -0
- package/dist/agent/{dispositivosEnMaquina.js → dispositivos/dispositivosEnMaquina.js} +93 -6
- package/dist/agent/dispositivos/dispositivosEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/hotswap.js.map +1 -0
- package/dist/agent/dispositivos/instalacionEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/juezVisual.js +152 -0
- package/dist/agent/dispositivos/juezVisual.js.map +1 -0
- package/dist/agent/{lanzamientoEnMaquina.js → dispositivos/lanzamientoEnMaquina.js} +1 -1
- package/dist/agent/dispositivos/lanzamientoEnMaquina.js.map +1 -0
- package/dist/agent/{paqueteDelProyecto.js → dispositivos/paqueteDelProyecto.js} +5 -5
- package/dist/agent/dispositivos/paqueteDelProyecto.js.map +1 -0
- package/dist/agent/dispositivos/procesosEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/sensorDeArranque.js +154 -0
- package/dist/agent/dispositivos/sensorDeArranque.js.map +1 -0
- package/dist/agent/exportarPdf.js +140 -0
- package/dist/agent/exportarPdf.js.map +1 -0
- package/dist/agent/{arbolDeProyecto.js → grafo/arbolDeProyecto.js} +2 -2
- package/dist/agent/grafo/arbolDeProyecto.js.map +1 -0
- package/dist/agent/{artefactosEnDisco.js → grafo/artefactosEnDisco.js} +2 -2
- package/dist/agent/grafo/artefactosEnDisco.js.map +1 -0
- package/dist/agent/{busquedaRegex.js → grafo/busquedaRegex.js} +41 -1
- package/dist/agent/grafo/busquedaRegex.js.map +1 -0
- package/dist/agent/grafo/criticaVisual.js +115 -0
- package/dist/agent/grafo/criticaVisual.js.map +1 -0
- package/dist/agent/grafo/excluirTools.js +82 -0
- package/dist/agent/grafo/excluirTools.js.map +1 -0
- package/dist/agent/{memoriaDeProyecto.js → grafo/memoriaDeProyecto.js} +1 -1
- package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -0
- package/dist/agent/grafo/navegacionXone.js +231 -0
- package/dist/agent/grafo/navegacionXone.js.map +1 -0
- package/dist/agent/{perfiles.js → grafo/perfiles.js} +96 -10
- package/dist/agent/grafo/perfiles.js.map +1 -0
- package/dist/agent/{proyecto.js → grafo/proyecto.js} +274 -24
- package/dist/agent/grafo/proyecto.js.map +1 -0
- package/dist/agent/grafo/skills.js +425 -0
- package/dist/agent/grafo/skills.js.map +1 -0
- package/dist/agent/grafo/xoneAgent.js +566 -0
- package/dist/agent/grafo/xoneAgent.js.map +1 -0
- package/dist/agent/navegacion/estilosEnDisco.js +110 -0
- package/dist/agent/navegacion/estilosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/hechosEnDisco.js +26 -0
- package/dist/agent/navegacion/hechosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/indiceEnDisco.js +36 -0
- package/dist/agent/navegacion/indiceEnDisco.js.map +1 -0
- package/dist/agent/navegacion/modeloDeProyecto.js +228 -0
- package/dist/agent/navegacion/modeloDeProyecto.js.map +1 -0
- package/dist/agent/raizDelPaquete.js +56 -0
- package/dist/agent/raizDelPaquete.js.map +1 -0
- package/dist/agent/{checkpointer.js → sesiones/checkpointer.js} +1 -1
- package/dist/agent/sesiones/checkpointer.js.map +1 -0
- package/dist/agent/sesiones/git.js.map +1 -0
- package/dist/agent/{gitSync.js → sesiones/gitSync.js} +3 -3
- package/dist/agent/sesiones/gitSync.js.map +1 -0
- package/dist/agent/{sesionGit.js → sesiones/sesionGit.js} +2 -2
- package/dist/agent/sesiones/sesionGit.js.map +1 -0
- package/dist/agent/subagentes/agentesEnDisco.js +818 -0
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -0
- package/dist/agent/subagentes/consumoExterno.js.map +1 -0
- package/dist/agent/subagentes/escrituraDeCodex.js.map +1 -0
- package/dist/agent/{escrituraDeOpencode.js → subagentes/escrituraDeOpencode.js} +1 -1
- package/dist/agent/subagentes/escrituraDeOpencode.js.map +1 -0
- package/dist/agent/{escrituraExterna.js → subagentes/escrituraExterna.js} +59 -6
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -0
- package/dist/agent/subagentes/pluginDeSkills.js +99 -0
- package/dist/agent/subagentes/pluginDeSkills.js.map +1 -0
- package/dist/agent/subagentes/subagenteCodex.js.map +1 -0
- package/dist/agent/{subagenteExterno.js → subagentes/subagenteExterno.js} +48 -0
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -0
- package/dist/agent/{subagenteOpencode.js → subagentes/subagenteOpencode.js} +53 -1
- package/dist/agent/subagentes/subagenteOpencode.js.map +1 -0
- package/dist/agent/{aumentador.js → tareas/aumentador.js} +2 -2
- package/dist/agent/tareas/aumentador.js.map +1 -0
- package/dist/agent/{juezDeTarea.js → tareas/juezDeTarea.js} +6 -6
- package/dist/agent/tareas/juezDeTarea.js.map +1 -0
- package/dist/agent/{tareasEnDisco.js → tareas/tareasEnDisco.js} +53 -4
- package/dist/agent/tareas/tareasEnDisco.js.map +1 -0
- package/dist/agent/{diagnosticoDeTools.js → turno/diagnosticoDeTools.js} +5 -1
- package/dist/agent/turno/diagnosticoDeTools.js.map +1 -0
- package/dist/agent/{guionizado.js → turno/guionizado.js} +1 -1
- package/dist/agent/turno/guionizado.js.map +1 -0
- package/dist/agent/turno/informeDeTraza.js +245 -0
- package/dist/agent/turno/informeDeTraza.js.map +1 -0
- package/dist/agent/turno/inspectorDePrompt.js +205 -0
- package/dist/agent/turno/inspectorDePrompt.js.map +1 -0
- package/dist/agent/{instantanea.js → turno/instantanea.js} +7 -2
- package/dist/agent/turno/instantanea.js.map +1 -0
- package/dist/agent/{interrupts.js → turno/interrupts.js} +2 -2
- package/dist/agent/turno/interrupts.js.map +1 -0
- package/dist/agent/turno/mensajes.js.map +1 -0
- package/dist/agent/turno/normalizar.js.map +1 -0
- package/dist/agent/{puente.js → turno/puente.js} +71 -4
- package/dist/agent/turno/puente.js.map +1 -0
- package/dist/agent/turno/resumenDeContexto.js +260 -0
- package/dist/agent/turno/resumenDeContexto.js.map +1 -0
- package/dist/agent/{resumenDeTool.js → turno/resumenDeTool.js} +33 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -0
- package/dist/agent/turno/rubrica.js +91 -0
- package/dist/agent/turno/rubrica.js.map +1 -0
- package/dist/agent/turno/textoDeTool.js.map +1 -0
- package/dist/agent/{turnoReal.js → turno/turnoReal.js} +210 -25
- package/dist/agent/turno/turnoReal.js.map +1 -0
- package/dist/agent/turno/verificador.js.map +1 -0
- package/dist/cli/config.js +1 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/consola.js +72 -9
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/describe.js +2 -2
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/doctor.js +1 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/fuentesDeDisco.js +29 -0
- package/dist/cli/fuentesDeDisco.js.map +1 -0
- package/dist/cli/main.js +87 -31
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/run.js +40 -10
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/traza.js +48 -0
- package/dist/cli/traza.js.map +1 -0
- package/dist/cli/tui/correrTui.js +4 -4
- package/dist/cli/tui/correrTui.js.map +1 -1
- package/dist/cli/verify.js +1 -1
- package/dist/cli/verify.js.map +1 -1
- package/dist/core/actos.js +1 -1
- package/dist/core/adjuntos.js +2 -2
- package/dist/core/agentes.js +247 -7
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/artefactos.js +4 -4
- package/dist/core/config.js +1 -1
- package/dist/core/contextos.js +12 -1
- package/dist/core/contextos.js.map +1 -1
- package/dist/core/descargas.js +1 -1
- package/dist/core/dispositivos.js +53 -3
- package/dist/core/dispositivos.js.map +1 -1
- package/dist/core/esfuerzo.js +141 -0
- package/dist/core/esfuerzo.js.map +1 -0
- package/dist/core/esqueleto.js +1 -1
- package/dist/core/estilos.js +78 -0
- package/dist/core/estilos.js.map +1 -0
- package/dist/core/exportacion.js +140 -0
- package/dist/core/exportacion.js.map +1 -0
- package/dist/core/hechosDelProyecto.js +87 -0
- package/dist/core/hechosDelProyecto.js.map +1 -0
- package/dist/core/logDeDispositivo.js +143 -0
- package/dist/core/logDeDispositivo.js.map +1 -0
- package/dist/core/modelos.js +48 -3
- package/dist/core/modelos.js.map +1 -1
- package/dist/core/mudanzaDeWorkspace.js +93 -0
- package/dist/core/mudanzaDeWorkspace.js.map +1 -0
- package/dist/core/navegacion.js +134 -0
- package/dist/core/navegacion.js.map +1 -0
- package/dist/core/notify.js +5 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/planDeSubida.js +1 -1
- package/dist/core/planes.js +70 -0
- package/dist/core/planes.js.map +1 -0
- package/dist/core/ports.js +4 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/rubrica.js +90 -0
- package/dist/core/rubrica.js.map +1 -0
- package/dist/core/selectorDeCarpeta.js +87 -0
- package/dist/core/selectorDeCarpeta.js.map +1 -0
- package/dist/core/settings.js +56 -7
- package/dist/core/settings.js.map +1 -1
- package/dist/core/shellDeAgente.js +144 -0
- package/dist/core/shellDeAgente.js.map +1 -0
- package/dist/core/skills.js +158 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/topeAgotado.js +69 -0
- package/dist/core/topeAgotado.js.map +1 -0
- package/dist/core/zipDeSkill.js +107 -0
- package/dist/core/zipDeSkill.js.map +1 -0
- package/dist/web/servidor/arranque.js +853 -54
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/corredorDeTareas.js +3 -3
- package/dist/web/servidor/corredorDeTareas.js.map +1 -1
- package/dist/web/servidor/sesiones.js +34 -6
- package/dist/web/servidor/sesiones.js.map +1 -1
- package/dist/web/servidor/transporte.js +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +62 -13
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/package.json +7 -4
- package/skills/archify/SKILL.md +25 -2
- package/skills/artifacts-builder/SKILL.md +23 -0
- package/skills/xone-hotswap/SKILL.md +96 -0
- package/skills/xone-hotswap/scripts/xone-arrancar-android +202 -0
- package/skills/xone-hotswap/scripts/xone-arrancar-ios +85 -0
- package/skills/xone-hotswap/scripts/xone-captura-android +93 -0
- package/skills/xone-hotswap/scripts/xone-desplegar-android +439 -0
- package/skills/xone-hotswap/scripts/xone-hotswap +201 -0
- package/skills/xone-hotswap/scripts/xone-log-android +102 -0
- package/skills/xone-hotswap/scripts/xone-reiniciar-android +132 -0
- package/skills/xone-plan-builder/SKILL.md +22 -4
- package/skills/xone-spec-builder/SKILL.md +37 -7
- package/apps/web/dist/assets/index-CFYAoHdw.js +0 -477
- package/dist/agent/agentesEnDisco.js +0 -539
- package/dist/agent/agentesEnDisco.js.map +0 -1
- package/dist/agent/arbolDeProyecto.js.map +0 -1
- package/dist/agent/artefactosEnDisco.js.map +0 -1
- package/dist/agent/aumentador.js.map +0 -1
- package/dist/agent/authEnDisco.js.map +0 -1
- package/dist/agent/busquedaRegex.js.map +0 -1
- package/dist/agent/catalogoModelos.js.map +0 -1
- package/dist/agent/checkpointer.js.map +0 -1
- package/dist/agent/cloudstudioClient.js.map +0 -1
- package/dist/agent/cloudstudioMcp.js.map +0 -1
- package/dist/agent/configEnDisco.js.map +0 -1
- package/dist/agent/consumoExterno.js.map +0 -1
- package/dist/agent/crearProyecto.js.map +0 -1
- package/dist/agent/descarga.js.map +0 -1
- package/dist/agent/diagnosticoDeTools.js.map +0 -1
- package/dist/agent/dispositivosEnMaquina.js.map +0 -1
- package/dist/agent/entorno.js.map +0 -1
- package/dist/agent/escrituraDeCodex.js.map +0 -1
- package/dist/agent/escrituraDeOpencode.js.map +0 -1
- package/dist/agent/escrituraExterna.js.map +0 -1
- package/dist/agent/gemini.js.map +0 -1
- package/dist/agent/git.js.map +0 -1
- package/dist/agent/gitSync.js.map +0 -1
- package/dist/agent/guionizado.js.map +0 -1
- package/dist/agent/hotswap.js.map +0 -1
- package/dist/agent/instalacionEnMaquina.js.map +0 -1
- package/dist/agent/instantanea.js.map +0 -1
- package/dist/agent/interrupts.js.map +0 -1
- package/dist/agent/juezDeTarea.js.map +0 -1
- package/dist/agent/lanzamientoEnMaquina.js.map +0 -1
- package/dist/agent/manifiesto.js.map +0 -1
- package/dist/agent/memoriaDeProyecto.js.map +0 -1
- package/dist/agent/mensajes.js.map +0 -1
- package/dist/agent/modelos.js +0 -130
- package/dist/agent/modelos.js.map +0 -1
- package/dist/agent/modelosDeMotor.js.map +0 -1
- package/dist/agent/normalizar.js.map +0 -1
- package/dist/agent/paqueteDelProyecto.js.map +0 -1
- package/dist/agent/perfiles.js.map +0 -1
- package/dist/agent/persona.js.map +0 -1
- package/dist/agent/procesosEnMaquina.js.map +0 -1
- package/dist/agent/proyecto.js.map +0 -1
- package/dist/agent/puente.js.map +0 -1
- package/dist/agent/resumenDeContexto.js +0 -30
- package/dist/agent/resumenDeContexto.js.map +0 -1
- package/dist/agent/resumenDeTool.js.map +0 -1
- package/dist/agent/sesionGit.js.map +0 -1
- package/dist/agent/settingsEnDisco.js.map +0 -1
- package/dist/agent/skills.js +0 -65
- package/dist/agent/skills.js.map +0 -1
- package/dist/agent/subagenteCodex.js.map +0 -1
- package/dist/agent/subagenteExterno.js.map +0 -1
- package/dist/agent/subagenteOpencode.js.map +0 -1
- package/dist/agent/subida.js.map +0 -1
- package/dist/agent/tareasEnDisco.js.map +0 -1
- package/dist/agent/textoDeTool.js.map +0 -1
- package/dist/agent/turnoReal.js.map +0 -1
- package/dist/agent/verificador.js.map +0 -1
- package/dist/agent/versionEnDisco.js.map +0 -1
- package/dist/agent/xoneAgent.js +0 -347
- package/dist/agent/xoneAgent.js.map +0 -1
- package/dist/agent/zip.js.map +0 -1
- /package/dist/agent/{manifiesto.js → cloudstudio/manifiesto.js} +0 -0
- /package/dist/agent/{entorno.js → config/entorno.js} +0 -0
- /package/dist/agent/{gemini.js → config/gemini.js} +0 -0
- /package/dist/agent/{hotswap.js → dispositivos/hotswap.js} +0 -0
- /package/dist/agent/{instalacionEnMaquina.js → dispositivos/instalacionEnMaquina.js} +0 -0
- /package/dist/agent/{procesosEnMaquina.js → dispositivos/procesosEnMaquina.js} +0 -0
- /package/dist/agent/{git.js → sesiones/git.js} +0 -0
- /package/dist/agent/{consumoExterno.js → subagentes/consumoExterno.js} +0 -0
- /package/dist/agent/{escrituraDeCodex.js → subagentes/escrituraDeCodex.js} +0 -0
- /package/dist/agent/{subagenteCodex.js → subagentes/subagenteCodex.js} +0 -0
- /package/dist/agent/{mensajes.js → turno/mensajes.js} +0 -0
- /package/dist/agent/{normalizar.js → turno/normalizar.js} +0 -0
- /package/dist/agent/{textoDeTool.js → turno/textoDeTool.js} +0 -0
- /package/dist/agent/{verificador.js → turno/verificador.js} +0 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arrancar un emulador de Android desde xonecode.
|
|
3
|
+
*
|
|
4
|
+
* Hasta ahora la receta lo confesaba —«para arrancarlo: `emulator -avd pixel8`… arrancarlo
|
|
5
|
+
* desde esta ventana todavía no está cableado»— y la interfaz no prometía botón. Esto es ese
|
|
6
|
+
* botón, y tiene dos particularidades que lo separan de todo lo demás de esta pantalla.
|
|
7
|
+
*
|
|
8
|
+
* **1. Un emulador no TERMINA, así que no puede ocupar la ranura del único trabajo.** La
|
|
9
|
+
* receta de instalación corre con `crearEjecutor`, que vigila el silencio y espera el cierre
|
|
10
|
+
* del proceso (`TOPE_SIN_SALIDA_MS`); un emulador se queda vivo por definición, así que por
|
|
11
|
+
* ahí bloquearía la máquina para siempre. Se lanza DESPEGADO y no se espera su cierre: lo que
|
|
12
|
+
* se espera es que el aparato APAREZCA.
|
|
13
|
+
*
|
|
14
|
+
* **2. «Lanzado» y «arrancado» son dos cosas, y manda la MEDIDA.** Es la misma disciplina que
|
|
15
|
+
* ya aplica la receta —«la foto nueva dice si el paso quedó hecho, no el código de salida»— y
|
|
16
|
+
* aquí es más literal todavía: `emulator` devuelve el control enseguida y la ventana de Android
|
|
17
|
+
* tarda en aparecer. Así que se sondea `adb devices` hasta que el emulador contesta con SU
|
|
18
|
+
* nombre de AVD, que es el único dato que lo ata a lo que se pidió arrancar
|
|
19
|
+
* (`core/dispositivos.ts#nombreDeAvdDeConsola`). Sin esa comprobación, arrancar `pixel8`
|
|
20
|
+
* mientras otro emulador se levantaba diría «ya está» por el aparato equivocado.
|
|
21
|
+
*/
|
|
22
|
+
import { localizadorDeAndroid, TOPES_MS } from "./dispositivosEnMaquina.js";
|
|
23
|
+
import { lanzarReal } from "./procesosEnMaquina.js";
|
|
24
|
+
import { nombreDeAvdDeConsola, parsearAdbDevices } from "../../core/dispositivos.js";
|
|
25
|
+
import { existsSync } from "node:fs";
|
|
26
|
+
import { execFile } from "node:child_process";
|
|
27
|
+
/**
|
|
28
|
+
* Cuánto se espera a que el aparato aparezca.
|
|
29
|
+
*
|
|
30
|
+
* Un arranque en frío de un AVD con `google_apis` tarda decenas de segundos en esta máquina, y
|
|
31
|
+
* con la caché del sistema fría bastante más. Generoso a propósito: cortar pronto diría «no
|
|
32
|
+
* arrancó» de un emulador que estaba arrancando, que es la mentira que este sondeo existe para
|
|
33
|
+
* evitar. Y el proceso sigue vivo cuando el plazo vence — lo que se acota es la ESPERA, no el
|
|
34
|
+
* trabajo, igual que en el resto del repo.
|
|
35
|
+
*/
|
|
36
|
+
export const TOPE_DE_ARRANQUE_MS = 180_000;
|
|
37
|
+
/** Cada cuánto se pregunta. `adb devices` es barato una vez que el demonio está en marcha. */
|
|
38
|
+
export const ESPERA_ENTRE_SONDEOS_MS = 2_000;
|
|
39
|
+
/**
|
|
40
|
+
* Arranca el AVD `avd` y espera a que el aparato aparezca.
|
|
41
|
+
*
|
|
42
|
+
* **Nunca lanza**: un botón de esta ventana no puede tumbar el cable, así que todo sale por
|
|
43
|
+
* `ResultadoDeArranque` con su línea.
|
|
44
|
+
*/
|
|
45
|
+
export async function arrancarEmulador(avd, deps = {}) {
|
|
46
|
+
/**
|
|
47
|
+
* El nombre del AVD se convierte en un ARGUMENTO de proceso, así que se cierra por forma y
|
|
48
|
+
* no por confianza: la misma clase que acepta `nombreDeAvdDeConsola` —lo que puede ser una
|
|
49
|
+
* carpeta de `~/.android/avd`— y nada más. Quien llama además comprueba que ese AVD esté en
|
|
50
|
+
* la última medida; esto es la segunda llave, y está aquí porque este módulo es el que
|
|
51
|
+
* ejecuta.
|
|
52
|
+
*/
|
|
53
|
+
// Ojo al guion INICIAL: `-avd` pasaba la clase de caracteres y `emulator` lo habría tomado
|
|
54
|
+
// por una bandera suya. Lo cazó el propio test de esta función, que es la razón de que la
|
|
55
|
+
// lista de nombres malos incluya uno que parece inofensivo.
|
|
56
|
+
if (!/^[A-Za-z0-9._][A-Za-z0-9._-]*$/.test(avd)) {
|
|
57
|
+
return { ok: false, detalle: `«${avd}» no es un nombre de AVD` };
|
|
58
|
+
}
|
|
59
|
+
const plataforma = deps.plataforma ?? process.platform;
|
|
60
|
+
const entorno = deps.entorno ?? process.env;
|
|
61
|
+
const home = deps.home ?? process.env.HOME ?? "";
|
|
62
|
+
const existe = deps.existe ?? ((ruta) => existeDeVerdad(ruta));
|
|
63
|
+
const ejecutar = deps.ejecutar ?? ejecutarDeVerdad;
|
|
64
|
+
const lanzar = deps.lanzar ?? lanzarReal;
|
|
65
|
+
// `ahora` es el de `DependenciasDeDeteccion` y devuelve `Date`: se reusa en vez de declarar
|
|
66
|
+
// un segundo reloj con otra forma en el mismo árbol.
|
|
67
|
+
const ahora = () => (deps.ahora ?? (() => new Date()))().getTime();
|
|
68
|
+
const esperar = deps.esperar ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
69
|
+
const { enSdk } = localizadorDeAndroid({ plataforma, entorno, home, existe });
|
|
70
|
+
const emulator = enSdk("emulator", "emulator");
|
|
71
|
+
if (emulator === undefined) {
|
|
72
|
+
return { ok: false, detalle: "no encuentro «emulator»: ni en el PATH ni en la carpeta emulator del SDK" };
|
|
73
|
+
}
|
|
74
|
+
const adb = enSdk("adb", "platform-tools");
|
|
75
|
+
if (adb === undefined) {
|
|
76
|
+
// Sin adb se podría lanzar a ciegas, y entonces no habría forma de decir si arrancó: la
|
|
77
|
+
// medida es la que manda, así que sin medida no se promete nada.
|
|
78
|
+
return { ok: false, detalle: "no encuentro «adb», así que no podría comprobar si arranca" };
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const hijo = lanzar(emulator, ["-avd", avd], { env: { ...entorno } });
|
|
82
|
+
// No se lee su salida ni se espera su cierre: es un demonio. Pero SÍ se escucha el
|
|
83
|
+
// `error` del propio spawn —un binario que no se puede ejecutar— porque eso sí es un
|
|
84
|
+
// fallo del arranque y no del emulador.
|
|
85
|
+
let fallo;
|
|
86
|
+
hijo.on("error", ((e) => {
|
|
87
|
+
fallo = e instanceof Error ? e.message : String(e);
|
|
88
|
+
}));
|
|
89
|
+
// Una vuelta de sondeo mínima antes de mirar el `error`: el `spawn` lo emite asíncrono.
|
|
90
|
+
await esperar(ESPERA_ENTRE_SONDEOS_MS);
|
|
91
|
+
if (fallo !== undefined)
|
|
92
|
+
return { ok: false, detalle: `no pude lanzar el emulador: ${fallo}` };
|
|
93
|
+
const t0 = ahora();
|
|
94
|
+
while (ahora() - t0 < TOPE_DE_ARRANQUE_MS) {
|
|
95
|
+
if (await estaArrancado(avd, adb, ejecutar)) {
|
|
96
|
+
return { ok: true, detalle: `${avd} arrancado` };
|
|
97
|
+
}
|
|
98
|
+
await esperar(ESPERA_ENTRE_SONDEOS_MS);
|
|
99
|
+
}
|
|
100
|
+
// El proceso sigue vivo: se dice lo que se sabe, que es que todavía no aparece.
|
|
101
|
+
return {
|
|
102
|
+
ok: false,
|
|
103
|
+
detalle: `${avd} no ha aparecido todavía; sigue arrancando — vuelve a mirar en un rato`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
return { ok: false, detalle: error instanceof Error ? error.message : String(error) };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** ¿Hay ya un emulador conectado que diga ser ESE AVD? */
|
|
111
|
+
async function estaArrancado(avd, adb, ejecutar) {
|
|
112
|
+
let lista;
|
|
113
|
+
try {
|
|
114
|
+
lista = await ejecutar(adb, ["devices", "-l"], { timeout: TOPES_MS.adb });
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// adb puede estar arrancando su demonio: no es un fallo del arranque, es un sondeo más.
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
for (const d of parsearAdbDevices(lista.stdout)) {
|
|
121
|
+
if (d.clase !== "emulador" || d.estado !== "conectado")
|
|
122
|
+
continue;
|
|
123
|
+
try {
|
|
124
|
+
const { stdout } = await ejecutar(adb, ["-s", d.id, "emu", "avd", "name"], { timeout: TOPES_MS.adb });
|
|
125
|
+
if (nombreDeAvdDeConsola(stdout) === avd)
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Ese emulador no contesta todavía. Se sigue con los demás.
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
/* Los dos accesos reales, aparte para que los tests no necesiten ni disco ni procesos. */
|
|
135
|
+
const existeDeVerdad = (ruta) => existsSync(ruta);
|
|
136
|
+
const ejecutarDeVerdad = (binario, args, opciones) => {
|
|
137
|
+
return new Promise((resolver, rechazar) => {
|
|
138
|
+
execFile(binario, args, { timeout: opciones.timeout }, (error, stdout, stderr) => {
|
|
139
|
+
if (error !== null)
|
|
140
|
+
rechazar(error);
|
|
141
|
+
else
|
|
142
|
+
resolver({ stdout, stderr });
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=arranqueDeEmulador.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arranqueDeEmulador.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/arranqueDeEmulador.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,8 @@ import { readFile, rm } from "node:fs/promises";
|
|
|
33
33
|
import { homedir, tmpdir } from "node:os";
|
|
34
34
|
import { delimiter, join } from "node:path";
|
|
35
35
|
import { promisify } from "node:util";
|
|
36
|
-
import { seMira } from "
|
|
37
|
-
import { recetaDeEmuladorAndroid, recetaDeSimuladorIos, parsearRuntimesDeIos, parsearAdbDevices, parsearAvds, parsearDevicectl, parsearSimctl, motivoDeSimctl, plataformaDe, sistemaDe, } from "
|
|
36
|
+
import { seMira } from "../../core/settings.js";
|
|
37
|
+
import { recetaDeEmuladorAndroid, recetaDeSimuladorIos, parsearRuntimesDeIos, parsearAdbDevices, nombreDeAvdDeConsola, motivoDeVerificacion, parsearAvds, parsearDevicectl, parsearSimctl, motivoDeSimctl, plataformaDe, sistemaDe, } from "../../core/dispositivos.js";
|
|
38
38
|
const ejecutarReal = promisify(execFile);
|
|
39
39
|
/** Cuánto se espera a cada herramienta antes de darla por colgada. */
|
|
40
40
|
export const TOPES_MS = {
|
|
@@ -70,7 +70,7 @@ const RAICES_DE_SDK_POR_OMISION = {
|
|
|
70
70
|
* PATH.
|
|
71
71
|
*
|
|
72
72
|
* Se extrajo de `detectarDispositivos` cuando el EJECUTOR de la receta
|
|
73
|
-
* (`agent/instalacionEnMaquina.ts`) necesitó lo mismo: lanzar `sdkmanager` pide saber dónde
|
|
73
|
+
* (`agent/dispositivos/instalacionEnMaquina.ts`) necesitó lo mismo: lanzar `sdkmanager` pide saber dónde
|
|
74
74
|
* está el SDK y qué JDK usar, y una segunda copia de esta búsqueda habría divergido el
|
|
75
75
|
* primer día — con el síntoma peor posible, que el panel encontrara el SDK y el botón no.
|
|
76
76
|
*
|
|
@@ -127,6 +127,30 @@ export function jdkDeLaMaquina(entorno, existe) {
|
|
|
127
127
|
}
|
|
128
128
|
return undefined;
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* De qué AVD es un emulador, preguntando por sus DOS caminos.
|
|
132
|
+
*
|
|
133
|
+
* La consola primero —es el emulador mismo contestando, y no depende de la imagen— y
|
|
134
|
+
* `getprop ro.boot.qemu.avd_name` de respaldo. Nunca lanza: `undefined` es «no se pudo
|
|
135
|
+
* identificar», y quien empareja lo trata como desconocido y no como «ese AVD está apagado».
|
|
136
|
+
*/
|
|
137
|
+
async function nombreDeAvdDe(serial, adb, ejecutar) {
|
|
138
|
+
for (const args of [
|
|
139
|
+
["-s", serial, "emu", "avd", "name"],
|
|
140
|
+
["-s", serial, "shell", "getprop", "ro.boot.qemu.avd_name"],
|
|
141
|
+
]) {
|
|
142
|
+
try {
|
|
143
|
+
const { stdout } = await ejecutar(adb, args, { timeout: TOPES_MS.adb });
|
|
144
|
+
const avd = nombreDeAvdDeConsola(stdout);
|
|
145
|
+
if (avd !== undefined)
|
|
146
|
+
return avd;
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Ese camino no contesta: se prueba el otro.
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
130
154
|
export async function detectarDispositivos(deps = {},
|
|
131
155
|
/** Qué destinos se miran. Ausente = todos (`core/settings.ts#seMira`). */
|
|
132
156
|
ajustes = {}) {
|
|
@@ -201,7 +225,66 @@ ajustes = {}) {
|
|
|
201
225
|
else {
|
|
202
226
|
try {
|
|
203
227
|
const { stdout } = await ejecutar(adb, ["devices", "-l"], { timeout: TOPES_MS.adb });
|
|
204
|
-
|
|
228
|
+
const deAdb = parsearAdbDevices(stdout);
|
|
229
|
+
/**
|
|
230
|
+
* **De qué AVD es cada emulador en marcha**, que es lo único que `adb devices` no dice
|
|
231
|
+
* y sin lo cual el AVD arrancado se listaba además como apagado.
|
|
232
|
+
*
|
|
233
|
+
* Un proceso por emulador CONECTADO —hoy, en esta máquina, uno—, y solo por esos: un
|
|
234
|
+
* emulador `offline` o sin autorizar no va a contestar, así que preguntarle sería
|
|
235
|
+
* comerse un tope por fila. Es la misma disciplina que el resto de esta pantalla, donde
|
|
236
|
+
* medir cuesta procesos en el equipo de quien la mira.
|
|
237
|
+
*
|
|
238
|
+
* El fallo NO es un fallo de `adb`: la herramienta contestó y la lista es buena. Lo que
|
|
239
|
+
* queda sin saberse es de qué AVD es ese emulador, y eso se dice dejando el campo
|
|
240
|
+
* ausente — que es lo que `nombreDeAvdDeConsola` devuelve ante cualquier respuesta rara.
|
|
241
|
+
*/
|
|
242
|
+
for (const d of deAdb) {
|
|
243
|
+
if (d.clase !== "emulador" || d.estado !== "conectado")
|
|
244
|
+
continue;
|
|
245
|
+
try {
|
|
246
|
+
/**
|
|
247
|
+
* **Dos fuentes, y la segunda no es lujo.** La consola del emulador (`emu avd
|
|
248
|
+
* name`) es el dato autoritativo, pero es UN canal: mientras el bucle de «Arrancar»
|
|
249
|
+
* la sondea esperando a que el aparato aparezca, una medida que pregunte a la vez se
|
|
250
|
+
* lleva un error — y sin `avd` la fila no se puede atribuir, así que el AVD volvía a
|
|
251
|
+
* salir DUPLICADO («sdk gphone64 arm64 · arrancado» y «pixel8 · apagado» a la vez).
|
|
252
|
+
* Medido en la pantalla del usuario justo después de pulsar el botón.
|
|
253
|
+
*
|
|
254
|
+
* `ro.boot.qemu.avd_name` contesta lo mismo (medido segundo a segundo en un arranque
|
|
255
|
+
* en frío: los dos dicen `pixel8` en cuanto adb da el aparato por `device`) y es otro
|
|
256
|
+
* camino — el de la propiedad de la imagen—, así que los dos fallan por cosas
|
|
257
|
+
* distintas. Se pregunta primero a la consola porque no depende de la imagen.
|
|
258
|
+
*/
|
|
259
|
+
const avd = await nombreDeAvdDe(d.id, adb, ejecutar);
|
|
260
|
+
if (avd !== undefined) {
|
|
261
|
+
d.avd = avd;
|
|
262
|
+
/**
|
|
263
|
+
* **Y se llama como el AVD, no como su imagen.**
|
|
264
|
+
*
|
|
265
|
+
* El nombre venía de `model:`, que es de la IMAGEN: el mismo emulador salía como
|
|
266
|
+
* `pixel8` cuando estaba apagado —ahí el nombre es el del AVD— y como
|
|
267
|
+
* `sdk gphone64 arm64` cuando estaba arrancado. Un aparato con dos nombres según
|
|
268
|
+
* su estado, que es lo que el usuario pidió quitar: el que reconoce es el que
|
|
269
|
+
* creó él.
|
|
270
|
+
*
|
|
271
|
+
* Se hace en el HOST y no al pintar porque el nombre lo consumen tres pantallas
|
|
272
|
+
* —Ajustes, «Tu equipo» y la pastilla— más la FOTO que guarda la sesión, y esa
|
|
273
|
+
* foto sobrevive al emulador: guardar ahí `sdk gphone64 arm64` dejaría a la
|
|
274
|
+
* pastilla enseñando un nombre que ya no aparece en ninguna lista.
|
|
275
|
+
*
|
|
276
|
+
* El modelo de la imagen no se pierde en ningún sitio donde haga falta: quien
|
|
277
|
+
* quiera saber qué imagen corre lo pregunta al aparato (es lo que hace VERIFICAR
|
|
278
|
+
* con `ro.product.model`).
|
|
279
|
+
*/
|
|
280
|
+
d.nombre = avd;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
// Sin `avd`: «no se pudo identificar». No se toca `herramientas` — adb funciona.
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
dispositivos.push(...deAdb);
|
|
205
288
|
herramientas.push({ nombre: "adb", estado: "ok", ruta: adb });
|
|
206
289
|
}
|
|
207
290
|
catch (error) {
|
|
@@ -386,7 +469,7 @@ ajustes = {}) {
|
|
|
386
469
|
* Lo demás NO se lanza desde aquí y se ofrece para copiar (`instalar.automatico: false`), y
|
|
387
470
|
* **el motivo dejó de ser la contraseña de administrador**: está desmentido —medido, `sudo`
|
|
388
471
|
* sin terminal de control falla en 26 ms en vez de colgarse, y por eso los `brew` de la
|
|
389
|
-
* receta SÍ se lanzan (`agent/instalacionEnMaquina.ts`)—. El motivo es que aquí no hay canal
|
|
472
|
+
* receta SÍ se lanzan (`agent/dispositivos/instalacionEnMaquina.ts`)—. El motivo es que aquí no hay canal
|
|
390
473
|
* de progreso: se lanza con `execFile` y un tope de un minuto, sin log en vivo. `brew
|
|
391
474
|
* install --cask` tarda minutos, así que por este camino sería un botón mudo que se lee como
|
|
392
475
|
* un cuelgue y encima moriría en el tope. Instalar con log es lo que hace la fase de la
|
|
@@ -447,7 +530,11 @@ export async function verificarDispositivo(dispositivo, deps = {}) {
|
|
|
447
530
|
return { ok: true, detalle: modelo === "" ? "responde a la shell" : `responde: ${recortar(modelo)}` };
|
|
448
531
|
}
|
|
449
532
|
catch (error) {
|
|
450
|
-
|
|
533
|
+
// Sin el serial dentro: lo que contesta adb lo lleva, y esta fila se llama `pixel8`.
|
|
534
|
+
return {
|
|
535
|
+
ok: false,
|
|
536
|
+
detalle: motivoDeVerificacion(describirFallo(error, TOPES_MS.adb), dispositivo),
|
|
537
|
+
};
|
|
451
538
|
}
|
|
452
539
|
}
|
|
453
540
|
if (plataforma !== "darwin") {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispositivosEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/dispositivosEnMaquina.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hotswap.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/hotswap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,iGAAiG;AACjG,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,mFAAmF;AACnF,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAmEpD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAA8B,EAAE;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC;IACxD,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD;;;;;;;;OAQG;IACH,MAAM,UAAU,GAA6E,EAAE,CAAC;IAChG,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,eAAyC,CAAC;IAC9C,IAAI,YAA8C,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnD,eAAe,GAAG,OAAO,CAAC;QAC1B,YAAY,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,sCAAsC,EAAQ,EAAE;QACvE,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,sFAAsF;YACtF,8EAA8E;QAChF,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,0FAA0F;QAC1F,sEAAsE;QACtE,YAAY,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEpC,6FAA6F;IAC7F,iDAAiD;IACjD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,kBAAkB,OAAO,iBAAiB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;QAClG,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,YAAY,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,IAAa,EAAE,EAAE;QACtC,yFAAyF;QACzF,2EAA2E;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,OAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAqB,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;YACvF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,cAAc,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACjC,gFAAgF;gBAChF,KAAK,CAAC,2CAA2C,MAAM,CAAC,OAAO,CAAC,+BAA+B,gBAAgB,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,eAAe,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,2FAA2F;QAC3F,iFAAiF;QACjF,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAU,CAAC,CAAC;IAEb,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE;QACnC,0FAA0F;QAC1F,0DAA0D;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAU,CAAC,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAU,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,CAAC,MAAc,EAAE,QAAiC,EAAE;YACzD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;YAC9F,uFAAuF;YACvF,wFAAwF;YACxF,+EAA+E;YAC/E,OAAO,MAAM,CAAC,IAAI,CAChB,GAAG,EAAE,CACH,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,CAAC;oBACH,gFAAgF;oBAChF,+DAA+D;oBAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC;wBAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;QACD,MAAM;QACN,aAAa;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,OAAgC;YACtC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,IAA2B;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,6FAA6F;QAC7F,yFAAyF;QACzF,qBAAqB;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC;YACb,IAAI,OAAO,GAAG,CAAC;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAgB,OAAO,wBAAwB,OAAO,EAAE,CAAC,CAAC;YAC1F,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uFAAuF;YACvF,8EAA8E;YAC9E,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,OAAO,KAAK,CAAC;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC,6BAA6B,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;YACrF,IAAI,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,mBAAmB;gBAAE,MAAM;YAC7E,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,gGAAgG;IAChG,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,MAAM,EAAE,CACrG,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,OAA8B,EAAE;IAClF,6FAA6F;IAC7F,4EAA4E;IAC5E,IAAI,OAAmC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,qFAAqF;YACrF,yEAAyE;YACzE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnE,CAAC;QAED,0FAA0F;QAC1F,yFAAyF;QACzF,kEAAkE;QAClE,EAAE;QACF,yFAAyF;QACzF,8FAA8F;QAC9F,uFAAuF;QACvF,oDAAoD;QACpD,MAAM,KAAK,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,CAAC,CAAC;QAC/D,IAAI,MAAM,GAAqB,KAAK,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACtD,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAE/D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,uBAAuB,EAAE,CAAC;gBAClD,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,EAAE,CAAC,8EAA8E,CAAC,CAAC;gBAC/F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1E,wFAAwF;gBACxF,iEAAiE;gBACjE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;oBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBACzF,0FAA0F;gBAC1F,0FAA0F;gBAC1F,yFAAyF;gBACzF,YAAY;YACd,CAAC;QACH,CAAC;QACD,wFAAwF;QACxF,8DAA8D;QAC9D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAcD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAAC,SAA2B;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,OAAO,CAAC,SAA2B;IAC1C,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5D,CAAC;AAED,+FAA+F;AAC/F,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,CAAC,GAAG,KAAqD,CAAC;IAChE,wFAAwF;IACxF,8FAA8F;IAC9F,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACrE,OAAO,2FAA2F,CAAC;IACrG,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,eAAe,GAAuB,CAAC,GAAG,EAAE,EAAE,CAClD,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instalacionEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/instalacionEnMaquina.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAiC,CAAC;AAE7F,0EAA0E;AAC1E,MAAM,MAAM,GAAG,gDAAgD,CAAC;AAuChE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAyB;IAC/D;QACE,oBAAoB;QACpB;YACE,OAAO,EAAE,MAAM;YACf,uFAAuF;YACvF,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAChD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,0BAA0B,EAAE,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;aACnG;YACD,+EAA+E;YAC/E,sEAAsE;YACtE,YAAY,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE;YAC/F,MAAM,EAAE,iDAAiD;SAC1D;KACF;IACD;QACE,0FAA0F;QAC1F,uFAAuF;QACvF,uFAAuF;QACvF,oBAAoB;QACpB;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC;YAClD,YAAY,EAAE;gBACZ;oBACE,oFAAoF;oBACpF,gFAAgF;oBAChF,yEAAyE;oBACzE,IAAI,EAAE,CAAC,YAAY,CAAC;oBACpB,OAAO,EAAE,CAAC,KAAK,CAAC;oBAChB,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,oEAAoE;iBAC9E;gBACD;oBACE,qFAAqF;oBACrF,kFAAkF;oBAClF,qFAAqF;oBACrF,qFAAqF;oBACrF,mFAAmF;oBACnF,yDAAyD;oBACzD,IAAI,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,CAAC;oBACjF,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,MAAM,EAAE,iDAAiD;SAC1D;KACF;IACD;QACE,oBAAoB;QACpB;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC;YAClD,YAAY,EAAE;gBACZ,kFAAkF;gBAClF,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;aAC9F;YACD,MAAM,EAAE,gCAAgC;SACzC;KACF;CACF,CAAC,CAAC;AAuCH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,MAAc,EACd,OAAkC,EAAE;IAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iCAAiC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;KAC1E,CAAC,CAAC;IAEH,0FAA0F;IAC1F,2FAA2F;IAC3F,6EAA6E;IAC7E,IAAI,OAA2B,CAAC;IAChC,IAAI,GAAG,GAAuC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACnF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpE,yFAAyF;YACzF,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClG,OAAO,MAAM,CAAC,SAAS,GAAG,wCAAwC,CAAC,CAAC;QACtE,CAAC;QACD,GAAG,GAAG;YACJ,GAAG,GAAG;YACN,YAAY,EAAE,GAAG;YACjB,gBAAgB,EAAE,GAAG;YACrB,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE;SACtF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,8BAA8B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,8FAA8F;IAC9F,4FAA4F;IAC5F,wFAAwF;IACxF,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG,CAAC,KAAK,IAAiC,EAAE;QACzD,IAAI,MAAM,GAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACpE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YAChE,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAChE,oFAAoF;YACpF,0FAA0F;YAC1F,mFAAmF;YACnF,MAAM,GAAG,WAAW,CAClB,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAQ,EAAE,UAAU,CAAC,IAAI,EAAE;gBAC/C,GAAG;gBACH,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,YAAY,EAAE,KAAK;aACpB,CAAC,CACH,CAAC;YACF,kFAAkF;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAChF,6EAA6E;YAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC;IAEL;;;OAGG;IACH,SAAS,WAAW,CAAC,GAAiB;QACpC,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAC/F,CAAC;QACD,sFAAsF;QACtF,yFAAyF;QACzF,yFAAyF;QACzF,mCAAmC;QACnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7G,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,GAAG,EAAE;YACb,SAAS,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;QACD,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { objetoDe } from "../tareas/juezDeTarea.js";
|
|
2
|
+
/** El papel del juez, el mismo que el de tareas. `core/modelos.ts` lo reserva para esto. */
|
|
3
|
+
export const PAPEL_DEL_JUEZ_VISUAL = "afilado";
|
|
4
|
+
/**
|
|
5
|
+
* Cuántas observaciones se conservan y cuánto ocupa cada una.
|
|
6
|
+
*
|
|
7
|
+
* Del mismo orden que las del juez de tareas, y por lo mismo: esto acaba en una tarjeta o en
|
|
8
|
+
* un mensaje de reparación, no en un informe. No se acota para poder compararlo —no se puede,
|
|
9
|
+
* ver la cabecera— sino para que quepa.
|
|
10
|
+
*/
|
|
11
|
+
export const TOPE_DE_OBSERVACIONES = 8;
|
|
12
|
+
const TOPE_DE_OBSERVACION = 200;
|
|
13
|
+
/**
|
|
14
|
+
* Cuántas pantallas puede pedir de una vez.
|
|
15
|
+
*
|
|
16
|
+
* Tiene tope por lo mismo que `TOPE_REPARACIONES`: su salida NO es estable —seis vueltas sobre
|
|
17
|
+
* la misma captura dieron 4, 2, 4, 5, 3 y 5 observaciones— así que sin acotarlo pediría
|
|
18
|
+
* pantallas mientras alguien se las traiga, y cada una es un despliegue y una navegación.
|
|
19
|
+
*/
|
|
20
|
+
export const TOPE_DE_PETICIONES = 3;
|
|
21
|
+
/**
|
|
22
|
+
* Lo que vale como pantalla pedida: un NOMBRE de colección, no una frase.
|
|
23
|
+
*
|
|
24
|
+
* Sin esto, «mándame otra foto de la pantalla anterior» entraría en la lista y quien tenga que
|
|
25
|
+
* ir a buscarla no sabría a dónde. Es la misma clase de criba que la del nombre de un AVD: lo
|
|
26
|
+
* que va a ser un argumento se cierra por FORMA.
|
|
27
|
+
*/
|
|
28
|
+
const NOMBRE_DE_PANTALLA = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
29
|
+
/** No se pudo PREGUNTAR: no hay modelo, no hay clave, no hay red. */
|
|
30
|
+
export class ErrorDelJuezVisual extends Error {
|
|
31
|
+
constructor(motivo) {
|
|
32
|
+
super(`no se pudo consultar al crítico visual (papel «${PAPEL_DEL_JUEZ_VISUAL}»): ${motivo}`);
|
|
33
|
+
this.name = "ErrorDelJuezVisual";
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Lo que se le pide, y está escrito para que conteste lo que puede saber.
|
|
38
|
+
*
|
|
39
|
+
* «No digas la causa» no es modestia: es lo único que separa una observación útil —«el texto
|
|
40
|
+
* de los botones sale cortado»— de una pista falsa —«está rotado 180°»—, y lo segundo es lo
|
|
41
|
+
* que contestó las tres veces que se midió.
|
|
42
|
+
*/
|
|
43
|
+
export const PROMPT_VISUAL = [
|
|
44
|
+
"Eres un revisor VISUAL de la pantalla de una app móvil. Mira la captura y di SOLO lo que se",
|
|
45
|
+
"ve mal, sin diagnosticar: describe lo que se ve, no la causa ni cómo arreglarlo. Quien lo",
|
|
46
|
+
"lea tiene el código delante y tú no.",
|
|
47
|
+
"",
|
|
48
|
+
"Busca defectos OBJETIVOS: texto cortado, que se sale o ilegible; controles solapados o fuera",
|
|
49
|
+
"de la pantalla; alineaciones rotas; huecos que no cuadran; algo que no se puede leer por",
|
|
50
|
+
"contraste. NO opines de gustos, de la paleta ni de la marca.",
|
|
51
|
+
"",
|
|
52
|
+
"Si no ves ningún defecto, dilo con la lista vacía.",
|
|
53
|
+
"",
|
|
54
|
+
"Si para dictaminar necesitas ver OTRA pantalla, pídela en `necesito` por el NOMBRE de su",
|
|
55
|
+
"colección y nada más (por ejemplo «Productos»), no con una frase. Alguien irá a por ella.",
|
|
56
|
+
"Si con lo que tienes te basta, déjalo vacío.",
|
|
57
|
+
"",
|
|
58
|
+
'Contesta SOLO este JSON: {"veredicto":"verde"|"rojo","hallazgos":["lo que se ve", …],"necesito":["Coleccion", …]}',
|
|
59
|
+
].join("\n");
|
|
60
|
+
/**
|
|
61
|
+
* Le enseña la captura al modelo y devuelve su veredicto.
|
|
62
|
+
*
|
|
63
|
+
* `invocar` entra por parámetro, así que `npm test` no le pregunta a ningún modelo — el mismo
|
|
64
|
+
* molde que `JuezDeTareaPort`.
|
|
65
|
+
*/
|
|
66
|
+
export async function juzgarPantalla(imagen, contexto, invocar) {
|
|
67
|
+
const prompt = `${PROMPT_VISUAL}\n\nLa captura es de la pantalla «${contexto.pantalla}».`;
|
|
68
|
+
let texto;
|
|
69
|
+
try {
|
|
70
|
+
texto = await invocar(PAPEL_DEL_JUEZ_VISUAL, prompt, imagen);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
throw new ErrorDelJuezVisual(error instanceof Error ? error.message : String(error));
|
|
74
|
+
}
|
|
75
|
+
const objeto = objetoDe(texto);
|
|
76
|
+
if (objeto === undefined)
|
|
77
|
+
return { veredicto: "indeterminado", observaciones: [], necesito: [] };
|
|
78
|
+
const observaciones = (Array.isArray(objeto["hallazgos"]) ? objeto["hallazgos"] : [])
|
|
79
|
+
.filter((o) => typeof o === "string" && o.trim() !== "")
|
|
80
|
+
.slice(0, TOPE_DE_OBSERVACIONES)
|
|
81
|
+
.map((o) => (o.length > TOPE_DE_OBSERVACION ? `${o.slice(0, TOPE_DE_OBSERVACION - 1)}…` : o));
|
|
82
|
+
const necesito = (Array.isArray(objeto["necesito"]) ? objeto["necesito"] : [])
|
|
83
|
+
.filter((n) => typeof n === "string" && NOMBRE_DE_PANTALLA.test(n.trim()))
|
|
84
|
+
.map((n) => n.trim())
|
|
85
|
+
.slice(0, TOPE_DE_PETICIONES);
|
|
86
|
+
const dicho = objeto["veredicto"];
|
|
87
|
+
/**
|
|
88
|
+
* **Un VERDE que todavía pide pantallas no es un verde.** Misma dirección que «un
|
|
89
|
+
* verificador que no corrió no es verde» (`core/entrega.ts`): lo que deja pasar algo no se
|
|
90
|
+
* puede decir sobre lo que no se ha mirado. Lo que pide NO se tira, que es justo lo que hay
|
|
91
|
+
* que ir a buscar.
|
|
92
|
+
*/
|
|
93
|
+
if (dicho === "verde") {
|
|
94
|
+
return necesito.length === 0
|
|
95
|
+
? { veredicto: "verde", observaciones, necesito }
|
|
96
|
+
: { veredicto: "indeterminado", observaciones, necesito };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Un rojo sin nada que enseñar no se puede actuar: quien lo reciba no sabe qué mirar. Es la
|
|
100
|
+
* misma regla que «un verde sin resumen» del juez de tareas, por el otro lado.
|
|
101
|
+
*/
|
|
102
|
+
if (dicho === "rojo" && observaciones.length > 0)
|
|
103
|
+
return { veredicto: "rojo", observaciones, necesito };
|
|
104
|
+
return { veredicto: "indeterminado", observaciones, necesito };
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* El `invocar` de PRODUCCIÓN, sobre `ModelosPort`.
|
|
108
|
+
*
|
|
109
|
+
* La imagen viaja como un bloque `image_url` con un `data:` dentro de un `HumanMessage`, que
|
|
110
|
+
* es la forma multimodal que entienden los tres proveedores a través de langchain. Se mide
|
|
111
|
+
* aquí y no en el módulo puro porque esto toca el SDK.
|
|
112
|
+
*
|
|
113
|
+
* **La misma asimetría de `juezDeTarea#invocarConModelos`, y por la misma medida**: construir
|
|
114
|
+
* el modelo falla antes de tocar la red y con un mensaje escrito para leerse, así que ése se
|
|
115
|
+
* CONSERVA; de la llamada solo se conserva el NOMBRE del error, porque ahí los SDK devuelven
|
|
116
|
+
* el cuerpo remoto y con él cabeceras y claves redactadas.
|
|
117
|
+
*/
|
|
118
|
+
export function invocarVisualConModelos(modelos) {
|
|
119
|
+
return async (papel, prompt, imagen) => {
|
|
120
|
+
let modelo;
|
|
121
|
+
try {
|
|
122
|
+
modelo = modelos.paraPapel(papel);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
throw new ErrorDelJuezVisual(error instanceof Error ? error.message : String(error));
|
|
126
|
+
}
|
|
127
|
+
if (typeof modelo !== "object" ||
|
|
128
|
+
modelo === null ||
|
|
129
|
+
typeof modelo.invoke !== "function") {
|
|
130
|
+
throw new ErrorDelJuezVisual(`el modelo del papel «${papel}» no se puede invocar aquí`);
|
|
131
|
+
}
|
|
132
|
+
const { HumanMessage } = await import("@langchain/core/messages");
|
|
133
|
+
const { textoDe } = await import("../turno/puente.js");
|
|
134
|
+
try {
|
|
135
|
+
const respuesta = await modelo.invoke([
|
|
136
|
+
new HumanMessage({
|
|
137
|
+
content: [
|
|
138
|
+
{ type: "text", text: prompt },
|
|
139
|
+
{ type: "image_url", image_url: { url: `data:${imagen.mime};base64,${imagen.base64}` } },
|
|
140
|
+
],
|
|
141
|
+
}),
|
|
142
|
+
]);
|
|
143
|
+
// El MISMO extractor que el puente del stream y que el juez de tareas: dos reglas para
|
|
144
|
+
// sacar el texto de un mensaje son dos reglas que divergen.
|
|
145
|
+
return textoDe(respuesta);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
throw new ErrorDelJuezVisual(error instanceof Error ? error.name : "error de la llamada");
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=juezVisual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"juezVisual.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/juezVisual.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* `.mainEntry`**: medido, `.mainEntry` no levanta el servidor.
|
|
23
23
|
* 5. **`lanzando`.** El lanzamiento por el WebSocket, esperando el saludo del servidor. Entra
|
|
24
24
|
* por `deps.abrirSocket`, que es el CONSTRUCTOR del socket —así se llama en el módulo al que
|
|
25
|
-
* alimenta—: el cliente de `/hotswap` ya está escrito y medido en `agent/hotswap.ts`, y `ws`
|
|
25
|
+
* alimenta—: el cliente de `/hotswap` ya está escrito y medido en `agent/dispositivos/hotswap.ts`, y `ws`
|
|
26
26
|
* no se importa aquí.
|
|
27
27
|
* 6. **`comprobando-arranque`.** La LECTURA, porque `{"result":true}` de `launchApplication`
|
|
28
28
|
* significa «aceptado», no «arrancó»: lo que dice si está viva es el árbol de controles.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lanzamientoEnMaquina.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/lanzamientoEnMaquina.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Las reglas del filtro, y las que se REUTILIZAN en vez de reescribirse:
|
|
10
10
|
*
|
|
11
|
-
* - **`.xonecode/**` y `.git/**` los corta `puedeLeerRuta`** (`agent/perfiles.ts`), la
|
|
11
|
+
* - **`.xonecode/**` y `.git/**` los corta `puedeLeerRuta`** (`agent/grafo/perfiles.ts`), la
|
|
12
12
|
* misma barrera que usan las tools propias y el lector de la pestaña Ficheros. Un
|
|
13
13
|
* segundo `startsWith` aquí sería el segundo sitio donde esa regla puede dejar de estar.
|
|
14
14
|
* - **La basura del SO también sale, con la misma constante que la de git**
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
import { lstatSync, readFileSync, readdirSync } from "node:fs";
|
|
33
33
|
import { join } from "node:path";
|
|
34
34
|
import { zipSync } from "fflate";
|
|
35
|
-
import { BASURA_DEL_SO } from "
|
|
36
|
-
import { puedeLeerRuta } from "
|
|
35
|
+
import { BASURA_DEL_SO } from "../sesiones/gitSync.js";
|
|
36
|
+
import { puedeLeerRuta } from "../grafo/perfiles.js";
|
|
37
37
|
/** Bytes a partir de los cuales el endpoint contesta `413` y no se sube nada. */
|
|
38
38
|
export const TOPE_DE_PAQUETE = 512 * 1024 * 1024;
|
|
39
39
|
/**
|
|
@@ -50,7 +50,7 @@ const BASE_SQLITE = /\.db(-wal|-shm|-journal)?$/i;
|
|
|
50
50
|
* Los nombres que no viajan aunque estén sueltos, fuera de `bd/`.
|
|
51
51
|
*
|
|
52
52
|
* **La basura del SO es LA MISMA constante que usa la exclusión de git** (`BASURA_DEL_SO`,
|
|
53
|
-
* `agent/gitSync.ts`), no una copia con los tres nombres escritos otra vez: una segunda
|
|
53
|
+
* `agent/sesiones/gitSync.ts`), no una copia con los tres nombres escritos otra vez: una segunda
|
|
54
54
|
* lista divergiría el día que se añada el cuarto, y ese día el fichero del Finder volvería
|
|
55
55
|
* a colarse —en el repo o en la app del cliente, según cuál de las dos se actualizara—.
|
|
56
56
|
*
|
|
@@ -92,7 +92,7 @@ function viaja(virtual) {
|
|
|
92
92
|
return !nombreQueNoViaja(partes[partes.length - 1] ?? "");
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* El recorrido, modelado en `ficherosDelProyecto` (`agent/turnoReal.ts`): `readdirSync`
|
|
95
|
+
* El recorrido, modelado en `ficherosDelProyecto` (`agent/turno/turnoReal.ts`): `readdirSync`
|
|
96
96
|
* por nombres y `lstatSync` por entrada. `lstat` y no `stat` porque **no se sigue ningún
|
|
97
97
|
* enlace simbólico**: el paquete lo lee el disco de verdad (`readFileSync`), así que un
|
|
98
98
|
* enlace que apunte fuera del proyecto metería en el ZIP un fichero que el proyecto no
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paqueteDelProyecto.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/paqueteDelProyecto.ts"],"names":[],"mappings":"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"}
|