xonecode 0.31.0 → 0.34.2

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.
Files changed (133) hide show
  1. package/apps/web/dist/assets/{EditorDeFichero-ChyJtiiz.js → EditorDeFichero-Cj0knNmP.js} +1 -1
  2. package/apps/web/dist/assets/index-Ga8fTlWp.js +499 -0
  3. package/apps/web/dist/assets/{index-IptObD2z.css → index-R3kXj69E.css} +1 -1
  4. package/apps/web/dist/assets/{php-B91ZcS-9.js → php-MVUx_K96.js} +1 -1
  5. package/apps/web/dist/assets/{ruby-DrxrTSz0.js → ruby-n-r-AXdi.js} +1 -1
  6. package/apps/web/dist/index.html +2 -2
  7. package/dist/agent/config/fuentesEnRed.js +80 -0
  8. package/dist/agent/config/fuentesEnRed.js.map +1 -0
  9. package/dist/agent/config/modelosDeMotor.js +4 -2
  10. package/dist/agent/config/modelosDeMotor.js.map +1 -1
  11. package/dist/agent/config/settingsEnDisco.js +26 -0
  12. package/dist/agent/config/settingsEnDisco.js.map +1 -1
  13. package/dist/agent/dispositivos/cajasDeMaqueta.js +218 -0
  14. package/dist/agent/dispositivos/cajasDeMaqueta.js.map +1 -0
  15. package/dist/agent/dispositivos/geometriaEnDisco.js +107 -0
  16. package/dist/agent/dispositivos/geometriaEnDisco.js.map +1 -0
  17. package/dist/agent/dispositivos/juezVisual.js +84 -3
  18. package/dist/agent/dispositivos/juezVisual.js.map +1 -1
  19. package/dist/agent/grafo/criticaVisual.js +246 -11
  20. package/dist/agent/grafo/criticaVisual.js.map +1 -1
  21. package/dist/agent/grafo/fuentesDeGoogle.js +133 -0
  22. package/dist/agent/grafo/fuentesDeGoogle.js.map +1 -0
  23. package/dist/agent/grafo/incorporarAdjunto.js +52 -42
  24. package/dist/agent/grafo/incorporarAdjunto.js.map +1 -1
  25. package/dist/agent/grafo/lectorDeReferencias.js +21 -0
  26. package/dist/agent/grafo/lectorDeReferencias.js.map +1 -1
  27. package/dist/agent/grafo/perfiles.js +2 -0
  28. package/dist/agent/grafo/perfiles.js.map +1 -1
  29. package/dist/agent/motores/motoresLocales.js +429 -0
  30. package/dist/agent/motores/motoresLocales.js.map +1 -0
  31. package/dist/agent/motores/trueforge/capacidades.js +9 -6
  32. package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
  33. package/dist/agent/motores/trueforge/informesDeHijos.js +39 -7
  34. package/dist/agent/motores/trueforge/informesDeHijos.js.map +1 -1
  35. package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js +75 -37
  36. package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js.map +1 -1
  37. package/dist/agent/motores/trueforge/memoriaTrueforge.js +24 -4
  38. package/dist/agent/motores/trueforge/memoriaTrueforge.js.map +1 -1
  39. package/dist/agent/motores/trueforge/modeloLangchain.js +28 -4
  40. package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
  41. package/dist/agent/motores/trueforge/proponerTareas.js +67 -0
  42. package/dist/agent/motores/trueforge/proponerTareas.js.map +1 -0
  43. package/dist/agent/motores/trueforge/sesionTrueforge.js +133 -13
  44. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  45. package/dist/agent/motores/trueforge/toolsDeFichero.js +24 -6
  46. package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
  47. package/dist/agent/sesiones/adjuntosDeSesion.js +192 -5
  48. package/dist/agent/sesiones/adjuntosDeSesion.js.map +1 -1
  49. package/dist/agent/subagentes/agentesEnDisco.js +12 -4
  50. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  51. package/dist/agent/subagentes/ejecutableEnWindows.js +139 -0
  52. package/dist/agent/subagentes/ejecutableEnWindows.js.map +1 -0
  53. package/dist/agent/subagentes/subagenteCodex.js +7 -2
  54. package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
  55. package/dist/agent/subagentes/subagenteOpencode.js +12 -5
  56. package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
  57. package/dist/agent/tareas/aumentador.js +4 -3
  58. package/dist/agent/tareas/aumentador.js.map +1 -1
  59. package/dist/agent/turno/informeDeTraza.js +2 -1
  60. package/dist/agent/turno/informeDeTraza.js.map +1 -1
  61. package/dist/agent/turno/interrupts.js +12 -0
  62. package/dist/agent/turno/interrupts.js.map +1 -1
  63. package/dist/agent/turno/resumenDeTool.js +4 -0
  64. package/dist/agent/turno/resumenDeTool.js.map +1 -1
  65. package/dist/agent/turno/turnoReal.js +3 -0
  66. package/dist/agent/turno/turnoReal.js.map +1 -1
  67. package/dist/cli/consola.js.map +1 -1
  68. package/dist/cli/main.js +2 -0
  69. package/dist/cli/main.js.map +1 -1
  70. package/dist/cli/tui/transcript.js +5 -0
  71. package/dist/cli/tui/transcript.js.map +1 -1
  72. package/dist/core/actos.js.map +1 -1
  73. package/dist/core/adjuntos.js +10 -2
  74. package/dist/core/adjuntos.js.map +1 -1
  75. package/dist/core/agentes.js +10 -0
  76. package/dist/core/agentes.js.map +1 -1
  77. package/dist/core/analisisDeSesion.js +1 -1
  78. package/dist/core/analisisDeSesion.js.map +1 -1
  79. package/dist/core/descripcionDePantalla.js +367 -0
  80. package/dist/core/descripcionDePantalla.js.map +1 -0
  81. package/dist/core/estiloMedido.js +352 -0
  82. package/dist/core/estiloMedido.js.map +1 -0
  83. package/dist/core/fuentes.js +174 -0
  84. package/dist/core/fuentes.js.map +1 -0
  85. package/dist/core/geometriaDePantalla.js +537 -0
  86. package/dist/core/geometriaDePantalla.js.map +1 -0
  87. package/dist/core/motoresLocales.js +128 -0
  88. package/dist/core/motoresLocales.js.map +1 -0
  89. package/dist/core/notify.js +4 -0
  90. package/dist/core/notify.js.map +1 -1
  91. package/dist/core/nucleoXone.js +6 -6
  92. package/dist/core/nucleoXone.js.map +1 -1
  93. package/dist/core/ports.js +35 -0
  94. package/dist/core/ports.js.map +1 -1
  95. package/dist/core/repartoDeEncargo.js +87 -0
  96. package/dist/core/repartoDeEncargo.js.map +1 -0
  97. package/dist/core/settings.js +5 -0
  98. package/dist/core/settings.js.map +1 -1
  99. package/dist/core/shellDeAgente.js +36 -0
  100. package/dist/core/shellDeAgente.js.map +1 -1
  101. package/dist/core/tareas.js +7 -0
  102. package/dist/core/tareas.js.map +1 -1
  103. package/dist/core/turno.js +15 -0
  104. package/dist/core/turno.js.map +1 -1
  105. package/dist/core/zipDeAdjunto.js +79 -0
  106. package/dist/core/zipDeAdjunto.js.map +1 -0
  107. package/dist/web/servidor/arranque.js +201 -13
  108. package/dist/web/servidor/arranque.js.map +1 -1
  109. package/dist/web/servidor/consolaWeb.js +5 -0
  110. package/dist/web/servidor/consolaWeb.js.map +1 -1
  111. package/dist/web/servidor/interrupcion.js +52 -0
  112. package/dist/web/servidor/interrupcion.js.map +1 -0
  113. package/dist/web/servidor/pielWeb.js +36 -0
  114. package/dist/web/servidor/pielWeb.js.map +1 -1
  115. package/dist/web/servidor/transporte.js +1 -0
  116. package/dist/web/servidor/transporte.js.map +1 -1
  117. package/dist/web/servidor/vestibulo.js +30 -2
  118. package/dist/web/servidor/vestibulo.js.map +1 -1
  119. package/package.json +1 -1
  120. package/skills/xone-development/SKILL.md +2 -1
  121. package/skills/xone-development/references/css/buenas-practicas-y-parser.md +2 -1
  122. package/skills/xone-development/references/css/de-una-maqueta-a-xone.md +83 -0
  123. package/skills/xone-development/references/css/patrones-material-y-temas.md +15 -13
  124. package/skills/xone-development/references/css/propiedades-y-herencia.md +2 -2
  125. package/skills/xone-development/references/css/selectores-unidades-colores.md +8 -3
  126. package/skills/xone-development/references/indice-completo.md +1 -0
  127. package/skills/xone-development/references/xml-ui/atributos-coll-group-frame.md +4 -4
  128. package/skills/xone-development/references/xml-ui/nodos-group-y-frame.md +4 -4
  129. package/skills/xone-hotswap/lib/geometria.mjs +147 -0
  130. package/skills/xone-hotswap/scripts/xone-captura-android +6 -0
  131. package/skills/xone-hotswap/scripts/xone-hotswap +8 -0
  132. package/skills/xone-hotswap/scripts/xone-recargar-android +15 -0
  133. package/apps/web/dist/assets/index-CFIrUOmW.js +0 -499
