xonecode 0.8.42 → 0.8.46

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 (32) hide show
  1. package/apps/web/dist/assets/{index--HvR4hMi.js → index-GRwyotMV.js} +52 -52
  2. package/apps/web/dist/assets/{index-CwAAn-xT.css → index-_cBVqq54.css} +1 -1
  3. package/apps/web/dist/assets/{php-HCmCEpFP.js → php-Bx1jVads.js} +1 -1
  4. package/apps/web/dist/assets/{ruby-DsWetjbK.js → ruby-L0I9KR6K.js} +1 -1
  5. package/apps/web/dist/index.html +2 -2
  6. package/dist/agent/config/settingsEnDisco.js +50 -2
  7. package/dist/agent/config/settingsEnDisco.js.map +1 -1
  8. package/dist/agent/grafo/proyecto.js +5 -1
  9. package/dist/agent/grafo/proyecto.js.map +1 -1
  10. package/dist/agent/subagentes/agentesEnDisco.js +4 -0
  11. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  12. package/dist/cli/main.js +17 -1
  13. package/dist/cli/main.js.map +1 -1
  14. package/dist/core/dispositivoDeSesion.js +49 -0
  15. package/dist/core/dispositivoDeSesion.js.map +1 -0
  16. package/dist/core/settings.js +21 -0
  17. package/dist/core/settings.js.map +1 -1
  18. package/dist/core/shellDeAgente.js +3 -0
  19. package/dist/core/shellDeAgente.js.map +1 -1
  20. package/dist/web/servidor/arranque.js +89 -4
  21. package/dist/web/servidor/arranque.js.map +1 -1
  22. package/dist/web/servidor/transporte.js.map +1 -1
  23. package/dist/web/servidor/vestibulo.js +60 -6
  24. package/dist/web/servidor/vestibulo.js.map +1 -1
  25. package/package.json +1 -1
  26. package/skills/xone-hotswap/SKILL.md +5 -1
  27. package/skills/xone-hotswap/lib/dispositivo.mjs +72 -0
  28. package/skills/xone-hotswap/scripts/xone-arrancar-ios +3 -1
  29. package/skills/xone-hotswap/scripts/xone-captura-android +5 -1
  30. package/skills/xone-hotswap/scripts/xone-desplegar-android +5 -1
  31. package/skills/xone-hotswap/scripts/xone-log-android +5 -1
  32. package/skills/xone-hotswap/scripts/xone-reiniciar-android +5 -1
@@ -22,11 +22,13 @@
22
22
  * para que un test pueda contestarla sin carpetas, y su omisión es la de verdad porque
23
23
  * mentir en esa pregunta abre un proyecto que no existe.
24
24
  */
25
+ import { ficheroDeDispositivoDeSesion, lineaDelDispositivo } from "../../core/dispositivoDeSesion.js";
26
+ import { crearRegistroDeFallos } from "../../agent/turno/registroDeFallos.js";
25
27
  import { baseDeWorkspacePorOmision } from "../../agent/config/settingsEnDisco.js";
26
28
  import { randomUUID } from "node:crypto";
27
- import { existsSync } from "node:fs";
29
+ import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
28
30
  import { homedir } from "node:os";
29
- import { join } from "node:path";
31
+ import { dirname, join } from "node:path";
30
32
  import { consumoDeLosActos, sumarConsumo } from "../../core/actos.js";
31
33
  import { consumoDeLaSesion, consumoPersistible, esDoble } from "../../core/ports.js";
32
34
  import { rutaDeWorkspace } from "../../core/settings.js";