@@ -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-CFIrUOmW.js"></script>
11
- <link rel="stylesheet" crossorigin href="./assets/index-IptObD2z.css">
10
+ <script type="module" crossorigin src="./assets/index-Ga8fTlWp.js"></script>
11
+ <link rel="stylesheet" crossorigin href="./assets/index-R3kXj69E.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
@@ -0,0 +1,80 @@
1
+ import { buscarEnCatalogo, esTrueType, familiasDelCatalogo, TOPE_DE_CATALOGO_BYTES, TOPE_DE_CSS_BYTES, TOPE_DE_FUENTE_BYTES, TOPE_DE_FUENTES_MS, URL_DEL_CATALOGO, urlDeCss, urlDeTtfEnCss, } from "../../core/fuentes.js";
2
+ /**
3
+ * Google Fonts, de verdad, sin clave (lo medido está en `core/fuentes.ts`).
4
+ *
5
+ * **El catálogo se pide UNA vez por puerto** y se guarda: son 2,7 MB de un catálogo AJENO que no
6
+ * cambia en una sesión. No choca con «no cachear» de `xone_navegacion`, que habla del modelo del
7
+ * PROYECTO. Un fallo no se guarda: la siguiente llamada lo vuelve a intentar.
8
+ *
9
+ * Un fallo lleva el CÓDIGO HTTP o la palabra «red», nunca la URL ni el cuerpo remoto (mismo trato
10
+ * que `iconosEnRed`). `fetch` entra por parámetro para probarlo sin conexión.
11
+ */
12
+ export function fuentesEnRed(llamar = fetch, topeMs = TOPE_DE_FUENTES_MS) {
13
+ const pedir = async (url, tope) => {
14
+ let respuesta;
15
+ try {
16
+ respuesta = await llamar(url, { signal: AbortSignal.timeout(topeMs) });
17
+ }
18
+ catch {
19
+ throw new Error("no hay red o Google Fonts no responde");
20
+ }
21
+ if (!respuesta.ok)
22
+ throw new Error(`Google Fonts contestó ${respuesta.status}`);
23
+ const declarado = Number(respuesta.headers.get("content-length") ?? "0");
24
+ if (declarado > tope)
25
+ throw new Error("la respuesta supera el tope de tamaño");
26
+ let bytes;
27
+ try {
28
+ bytes = new Uint8Array(await respuesta.arrayBuffer());
29
+ }
30
+ catch {
31
+ throw new Error("no hay red o Google Fonts no responde");
32
+ }
33
+ if (bytes.length > tope)
34
+ throw new Error("la respuesta supera el tope de tamaño");
35
+ return bytes;
36
+ };
37
+ let catalogo;
38
+ const elCatalogo = () => {
39
+ catalogo ??= (async () => {
40
+ const bytes = await pedir(URL_DEL_CATALOGO, TOPE_DE_CATALOGO_BYTES);
41
+ let cuerpo;
42
+ try {
43
+ // Hoy llega JSON a secas; antes llevaba delante el `)]}'` contra el XSSI, y se tolera.
44
+ const texto = new TextDecoder().decode(bytes);
45
+ cuerpo = JSON.parse(texto.slice(texto.indexOf("{")));
46
+ }
47
+ catch {
48
+ throw new Error("respuesta incompatible de Google Fonts");
49
+ }
50
+ const familias = familiasDelCatalogo(cuerpo);
51
+ if (familias.length === 0)
52
+ throw new Error("respuesta incompatible de Google Fonts");
53
+ return familias;
54
+ })();
55
+ catalogo.catch(() => {
56
+ catalogo = undefined;
57
+ });
58
+ return catalogo;
59
+ };
60
+ return {
61
+ async buscar(consulta, limite) {
62
+ return buscarEnCatalogo(await elCatalogo(), consulta, limite);
63
+ },
64
+ async familia(nombre) {
65
+ const f = (await elCatalogo()).find((x) => x.familia === nombre);
66
+ return f === undefined ? undefined : { familia: f.familia, categoria: f.categoria, estilos: f.estilos };
67
+ },
68
+ async ttf(familia, peso, cursiva) {
69
+ const css = new TextDecoder().decode(await pedir(urlDeCss(familia, peso, cursiva), TOPE_DE_CSS_BYTES));
70
+ const url = urlDeTtfEnCss(css);
71
+ if (url === undefined)
72
+ throw new Error("Google Fonts no devolvió un .ttf para ese estilo");
73
+ const bytes = await pedir(url, TOPE_DE_FUENTE_BYTES);
74
+ if (!esTrueType(bytes))
75
+ throw new Error("lo que llegó no es un fichero TrueType");
76
+ return bytes;
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=fuentesEnRed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuentesEnRed.js","sourceRoot":"","sources":["../../../src/agent/config/fuentesEnRed.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@
13
13
  * producto, y el síntoma sería un modelo que el usuario elige y el hijo rechaza.
14
14
  */
15
15
  import { spawn } from "node:child_process";
16
+ import { binarioDeCodex } from "../subagentes/subagenteCodex.js";
17
+ import { binarioDeOpencode } from "../subagentes/subagenteOpencode.js";
16
18
  /**
17
19
  * Los alias de Claude Code, tal como los documenta su SDK instalado:
18
20
  * «Model alias (e.g. 'fable', 'opus', 'sonnet', 'haiku') or full model ID».
@@ -79,7 +81,7 @@ export function modelosDeRespuestaDeCodex(respuesta) {
79
81
  * app-server mezcla trazas suyas por stdout en algunas versiones—.
80
82
  */
81
83
  async function preguntarACodexDeVerdad() {
82
- const binario = process.env.CODEX_BIN ?? "codex";
84
+ const binario = binarioDeCodex();
83
85
  return new Promise((resolver, rechazar) => {
84
86
  const hijo = spawn(binario, ["app-server", "--stdio"], { stdio: ["pipe", "pipe", "pipe"] });
85
87
  let acabado = false;
@@ -165,7 +167,7 @@ export function modelosDeSalidaDeOpencode(salida) {
165
167
  return modelos;
166
168
  }
167
169
  async function preguntarAOpencodeDeVerdad() {
168
- const binario = process.env.OPENCODE_BIN ?? "opencode";
170
+ const binario = binarioDeOpencode();
169
171
  return new Promise((resolver, rechazar) => {
170
172
  let hijo;
171
173
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"modelosDeMotor.js","sourceRoot":"","sources":["../../../src/agent/config/modelosDeMotor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelosDeMotor.js","sourceRoot":"","sources":["../../../src/agent/config/modelosDeMotor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AASlF,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AASzC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,OAA8B,EAAE;IAEhC,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,qFAAqF;QACrF,iDAAiD;QACjD,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,MAAM,SAAS,GACb,KAAK,KAAK,UAAU;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,0BAA0B,CAAC;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,uBAAuB,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oFAAoF;QACpF,0EAA0E;QAC1E,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAkB;IAC1D,MAAM,KAAK,GAAI,SAAmD,EAAE,IAAI,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QACxD,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAiE,CAAC;QACtG,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAClD,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,OAAO,IAAI,OAAO,CAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,EAAc,EAAQ,EAAE;YACtC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,EAAE,EAAE,CAAC;QACP,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAE9H,MAAM,MAAM,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAI,CAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QACxH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE,CAChD,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACvG,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvG,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,KAAa,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,SAAS;gBAClC,IAAI,CAAkE,CAAC;gBACvE,IAAI,CAAC;oBACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAa,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBAClC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACpD,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC;YACL,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE;gBACrE,YAAY,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE;aACpE;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,wFAAwF;QACxF,0EAA0E;QAC1E,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACjE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,IAAI,OAAO,CAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACzD,IAAI,IAA8B,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,GAAe,EAAQ,EAAE;YACvC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,GAAG,EAAE,CAAC;QACR,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CACrB,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC,EACnF,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE,CAChD,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1G,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAClD,sFAAsF;YACtF,wCAAwC;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;;gBACrF,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -262,6 +262,32 @@ export function guardarModoPorDefecto(casa, modo) {
262
262
  escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
263
263
  return { ruta };
264
264
  }
265
+ /**
266
+ * Guarda el modelo de OpenCode de Ajustes → Motores locales, sin tocar nada más del fichero.
267
+ * `undefined` BORRA la clave («sin modelo elegido»). La forma la comprueba quien llama
268
+ * (`motivoDeModeloDeMotorInaceptable`), y la vuelve a comprobar `validarSettings` al leer.
269
+ */
270
+ export function guardarModeloDeOpencode(casa, modelo) {
271
+ const ruta = rutaSettings(casa ?? homedir());
272
+ const crudo = leerCrudoOAbortar(ruta);
273
+ const fusionado = modelo === undefined
274
+ ? Object.fromEntries(Object.entries(crudo).filter(([k]) => k !== "modeloDeOpencode"))
275
+ : { ...crudo, modeloDeOpencode: modelo };
276
+ escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
277
+ return { ruta };
278
+ }
279
+ /**
280
+ * El modelo de OpenCode guardado, leído en CADA uso (se cambia desde Ajustes con la consola en
281
+ * marcha). Un `settings.json` roto no tumba un encargo: es «no hay modelo elegido».
282
+ */
283
+ export function modeloDeOpencodeGuardado(casa) {
284
+ try {
285
+ return cargarSettings(casa).settings.modeloDeOpencode;
286
+ }
287
+ catch {
288
+ return undefined;
289
+ }
290
+ }
265
291
  /** Guarda solo la base del workspace, sin tocar la lista de entornos. */
266
292
  export function guardarWorkspace(casa, base) {
267
293
  const ruta = rutaSettings(casa ?? homedir());
@@ -1 +1 @@
1
- {"version":3,"file":"settingsEnDisco.js","sourceRoot":"","sources":["../../../src/agent/config/settingsEnDisco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAwB,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAIL,8BAA8B,EAC9B,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC,wFAAwF;AACxF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;CAAG;AAElD,uGAAuG;AACvG,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,OAAO,EAAE;IACrD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACzE,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,+CAA+C,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;SACjG,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,MAAM,IAAI,oBAAoB,CAC5B,IAAI,IAAI,qEAAqE,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,oBAAoB,CAC5B,IAAI,IAAI,iFAAiF,CAC1F,CAAC;IACJ,CAAC;IACD,iFAAiF;IACjF,yFAAyF;IACzF,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,SAAiB;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,uFAAuF;IACvF,yCAAyC;IACzC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,UAAU,EAAE,MAAM,CAAC,CAAC;IACxE,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,UAAU,GAAG,SAAS,CAAC;QACvB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,SAAS,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,kFAAkF;YACpF,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,IAAwB,EAAE,OAAgB;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAC7C,CAAC;IACF,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAwB,EAAE,OAA8B;IAC1F,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,0FAA0F;IAC1F,yFAAyF;IACzF,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,cAAc;QACrC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAC3B,CACF,CAAC;IACF,MAAM,OAAO,GAAI,KAA+C,CAAC,YAAY,EAAE,IAAI,CAAC;IACpF,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QACjF,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAC1C,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAwB,EACxB,GAAW,EACX,MAAmF;IAEnF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,EAAE,GAAG,CAAE,KAAoD,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;IACvG,MAAM,IAAI,GAAG,EAAE,GAAG,CAAE,YAAY,CAAC,IAA4D,IAAI,EAAE,CAAC,EAAE,CAAC;IACvG,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/D,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACzD,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAC1D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACxB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC;;QACxD,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QACjF,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAwB,EAAE,GAAW;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,EAAE,GAAG,CAAE,KAAoD,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;IACvG,MAAM,IAAI,GAAG,EAAE,GAAG,CAAE,YAAY,CAAC,IAA4C,IAAI,EAAE,CAAC,EAAE,CAAC;IACvF,4FAA4F;IAC5F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC;;QACxD,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QACjF,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CAAC,IAAwB,EAAE,SAAiC;IACjG,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;IACpF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAwB,EAAE,YAAoB;IACxF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC;IAC9D,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB,EAAE,OAAgB;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO;QACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACjC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,IAAqB;IACnF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,KAAK,gBAAgB;QACzC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC;QACpF,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACxC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAAwB,EAAE,IAAY;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,eAAe;IAC7B,OAAO,cAAc,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,yBAAyB,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAwB,EAAE,EAAU;IAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;2EAC2E;AAC3E,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAe;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACnC,OAAO,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACxH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAe;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAe,EACf,QAAgB;IAEhB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,aAAa,UAAU,EAAE,EAAE,CAAC,CAAC;IACrH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"settingsEnDisco.js","sourceRoot":"","sources":["../../../src/agent/config/settingsEnDisco.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Las CAJAS de una maqueta HTML (el `code.html` de Stitch): renderizarla en un Chrome sin ventana y medir
3
+ * cada botón con su texto. Es la mitad «maqueta» de `core/geometriaDePantalla.ts`.
4
+ *
5
+ * Cuatro decisiones, cada una medida:
6
+ * - **Un iframe del tamaño EXACTO de la maqueta.** Chrome sin ventana no baja de 500 px de ancho (medido,
7
+ * en el modo viejo y en `--headless=new`), y una maqueta de móvil mide 390: con la ventana a 500 se
8
+ * reparte otro ancho y cada caja sale en otro sitio. Dentro de un iframe de 390×746, el viewport —y los
9
+ * `100vh` de la maqueta— son los suyos.
10
+ * - **Sin `--allow-file-access-from-files`.** El `code.html` de Stitch carga Tailwind y las fuentes de un
11
+ * CDN, así que la red va ABIERTA; con ese permiso además, cualquier script de la página podría leer
12
+ * ficheros locales y mandarlos fuera. El script que mide va DENTRO de la copia de la maqueta y le pasa
13
+ * el resultado al envoltorio con `postMessage`, que no necesita ese permiso.
14
+ * - **Se comprueba que se RENDERIZÓ antes de fiarse.** Sin red, Tailwind no carga y Chrome devuelve las
15
+ * cajas de una página sin estilos: una medida falsa en silencio. Si la página pide Tailwind y no lo
16
+ * tiene, no hay cajas y se dice.
17
+ * - **Se escribe FUERA del proyecto** (un temporal, como `/pdf`) y se borra pase lo que pase.
18
+ *
19
+ * Se guarda por la huella del HTML y el tamaño: cada render son unos 6 s.
20
+ */
21
+ import { createHash } from "node:crypto";
22
+ import { execFile } from "node:child_process";
23
+ import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
24
+ import { tmpdir } from "node:os";
25
+ import { join } from "node:path";
26
+ import { navegadorParaImprimir } from "../exportarPdf.js";
27
+ /** Lo que tarda como mucho un render: con red lenta, Tailwind y las fuentes son unos segundos. */
28
+ export const TOPE_DE_RENDER_MS = 45_000;
29
+ const MARCA = "__xonecode_cajas";
30
+ /**
31
+ * Qué se mide de la maqueta: los TEXTOS que se ven, cada uno con su caja. Se ejecuta DENTRO de la página (se
32
+ * inyecta con `toString()`), así que es JavaScript que el navegador entiende tal cual y no puede usar nada de fuera.
33
+ * Exportada para probarla con un DOM de pruebas.
34
+ *
35
+ * Antes se medían solo los `<button>`, cada uno con TODO su texto pegado. En la calculadora valía —cada tecla es un
36
+ * botón con un texto—, pero en una pantalla de tarjetas (Maset) cada tarjeta es un botón con título, badge,
37
+ * subtítulo y contador dentro: salía UN elemento «ENTREGAS PRIORIDAD Reparto de pedidos… 12 pend.» que no coincide
38
+ * con ningún control del aparato (BLOQUEANTE falso), y todo lo que no es botón —cabecera, banda, sección, pie— no se
39
+ * veía. Ahora:
40
+ * - un botón con UN texto (sin contar los iconos de Material) es un elemento, con la caja del BOTÓN: su forma es la
41
+ * de la tecla, no la de las letras;
42
+ * - un botón con VARIOS textos se parte en ellos;
43
+ * - fuera de los botones, cada elemento con texto propio es uno.
44
+ * Cada uno dice si es un botón (`boton`): lo que no lo es y no tiene letras es un dato de ejemplo («12», «09:41»).
45
+ */
46
+ export function medirElementos(doc) {
47
+ var ICONO = /material-(symbols|icons)/;
48
+ var FUERA = /^(SCRIPT|STYLE|NOSCRIPT|TEMPLATE|TITLE|HEAD)$/;
49
+ var limpio = function (t) {
50
+ return (t || "").replace(/\s+/g, " ").trim();
51
+ };
52
+ var cajaDe = function (el) {
53
+ var r = el.getBoundingClientRect();
54
+ return r.width > 0 && r.height > 0 ? { x: r.left, y: r.top, ancho: r.width, alto: r.height } : undefined;
55
+ };
56
+ var propio = function (el) {
57
+ var t = "";
58
+ for (var n = el.firstChild; n; n = n.nextSibling)
59
+ if (n.nodeType === 3)
60
+ t += n.nodeValue;
61
+ return limpio(t);
62
+ };
63
+ // Todos sus textos, unidos con un espacio: `innerText` pegaría «content_copyCOPY» si el HTML no deja hueco entre ellos.
64
+ var todoElTexto = function (el) {
65
+ var partes = [];
66
+ var recorrer = function (n) {
67
+ for (var c = n.firstChild; c; c = c.nextSibling) {
68
+ if (c.nodeType === 3)
69
+ partes.push(c.nodeValue);
70
+ else if (c.nodeType === 1 && !FUERA.test(c.tagName))
71
+ recorrer(c);
72
+ }
73
+ };
74
+ recorrer(el);
75
+ return limpio(partes.join(" "));
76
+ };
77
+ var esIcono = function (el) {
78
+ return typeof el.className === "string" && ICONO.test(el.className);
79
+ };
80
+ var hojas = [];
81
+ var todos = doc.body.querySelectorAll("*");
82
+ for (var i = 0; i < todos.length; i++)
83
+ if (!FUERA.test(todos[i].tagName) && propio(todos[i]) !== "")
84
+ hojas.push(todos[i]);
85
+ var salida = [];
86
+ var cubiertas = [];
87
+ var botones = doc.querySelectorAll("button,[role=button]");
88
+ for (var j = 0; j < botones.length; j++) {
89
+ var b = botones[j];
90
+ var dentro = hojas.filter(function (h) {
91
+ return b === h || b.contains(h);
92
+ });
93
+ var textos = dentro.filter(function (h) {
94
+ return !esIcono(h);
95
+ });
96
+ if (textos.length > 1)
97
+ continue;
98
+ var cb = cajaDe(b);
99
+ // La caja de SU texto, si va en un elemento propio: la letra (color, tamaño, recorte) se mide ahí, no en el botón
100
+ // entero, donde también está el icono (medido en Maset: el gris del cuadro del icono salía como color del texto).
101
+ var ct = textos.length === 1 && textos[0] !== b ? cajaDe(textos[0]) : undefined;
102
+ if (cb !== undefined)
103
+ salida.push(ct === undefined ? { texto: todoElTexto(b), caja: cb, boton: true } : { texto: todoElTexto(b), caja: cb, boton: true, cajaDelTexto: ct });
104
+ for (var k = 0; k < dentro.length; k++)
105
+ cubiertas.push(dentro[k]);
106
+ }
107
+ for (var m = 0; m < hojas.length; m++) {
108
+ if (cubiertas.indexOf(hojas[m]) >= 0)
109
+ continue;
110
+ var ch = cajaDe(hojas[m]);
111
+ if (ch !== undefined)
112
+ salida.push({ texto: propio(hojas[m]), caja: ch });
113
+ }
114
+ return salida;
115
+ }
116
+ /** El script que mide, DENTRO de la maqueta: sus textos (`medirElementos`) y sus bloques anchos, al envoltorio. */
117
+ // `var __name`: bajo `tsx`, esbuild envuelve cada función con `__name(fn, "nombre")` (keepNames), y ese ayudante no existe
118
+ // dentro de la página: sin él la medida no volvía nunca, en silencio. Con el build de `tsc` no aparece y esto no estorba.
119
+ const MEDIDOR = `<script>var __name=function(f){return f};addEventListener("load",function(){setTimeout(function(){var o=(${medirElementos.toString()})(document);var b=[];var cs=document.querySelectorAll("header,nav,section,main,footer,div");for(var j=0;j<cs.length;j++){var q=cs[j].getBoundingClientRect();if(q.width<innerWidth*0.85||q.height<24||q.height>innerHeight*0.6)continue;var rep=false;for(var k=0;k<b.length;k++){if(Math.abs(b[k].y-q.top)<3&&Math.abs(b[k].alto-q.height)<3)rep=true;}if(!rep)b.push({x:q.left,y:q.top,ancho:q.width,alto:q.height});}parent.postMessage(JSON.stringify({ancho:innerWidth,alto:innerHeight,tailwind:typeof tailwind!=="undefined",pideTailwind:!!document.querySelector('script[src*="tailwindcss"]'),elementos:o,bloques:b}),"*");},1200);});</script>`;
120
+ function envoltorio(ancho, alto) {
121
+ return `<!doctype html><html><body style="margin:0"><iframe src="maqueta.html" style="border:0;width:${ancho}px;height:${alto}px"></iframe><script>addEventListener("message",function(e){var p=document.createElement("pre");p.id="${MARCA}";p.textContent=e.data;document.body.appendChild(p);});</script></body></html>`;
122
+ }
123
+ /** La escala de una imagen de maqueta: una exportada a 2x o 3x se mide a su tamaño en puntos. Pura. */
124
+ export function viewportDeMaqueta(anchoPng, altoPng) {
125
+ for (const escala of [1, 2, 3]) {
126
+ const ancho = anchoPng / escala;
127
+ if (ancho >= 300 && ancho <= 520)
128
+ return { ancho: Math.round(ancho), alto: Math.round(altoPng / escala) };
129
+ }
130
+ return { ancho: anchoPng, alto: altoPng };
131
+ }
132
+ /** El ancho y el alto de un PNG o un JPEG, de su cabecera. `undefined` si no se sabe. Pura. */
133
+ export function medidasDeImagen(bytes) {
134
+ if (bytes.length >= 24 && bytes[0] === 0x89 && bytes[1] === 0x50)
135
+ return { ancho: bytes.readUInt32BE(16), alto: bytes.readUInt32BE(20) };
136
+ if (bytes[0] === 0xff && bytes[1] === 0xd8) {
137
+ let i = 2;
138
+ while (i + 9 < bytes.length) {
139
+ if (bytes[i] !== 0xff)
140
+ return undefined;
141
+ const marca = bytes[i + 1];
142
+ if (marca >= 0xc0 && marca <= 0xc3)
143
+ return { alto: bytes.readUInt16BE(i + 5), ancho: bytes.readUInt16BE(i + 7) };
144
+ i += 2 + bytes.readUInt16BE(i + 2);
145
+ }
146
+ }
147
+ return undefined;
148
+ }
149
+ /** Saca la medida del DOM que vuelca Chrome. Pura. */
150
+ export function medidaDelDom(dom) {
151
+ const m = new RegExp(`<pre id="${MARCA}">([\\s\\S]*?)</pre>`).exec(dom);
152
+ if (m === null)
153
+ return undefined;
154
+ const texto = m[1].replace(/&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&#39;/g, "'").replace(/&amp;/g, "&");
155
+ try {
156
+ return JSON.parse(texto);
157
+ }
158
+ catch {
159
+ return undefined;
160
+ }
161
+ }
162
+ const cache = new Map();
163
+ /**
164
+ * Las cajas de `rutaDelHtml` renderizada a `ancho`×`alto`. Nunca lanza: lo que falla vuelve como motivo.
165
+ */
166
+ export async function cajasDeMaqueta(rutaDelHtml, ancho, alto, deps = {}) {
167
+ let html;
168
+ try {
169
+ html = readFileSync(rutaDelHtml, "utf8");
170
+ }
171
+ catch {
172
+ return { motivo: "no pude leer el code.html de la maqueta" };
173
+ }
174
+ const clave = `${createHash("sha256").update(html).digest("hex")}:${ancho}x${alto}`;
175
+ const guardada = cache.get(clave);
176
+ if (guardada !== undefined)
177
+ return guardada;
178
+ const navegador = deps.navegador ?? navegadorParaImprimir(existsSync);
179
+ if (navegador === undefined)
180
+ return { motivo: "no hay Chrome ni Chromium con el que renderizar la maqueta" };
181
+ const taller = mkdtempSync(join(tmpdir(), "xonecode-maqueta-"));
182
+ try {
183
+ writeFileSync(join(taller, "maqueta.html"), html.includes("</body>") ? html.replace(/<\/body>/i, `${MEDIDOR}</body>`) : `${html}${MEDIDOR}`, "utf8");
184
+ writeFileSync(join(taller, "envoltorio.html"), envoltorio(ancho, alto), "utf8");
185
+ const dom = await (deps.volcar ?? volcarReal)(navegador, [
186
+ "--headless=new",
187
+ "--disable-gpu",
188
+ `--window-size=${Math.max(ancho + 40, 600)},${alto + 40}`,
189
+ "--virtual-time-budget=15000",
190
+ "--dump-dom",
191
+ `file://${join(taller, "envoltorio.html")}`,
192
+ ]);
193
+ const medida = medidaDelDom(dom);
194
+ let resultado;
195
+ if (medida === undefined)
196
+ resultado = { motivo: "el navegador no devolvió la medida de la maqueta" };
197
+ else if (medida.pideTailwind && !medida.tailwind)
198
+ resultado = { motivo: "la maqueta no cargó sus estilos (Tailwind, de un CDN): ¿hay red?" };
199
+ else if (medida.elementos.length === 0)
200
+ resultado = { motivo: "la maqueta no tiene botones que medir" };
201
+ else
202
+ resultado = { ancho: medida.ancho, alto: medida.alto, elementos: medida.elementos, ...(medida.bloques === undefined ? {} : { bloques: medida.bloques }) };
203
+ // Un fallo por la RED no se guarda: con red, la siguiente vez saldrá.
204
+ if (!("motivo" in resultado) || !resultado.motivo.includes("red"))
205
+ cache.set(clave, resultado);
206
+ return resultado;
207
+ }
208
+ catch (error) {
209
+ return { motivo: `el navegador no pudo renderizar la maqueta (${error instanceof Error ? error.name : "error"})` };
210
+ }
211
+ finally {
212
+ rmSync(taller, { recursive: true, force: true });
213
+ }
214
+ }
215
+ const volcarReal = (navegador, argumentos) => new Promise((resolver, rechazar) => {
216
+ execFile(navegador, [...argumentos], { timeout: TOPE_DE_RENDER_MS, maxBuffer: 64 * 1024 * 1024 }, (error, salida) => error === null ? resolver(String(salida)) : rechazar(error));
217
+ });
218
+ //# sourceMappingURL=cajasDeMaqueta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cajasDeMaqueta.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/cajasDeMaqueta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * La geometría que `xone-captura-android` / `xone-hotswap shot` guardan con cada captura
3
+ * (`<captura sin extensión>.geometria.json` en `/hotswap/`, ver `skills/xone-hotswap/lib/geometria.mjs`).
4
+ *
5
+ * Se empareja por el NOMBRE de la captura, nunca por la fecha de los ficheros: emparejar por fecha cruzó
6
+ * una vez el árbol de una ronda con la captura de otra. Nunca lanza: lo que no está o no se entiende es
7
+ * `undefined`, y el crítico lo dice.
8
+ *
9
+ * **Y, si el nombre no la encuentra, por el CONTENIDO** (`geometriaPorContenido`). Medido en Maset: el conductor
10
+ * sacaba `xone-hotswap shot` (`captura-1791288505460.jpg`, con su geometría) y la convertía con `sips` a
11
+ * `menu_ronda7.png`; el crítico, sin árbol que leer, se quedaba en la opinión del modelo dos rondas seguidas. La
12
+ * geometría se acepta solo si la captura ORIGINAL que nombra sigue en `/artefactos/` con los MISMOS píxeles que la
13
+ * que se juzga: una conversión o un renombrado la conservan; una captura de otro momento, no. La fecha solo acota
14
+ * cuántas se miran, nunca decide.
15
+ */
16
+ import { readdirSync, readFileSync, statSync } from "node:fs";
17
+ import { join } from "node:path";
18
+ /** El nombre del fichero de geometría de una captura. La MISMA regla que `nombreDeGeometria` del script. */
19
+ export function nombreDeGeometria(nombreDeCaptura) {
20
+ const base = nombreDeCaptura.slice(nombreDeCaptura.lastIndexOf("/") + 1);
21
+ return `${base.replace(/\.[A-Za-z0-9]{2,4}$/, "")}.geometria.json`;
22
+ }
23
+ /** Cuántas geometrías, de las más recientes, se miran al buscar por contenido. */
24
+ export const GEOMETRIAS_A_MIRAR = 12;
25
+ /**
26
+ * Cuántos píxeles DISTINTOS se toleran, en fracción de la imagen. Una captura reconvertida (JPEG → PNG) repite los
27
+ * píxeles exactos; dos rondas distintas de la MISMA pantalla difieren en poco —la banda movida unos píxeles—, y por eso
28
+ * no vale una diferencia MEDIA: medido en Maset, la ronda 6 pasaba por la ronda 7 con una media por debajo de 2.
29
+ * Medido con las capturas reales (con `UMBRAL_DE_CANAL` 40): la misma captura reconvertida por `sips` difiere en un
30
+ * 0,02 % de los píxeles —dos decodificadores de JPEG no redondean igual en los bordes—, y dos rondas consecutivas en un
31
+ * 0,72 %. El tope va en medio, más cerca de la misma.
32
+ */
33
+ const PIXELES_DISTINTOS_TOLERADOS = 0.001;
34
+ /** Un píxel es distinto si algún canal se aparta más de esto: la holgura del ruido entre decodificadores de JPEG (medido). */
35
+ const UMBRAL_DE_CANAL = 40;
36
+ /** Cuántos píxeles distintos hay, en fracción; `Infinity` si no tienen el mismo tamaño. Recorre la imagen ENTERA. Pura. */
37
+ export function fraccionDistinta(a, b) {
38
+ if (a.ancho !== b.ancho || a.alto !== b.alto)
39
+ return Infinity;
40
+ let distintos = 0;
41
+ for (let i = 0; i < a.datos.length; i += 4) {
42
+ if (Math.abs(a.datos[i] - b.datos[i]) > UMBRAL_DE_CANAL ||
43
+ Math.abs(a.datos[i + 1] - b.datos[i + 1]) > UMBRAL_DE_CANAL ||
44
+ Math.abs(a.datos[i + 2] - b.datos[i + 2]) > UMBRAL_DE_CANAL) {
45
+ distintos += 1;
46
+ }
47
+ }
48
+ return distintos / (a.ancho * a.alto);
49
+ }
50
+ /** ¿Son la MISMA imagen (la misma captura, quizá reconvertida)? Pura. */
51
+ export function mismaImagen(a, b) {
52
+ return fraccionDistinta(a, b) <= PIXELES_DISTINTOS_TOLERADOS;
53
+ }
54
+ const leerGeometria = (ruta) => {
55
+ try {
56
+ const leido = JSON.parse(readFileSync(ruta, "utf8"));
57
+ return leido["v"] === 1 ? leido : undefined;
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
62
+ };
63
+ /** La geometría de otra captura con los mismos píxeles que ésta, o `undefined`. Nunca lanza. */
64
+ export function geometriaPorContenido(carpetaDeHotswap, nombreDeCaptura, busqueda) {
65
+ try {
66
+ const base = nombreDeCaptura.slice(nombreDeCaptura.lastIndexOf("/") + 1);
67
+ const juzgada = busqueda.decodificar(readFileSync(join(busqueda.carpetaDeArtefactos, base)));
68
+ const candidatas = readdirSync(carpetaDeHotswap)
69
+ .filter((n) => n.endsWith(".geometria.json"))
70
+ .map((n) => ({ n, t: statSync(join(carpetaDeHotswap, n)).mtimeMs }))
71
+ .sort((a, b) => b.t - a.t)
72
+ .slice(0, GEOMETRIAS_A_MIRAR);
73
+ let mejor;
74
+ for (const { n } of candidatas) {
75
+ const g = leerGeometria(join(carpetaDeHotswap, n));
76
+ const original = g?.["captura"];
77
+ if (g === undefined || typeof original !== "string" || original === base)
78
+ continue;
79
+ const pantalla = g["pantalla"];
80
+ if (pantalla !== undefined && (pantalla.ancho !== juzgada.ancho || pantalla.alto !== juzgada.alto))
81
+ continue;
82
+ try {
83
+ const otra = busqueda.decodificar(readFileSync(join(busqueda.carpetaDeArtefactos, original.slice(original.lastIndexOf("/") + 1))));
84
+ const f = fraccionDistinta(juzgada, otra);
85
+ if (f <= PIXELES_DISTINTOS_TOLERADOS && (mejor === undefined || f < mejor.f))
86
+ mejor = { g, f };
87
+ }
88
+ catch {
89
+ // La original ya no está o no se lee: esa no.
90
+ }
91
+ }
92
+ // La MÁS parecida de las que pasan, no la primera: la más reciente no tiene por qué ser la suya.
93
+ if (mejor !== undefined)
94
+ return mejor.g;
95
+ }
96
+ catch {
97
+ // Sin captura que leer o sin carpeta: sin geometría.
98
+ }
99
+ return undefined;
100
+ }
101
+ export async function geometriaDeCaptura(carpetaDeHotswap, nombreDeCaptura, busqueda) {
102
+ const porNombre = leerGeometria(join(carpetaDeHotswap, nombreDeGeometria(nombreDeCaptura)));
103
+ if (porNombre !== undefined || busqueda === undefined)
104
+ return porNombre;
105
+ return geometriaPorContenido(carpetaDeHotswap, nombreDeCaptura, busqueda);
106
+ }
107
+ //# sourceMappingURL=geometriaEnDisco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometriaEnDisco.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/geometriaEnDisco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,4GAA4G;AAC5G,MAAM,UAAU,iBAAiB,CAAC,eAAuB;IACvD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC;AACrE,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC;;;;;;;GAOG;AACH,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,8HAA8H;AAC9H,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,2HAA2H;AAC3H,MAAM,UAAU,gBAAgB,CAAC,CAAa,EAAE,CAAa;IAC3D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC9D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,eAAe;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,eAAe;YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,eAAe,EAC7D,CAAC;YACD,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,CAAa,EAAE,CAAa;IACtD,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,2BAA2B,CAAC;AAC/D,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAuC,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;QAChF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAQF,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CAAC,gBAAwB,EAAE,eAAuB,EAAE,QAA8B;IACrH,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzB,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAChC,IAAI,KAA4D,CAAC;QACjE,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;gBAAE,SAAS;YACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAkD,CAAC;YAChF,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7G,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnI,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAAE,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACjG,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;QACD,iGAAiG;QACjG,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,gBAAwB,EAAE,eAAuB,EAAE,QAA+B;IACzH,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC"}