@@ -94,8 +96,15 @@ const SESIONES_EN_DISCO = {
94
96
  /**
95
97
  * ¿Hay una copia local de proyecto en esa raíz? Es el MISMO criterio con el que el alta
96
98
  * decide `proyectos[].local` (`arranque.ts#hayCopiaLocal`, que tira de aquí): existe su
97
- * `.xonecode/config.json`. Dos copias del predicado es cómo divergen el día que una se
98
- * afine — el mismo motivo por el que la regla de URL de MCP vive en un solo sitio.
99
+ * `.xonecode/config.json` **y el `sync.json` de una bajada que TERMINÓ**. Dos copias del
100
+ * predicado es cómo divergen el día que una se afine — el mismo motivo por el que la regla de
101
+ * URL de MCP vive en un solo sitio.
102
+ *
103
+ * El `sync.json` es la mitad nueva, y cierra un fallo medido: el alta escribe el `config.json`
104
+ * ANTES de bajar —a propósito, para que «reintenta con /sync bajar» sea verdad—, así que con
105
+ * solo él una descarga que fallaba dejaba una carpeta vacía que la barra daba por bajada y que
106
+ * se abría como proyecto. `descargarProyecto` escribe el `sync.json` al acabar, también por la
107
+ * vía fichero a fichero; si no está, lo que hay que hacer es bajarlo, y eso es el alta.
99
108
  *
100
109
  * Se lo traga todo y devuelve `false`: una raíz que no se puede ni mirar (permisos, un
101
110
  * enlace roto) no es un proyecto sobre el que abrir nada, y esta puerta falla CERRADO.
@@ -103,7 +112,7 @@ const SESIONES_EN_DISCO = {
103
112
  export function esProyectoEnDisco(raiz) {
104
113
  // Sin `try`: `existsSync` no lanza nunca —traga cualquier error del sistema y devuelve
105
114
  // false—, así que envolverlo sugeriría un peligro que no existe.
106
- return existsSync(join(raiz, ".xonecode", "config.json"));
115
+ return existsSync(join(raiz, ".xonecode", "config.json")) && existsSync(join(raiz, ".xonecode", "cloudstudio", "sync.json"));
107
116
  }
108
117
  /**
109
118
  * Lo que se contesta a quien intenta abrir —o borrar— la conversación de una tarea que sigue
@@ -241,6 +250,7 @@ export function crearVestibulo(opciones) {
241
250
  const crearConsola = opciones.crearConsola ?? crearConsolaWeb;
242
251
  const correr = opciones.correr ?? correrConsola;
243
252
  const base = opciones.baseDeWorkspace ?? baseDeWorkspacePorOmision;
253
+ const anotarFallo = opciones.anotarFallo ?? ((raiz, fallo) => void crearRegistroDeFallos(raiz).anotar(fallo));
244
254
  const adoptarLegado = opciones.adoptarLegado ??
245
255
  // `rutaAuthPorDefecto` y no un `join` propio: el mismo literal en dos ficheros es lo
246
256
  // que esta cabecera condena, y `cloudstudioMcp.ts` la exporta justo para esto.
@@ -548,6 +558,9 @@ export function crearVestibulo(opciones) {
548
558
  if (historica && (await opciones.hayMemoriaDeHilo?.(raiz, sesion)) === true)
549
559
  historica = false;
550
560
  let dispositivo = reabierta?.dispositivo;
561
+ // El fichero que leen los scripts del `device-controller` (`core/dispositivoDeSesion.ts`)
562
+ // queda como la pastilla DESDE QUE SE ABRE: también sin elección, que borra uno viejo.
563
+ escribirDispositivoDeSesion(raiz, idSesion, dispositivo);
551
564
  let cerrada = false;
552
565
  /** Ver `ConsolaDeProyecto.turnoEnVuelo`: lo pone y lo quita el envoltorio de abajo, que
553
566
  * es el único sitio que ve los dos flancos. */
@@ -691,7 +704,9 @@ export function crearVestibulo(opciones) {
691
704
  // `crearEjecutorReal` acaba de abrir moría en este envoltorio: el corredor de
692
705
  // tareas no tendría con qué medir si lo hecho es entregable, y ninguna piel se
693
706
  // enteraría — que es exactamente cómo el `terminada` falso pasó desapercibido.
694
- return await ejecutorEfectivo(peticion, estado, consola);
707
+ // Con la línea del dispositivo DELANTE: el agente sabe con cuál trabaja esta sesión —o
708
+ // que no hay ninguno y se prefiere un emulador— sin tener que descubrirlo.
709
+ return await ejecutorEfectivo(`${lineaDelDispositivo(dispositivo)}\n\n${peticion}`, estado, consola);
695
710
  }
696
711
  finally {
697
712
  // En el `finally`: un turno que revienta o que se cancela también TERMINA, y dejar
@@ -862,6 +877,9 @@ export function crearVestibulo(opciones) {
862
877
  },
863
878
  elegirDispositivo: (elegido) => {
864
879
  dispositivo = elegido;
880
+ // El fichero, SIEMPRE y en el acto: lo leen los scripts en cada ejecución, así que
881
+ // cambiar de aparato con la sesión abierta alcanza al siguiente comando.
882
+ escribirDispositivoDeSesion(raiz, idSesion, elegido);
865
883
  // Si todavía no está en el índice, se queda en memoria: `volcar()` lo anotará en
866
884
  // cuanto cree la entrada. Escribir aquí una entrada nueva la enseñaría en la barra
867
885
  // como una sesión vacía que nadie ha empezado.
@@ -1188,6 +1206,15 @@ export function crearVestibulo(opciones) {
1188
1206
  // con el «otro» de la lista, `entornoPorId` no encontraría nada.
1189
1207
  return { ...guardado, entorno: identificado };
1190
1208
  },
1209
+ async olvidarEntorno(id, modo = {}) {
1210
+ const registrado = entornoPorId(id);
1211
+ const quitado = opciones.olvidarEntorno(registrado.id, modo);
1212
+ const donde = registrados.findIndex((e) => e.id === registrado.id);
1213
+ if (donde >= 0)
1214
+ registrados.splice(donde, 1);
1215
+ informar(`entorno «${registrado.id}» quitado de ${quitado.ruta}; sus copias locales se quedan`);
1216
+ return quitado;
1217
+ },
1191
1218
  async guardarProyectosVisibles(entorno, proyectos) {
1192
1219
  const registrado = entornoPorId(entorno);
1193
1220
  const conProyectos = { ...registrado, proyectos: [...proyectos] };
@@ -1315,6 +1342,13 @@ export function crearVestibulo(opciones) {
1315
1342
  }
1316
1343
  catch (error) {
1317
1344
  const detalle = error instanceof Error ? error.message : String(error);
1345
+ // Se APUNTA en el registro de fallos del proyecto, con qué se bajaba y la cadena de
1346
+ // causas: hasta ahora solo salía en pantalla, y el «sigue diciendo que no hay proyecto
1347
+ // abierto» de una descarga no dejó ningún rastro con el que mirar después.
1348
+ anotarFallo(raiz, {
1349
+ error,
1350
+ peticion: `descarga de «${identidad.nombre}» (entorno ${registrado.id}, rama ${rama})`,
1351
+ });
1318
1352
  informar(`no se pudo descargar el proyecto: ${detalle}`);
1319
1353
  informar(`el alta quedó completa en ${ruta}; reintenta la descarga con «/sync bajar»`);
1320
1354
  // Se propaga: quien llama decide si vuelve al paso de proyecto o abre igualmente
@@ -1364,4 +1398,24 @@ export function crearVestibulo(opciones) {
1364
1398
  }),
1365
1399
  };
1366
1400
  }
1401
+ /**
1402
+ * Deja el fichero del dispositivo de la sesión como la pastilla: el elegido, o NINGÚN fichero si
1403
+ * no hay elección (y entonces los scripts prefieren un emulador). Nunca lanza: un disco que no
1404
+ * deja escribir aquí no puede tumbar abrir una sesión, y lo peor que pasa es que el script use su
1405
+ * regla de omisión.
1406
+ */
1407
+ function escribirDispositivoDeSesion(raiz, id, d) {
1408
+ try {
1409
+ const fichero = ficheroDeDispositivoDeSesion(raiz, id);
1410
+ if (d === undefined) {
1411
+ rmSync(fichero, { force: true });
1412
+ return;
1413
+ }
1414
+ mkdirSync(dirname(fichero), { recursive: true });
1415
+ writeFileSync(fichero, `${JSON.stringify({ id: d.id, nombre: d.nombre, plataforma: d.plataforma, clase: d.clase })}\n`);
1416
+ }
1417
+ catch {
1418
+ // Ver arriba: se cae a la regla de omisión del script.
1419
+ }
1420
+ }
1367
1421
  //# sourceMappingURL=vestibulo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vestibulo.js","sourceRoot":"","sources":["../../../src/web/servidor/vestibulo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vestibulo.js","sourceRoot":"","sources":["../../../src/web/servidor/vestibulo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xonecode",
3
- "version": "0.8.42",
3
+ "version": "0.8.46",
4
4
  "description": "Consola CLI y harness de agente para desarrollar aplicaciones XOne",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -185,7 +185,11 @@ resuelve con el mismo localizador que la pestaña Ejecutar.
185
185
  ## Cómo llegar, según la plataforma
186
186
 
187
187
  **Android** — por `adb forward`, y entonces la IP es `127.0.0.1` (el localhost del PC, que adb
188
- tuneliza al dispositivo). Con varios dispositivos, `adb -s <serial>`:
188
+ tuneliza al dispositivo). **Qué aparato usan los scripts `xone-*`**: el que se les pase con
189
+ `--serie`; si no, el ELEGIDO en la sesión de XOneCode (lo leen de `$XONECODE_DISPOSITIVO` en cada
190
+ ejecución); si no hay elección, un EMULADOR antes que un dispositivo físico. Lo dicen por stderr
191
+ (`dispositivo: emulator-5554 (el de la sesión: Pixel 8)`). Con `adb` a mano y varios
192
+ dispositivos, `adb -s <serial>`:
189
193
 
190
194
  ```bash
191
195
  adb devices -l
@@ -0,0 +1,72 @@
1
+ /**
2
+ * A qué aparato apuntan los scripts de esta skill, cuando nadie se lo dice con `--serie`/`--udid`.
3
+ *
4
+ * Es UNA regla para todos los scripts, y por eso vive aquí y no copiada en cada uno: con cinco
5
+ * copias, la del día que alguien la afine sería la única que cambia.
6
+ *
7
+ * El orden, de más explícito a menos:
8
+ * 1. Lo que se pasó a mano (`--serie` / `--udid`).
9
+ * 2. El dispositivo ELEGIDO en la sesión: XOneCode deja en `XONECODE_DISPOSITIVO` la ruta de un
10
+ * fichero con la elección de la pastilla del chat, y se lee AHORA, en cada ejecución — así un
11
+ * cambio de aparato con la sesión abierta alcanza al siguiente comando.
12
+ * 3. Sin elección: un EMULADOR antes que un dispositivo físico. Con uno solo conectado, ése.
13
+ * Con varios físicos y ningún emulador no se adivina: se devuelve `undefined` y adb dirá
14
+ * que hay más de uno, que es verdad.
15
+ *
16
+ * Fuera de `scripts/` a propósito: esa carpeta va al PATH y cada fichero suyo es un comando.
17
+ */
18
+ import { execFileSync } from "node:child_process";
19
+ import { existsSync, readFileSync } from "node:fs";
20
+
21
+ /** El dispositivo elegido en la sesión, o `undefined`. Un fichero roto es «no hay elección». */
22
+ export function dispositivoDeLaSesion(entorno = process.env) {
23
+ const fichero = entorno.XONECODE_DISPOSITIVO;
24
+ if (!fichero || !existsSync(fichero)) return undefined;
25
+ try {
26
+ const d = JSON.parse(readFileSync(fichero, "utf8"));
27
+ if (typeof d?.id !== "string" || d.id === "") return undefined;
28
+ if (d.plataforma !== "android" && d.plataforma !== "ios") return undefined;
29
+ return d;
30
+ } catch {
31
+ return undefined;
32
+ }
33
+ }
34
+
35
+ /**
36
+ * De la salida de `adb devices`, el serial a usar sin elección: un emulador primero. Pura, para
37
+ * poder probarla sin adb delante. Solo cuentan las líneas en estado `device`: uno `offline` o
38
+ * `unauthorized` no se puede usar.
39
+ */
40
+ export function preferirEmulador(salidaDeAdbDevices) {
41
+ const listos = String(salidaDeAdbDevices)
42
+ .split("\n")
43
+ .map((l) => l.trim().split(/\s+/))
44
+ .filter((partes) => partes.length >= 2 && partes[1] === "device")
45
+ .map((partes) => partes[0]);
46
+ if (listos.length === 1) return listos[0];
47
+ return listos.find((serial) => serial.startsWith("emulator-"));
48
+ }
49
+
50
+ /** El serial de Android: `--serie`, el de la sesión o un emulador. Y dice de dónde salió. */
51
+ export function serieAndroid(explicita, { entorno = process.env, adb = "adb" } = {}) {
52
+ if (explicita) return { serie: explicita, porque: "pasado con --serie" };
53
+ const elegido = dispositivoDeLaSesion(entorno);
54
+ if (elegido?.plataforma === "android") return { serie: elegido.id, porque: `el de la sesión: ${elegido.nombre}` };
55
+ try {
56
+ const serie = preferirEmulador(execFileSync(adb, ["devices"], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }));
57
+ if (serie !== undefined) {
58
+ return { serie, porque: serie.startsWith("emulator-") ? "sin elegir en la sesión: un emulador" : "el único conectado" };
59
+ }
60
+ } catch {
61
+ // Sin adb que conteste, el script sigue sin `-s` y su propia comprobación dirá qué falta.
62
+ }
63
+ return { serie: undefined, porque: "sin elegir" };
64
+ }
65
+
66
+ /** El UDID de iOS: `--udid`, o el SIMULADOR elegido en la sesión. Un iPhone físico no: estos
67
+ * scripts solo hablan con simuladores (`xcrun simctl`). */
68
+ export function udidIos(explicito, entorno = process.env) {
69
+ if (explicito) return explicito;
70
+ const elegido = dispositivoDeLaSesion(entorno);
71
+ return elegido?.plataforma === "ios" && elegido.clase === "simulador" ? elegido.id : undefined;
72
+ }
@@ -25,6 +25,7 @@
25
25
  * deja de responder justo después de abrir un menú, es eso y es un defecto AJENO al hotswap.
26
26
  */
27
27
  import { execFileSync } from "node:child_process";
28
+ import { udidIos } from "../lib/dispositivo.mjs";
28
29
 
29
30
  const HOST = "es.xone.studioapp.swift";
30
31
 
@@ -48,7 +49,8 @@ const opcion = (nombre) => {
48
49
 
49
50
  /** El simulador arrancado, o el que se diga. Sin ninguno, se dice: no se arranca uno a ciegas. */
50
51
  function udid() {
51
- const dicho = opcion("udid");
52
+ // `--udid`, o el SIMULADOR elegido en la sesión (`../lib/dispositivo.mjs`).
53
+ const dicho = udidIos(opcion("udid"));
52
54
  if (dicho !== undefined) return dicho;
53
55
  const salida = execFileSync("xcrun", ["simctl", "list", "devices", "booted", "-j"], { encoding: "utf8" });
54
56
  const porRuntime = JSON.parse(salida).devices ?? {};
@@ -25,6 +25,7 @@
25
25
  import { execFileSync } from "node:child_process";
26
26
  import { writeFileSync } from "node:fs";
27
27
  import { join, basename } from "node:path";
28
+ import { serieAndroid } from "../lib/dispositivo.mjs";
28
29
 
29
30
  const args = process.argv.slice(2);
30
31
  if (args.includes("--help") || args.includes("-h")) {
@@ -53,7 +54,10 @@ const opcion = (nombre) => {
53
54
  const i = args.indexOf(`--${nombre}`);
54
55
  return i >= 0 ? args[i + 1] : undefined;
55
56
  };
56
- const serie = opcion("serie");
57
+ // `--serie`, el dispositivo elegido en la sesión o un emulador (`../lib/dispositivo.mjs`). Se
58
+ // dice por stderr con cuál y por qué: con varios aparatos, callarlo haría adivinar dónde pasó.
59
+ const { serie, porque } = serieAndroid(opcion("serie"));
60
+ if (serie !== undefined) process.stderr.write(`dispositivo: ${serie} (${porque})\n`);
57
61
 
58
62
  // `basename` y no la cadena tal cual: el nombre lo elige el modelo, y un `../` aquí escribiría
59
63
  // fuera de la carpeta de la sesión. Misma regla que `esRutaDeArtefacto` en el host.
@@ -48,6 +48,7 @@ import { execFileSync } from "node:child_process";
48
48
  import { existsSync, readFileSync, readdirSync } from "node:fs";
49
49
  import { basename, join, relative, sep } from "node:path";
50
50
  import { deflateRawSync } from "node:zlib";
51
+ import { serieAndroid } from "../lib/dispositivo.mjs";
51
52
 
52
53
  const PAQUETE = "com.xone.android.framework";
53
54
  const ACTIVIDAD = `${PAQUETE}/com.xone.android.hotswap.activities.SetupActivity`;
@@ -169,7 +170,10 @@ Studio o \`xone-db-tools\`, no esto, y sin ella la app muere aunque el verificad
169
170
  process.exit(0);
170
171
  }
171
172
 
172
- const serie = opcion("serie");
173
+ // `--serie`, el dispositivo elegido en la sesión o un emulador (`../lib/dispositivo.mjs`). Se
174
+ // dice por stderr con cuál y por qué: con varios aparatos, callarlo haría adivinar dónde pasó.
175
+ const { serie, porque } = serieAndroid(opcion("serie"));
176
+ if (serie !== undefined) process.stderr.write(`dispositivo: ${serie} (${porque})\n`);
173
177
  const adb = (...partes) =>
174
178
  execFileSync("adb", [...(serie ? ["-s", serie] : []), ...partes], { encoding: "utf8" });
175
179
 
@@ -21,6 +21,7 @@
21
21
  * xone-log-android --serie emulator-5554
22
22
  */
23
23
  import { execFileSync } from "node:child_process";
24
+ import { serieAndroid } from "../lib/dispositivo.mjs";
24
25
 
25
26
  const PAQUETE = "com.xone.android.framework";
26
27
 
@@ -43,7 +44,10 @@ const opcion = (nombre) => {
43
44
  const i = args.indexOf(`--${nombre}`);
44
45
  return i >= 0 ? args[i + 1] : undefined;
45
46
  };
46
- const serie = opcion("serie");
47
+ // `--serie`, el dispositivo elegido en la sesión o un emulador (`../lib/dispositivo.mjs`). Se
48
+ // dice por stderr con cuál y por qué: con varios aparatos, callarlo haría adivinar dónde pasó.
49
+ const { serie, porque } = serieAndroid(opcion("serie"));
50
+ if (serie !== undefined) process.stderr.write(`dispositivo: ${serie} (${porque})\n`);
47
51
  const adb = (...partes) =>
48
52
  execFileSync("adb", [...(serie ? ["-s", serie] : []), ...partes], {
49
53
  encoding: "utf8",
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import { execFileSync } from "node:child_process";
23
23
  import { join } from "node:path";
24
+ import { serieAndroid } from "../lib/dispositivo.mjs";
24
25
 
25
26
  const PAQUETE = "com.xone.android.framework";
26
27
  const ACTIVIDAD = `${PAQUETE}/com.xone.android.hotswap.activities.SetupActivity`;
@@ -43,7 +44,10 @@ const opcion = (nombre) => {
43
44
  const i = args.indexOf(`--${nombre}`);
44
45
  return i >= 0 ? args[i + 1] : undefined;
45
46
  };
46
- const serie = opcion("serie");
47
+ // `--serie`, el dispositivo elegido en la sesión o un emulador (`../lib/dispositivo.mjs`). Se
48
+ // dice por stderr con cuál y por qué: con varios aparatos, callarlo haría adivinar dónde pasó.
49
+ const { serie, porque } = serieAndroid(opcion("serie"));
50
+ if (serie !== undefined) process.stderr.write(`dispositivo: ${serie} (${porque})\n`);
47
51
  const adb = (...partes) =>
48
52
  execFileSync("adb", [...(serie ? ["-s", serie] : []), ...partes], { encoding: "utf8" });
49
53