xonecode 0.20.3 → 0.21.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.
Files changed (54) hide show
  1. package/apps/web/dist/assets/index-CFoqpKRk.css +1 -0
  2. package/apps/web/dist/assets/{index-40sIfNsT.js → index-DgvLb2SM.js} +69 -68
  3. package/apps/web/dist/assets/{php-CDg2Quc0.js → php-UkjSyds-.js} +1 -1
  4. package/apps/web/dist/assets/{ruby-DlFaAWQT.js → ruby-e801JuzW.js} +1 -1
  5. package/apps/web/dist/index.html +2 -2
  6. package/dist/agent/conectores/servicioDeConectores.js +86 -45
  7. package/dist/agent/conectores/servicioDeConectores.js.map +1 -1
  8. package/dist/agent/config/modelos.js +4 -0
  9. package/dist/agent/config/modelos.js.map +1 -1
  10. package/dist/agent/grafo/proyecto.js +91 -50
  11. package/dist/agent/grafo/proyecto.js.map +1 -1
  12. package/dist/agent/motores/trueforge/capacidades.js +22 -0
  13. package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
  14. package/dist/agent/motores/trueforge/medidaAutomatica.js +16 -3
  15. package/dist/agent/motores/trueforge/medidaAutomatica.js.map +1 -1
  16. package/dist/agent/motores/trueforge/modeloLangchain.js +7 -1
  17. package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
  18. package/dist/agent/motores/trueforge/sesionTrueforge.js +135 -14
  19. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  20. package/dist/agent/motores/trueforge/toolsDeConectores.js +128 -0
  21. package/dist/agent/motores/trueforge/toolsDeConectores.js.map +1 -0
  22. package/dist/agent/motores/trueforge/traerDeStitch.js +142 -0
  23. package/dist/agent/motores/trueforge/traerDeStitch.js.map +1 -0
  24. package/dist/agent/subagentes/consumoExterno.js +15 -8
  25. package/dist/agent/subagentes/consumoExterno.js.map +1 -1
  26. package/dist/agent/subagentes/escrituraExterna.js +69 -2
  27. package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
  28. package/dist/agent/subagentes/subagenteExterno.js +17 -1
  29. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  30. package/dist/agent/turno/turnoReal.js +1 -0
  31. package/dist/agent/turno/turnoReal.js.map +1 -1
  32. package/dist/cli/main.js +5 -2
  33. package/dist/cli/main.js.map +1 -1
  34. package/dist/core/actos.js +44 -1
  35. package/dist/core/actos.js.map +1 -1
  36. package/dist/core/agentes.js +13 -2
  37. package/dist/core/agentes.js.map +1 -1
  38. package/dist/core/comandoExterno.js +69 -0
  39. package/dist/core/comandoExterno.js.map +1 -0
  40. package/dist/core/conectores.js +148 -3
  41. package/dist/core/conectores.js.map +1 -1
  42. package/dist/core/ports.js +28 -0
  43. package/dist/core/ports.js.map +1 -1
  44. package/dist/core/stitch.js +114 -0
  45. package/dist/core/stitch.js.map +1 -0
  46. package/dist/web/servidor/arranque.js +47 -9
  47. package/dist/web/servidor/arranque.js.map +1 -1
  48. package/dist/web/servidor/consolaDeTarea.js +4 -1
  49. package/dist/web/servidor/consolaDeTarea.js.map +1 -1
  50. package/dist/web/servidor/pielWeb.js +3 -1
  51. package/dist/web/servidor/pielWeb.js.map +1 -1
  52. package/dist/web/servidor/transporte.js.map +1 -1
  53. package/package.json +1 -1
  54. package/apps/web/dist/assets/index-BYTna8Os.css +0 -1
@@ -60,6 +60,27 @@ export function capacidadDePropias(tools, backend, conAprobacion = []) {
60
60
  },
61
61
  };
62
62
  }
63
+ /**
64
+ * Las tools de los conectores MCP del proyecto, de UNA clase (`toolsDeConectores.ts`): las de
65
+ * lectura sin aprobación, y el resto con aprobación TODAS (`@all`), porque lo que el servidor no
66
+ * declara de lectura escribe en la cuenta de la persona. `tools` va vacío: sus nombres salen de la
67
+ * red al primer `listTools`, no al montar.
68
+ */
69
+ export function capacidadDeConectores(conectores, clase, backend) {
70
+ return {
71
+ nombre: `conectores-${clase}`,
72
+ tools: [],
73
+ capability: {
74
+ systemToolSets: [
75
+ new ToolSet({
76
+ source: conectores.fuente(clase, backend),
77
+ selectors: { ...SIN_APROBACION, requireApprovalForTools: clase === "lectura" ? [] : ["@all"] },
78
+ preload: true,
79
+ }),
80
+ ],
81
+ },
82
+ };
83
+ }
63
84
  /** `execute`: la shell del que la declara en su `.md`, y de nadie más. */
64
85
  export function capacidadDeEjecucion(conShell) {
65
86
  return {
@@ -279,6 +300,7 @@ export function capacidadesDelEspecialista(agente, nombrePedido, deps) {
279
300
  ? [capacidadDePropias(propias, deps.backend, propias.some((t) => t.name === NOMBRE_INCORPORAR_ADJUNTO) ? [NOMBRE_INCORPORAR_ADJUNTO] : [])]
280
301
  : []),
281
302
  ...(clase === "ejecuta" ? [capacidadDeEjecucion(deps.conShell())] : []),
303
+ ...(deps.conectores?.(agente) ?? []),
282
304
  ...(deps.puedeLlamar?.(agente) === true ? [capacidadDeSubagentes(), ...(deps.informes === undefined ? [] : [deps.informes])] : []),
283
305
  ...(deps.vueltas?.(agente) === undefined ? [] : [deps.vueltas(agente)]),
284
306
  capacidadDeRecortes(deps.backend),
@@ -1 +1 @@
1
- {"version":3,"file":"capacidades.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/capacidades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capacidades.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/capacidades.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * Lo cualitativo —texto cortado, formas, colores— sigue siendo del crítico, que cuesta una llamada de visión: aquí
13
13
  * solo se le RECUERDA pasarlo si la medida no llega y no lo ha pasado desde su última escritura.
14
14
  */
15
+ import { CARPETA_DE_DISENO, RUTA_DE_DISENO } from "../../../core/stitch.js";
15
16
  import { readdirSync, readFileSync, statSync, existsSync } from "node:fs";
16
17
  import { join, relative, sep } from "node:path";
17
18
  import { compararPantallas, desajusteDeEncaje, informeDeComparacion, TOLERANCIA_DE_ENCAJE } from "../../../core/compararCapturas.js";
@@ -24,8 +25,19 @@ export const RONDAS_VISUALES = 3;
24
25
  /** El criterio de aceptación por omisión del bucle (`textoDelBucle`): por debajo, en vertical Y en horizontal. */
25
26
  export const CRITERIO_DE_DISTANCIA = 0.1;
26
27
  const ES_IMAGEN = /\.(png|jpe?g)$/i;
27
- /** La maqueta de la sesión: `/diseno/screen.png` si está, si no la primera imagen de `/diseno/` y después la de los adjuntos. */
28
- export function buscarMaqueta(raiz, adjuntos) {
28
+ /**
29
+ * La maqueta de la sesión. PRIMERO la traída de Stitch (`/artefactos/diseno/screen.*`, `traerDeStitch.ts`):
30
+ * traerla es un acto de ESTA sesión, así que manda sobre una carpeta del proyecto que puede ser de otro
31
+ * encargo. Después `/diseno/screen.png`, la primera imagen de `/diseno/` y la de los adjuntos.
32
+ */
33
+ export function buscarMaqueta(raiz, adjuntos, artefactos) {
34
+ if (artefactos !== undefined) {
35
+ for (const extension of ["png", "jpg", "webp"]) {
36
+ const traida = join(artefactos, CARPETA_DE_DISENO, `screen.${extension}`);
37
+ if (existsSync(traida))
38
+ return { virtual: `${RUTA_DE_DISENO}screen.${extension}`, disco: traida };
39
+ }
40
+ }
29
41
  const diseno = join(raiz, "diseno");
30
42
  const preferida = join(diseno, "screen.png");
31
43
  if (existsSync(preferida))
@@ -66,7 +78,8 @@ export function ultimaCaptura(carpeta, desdeMs) {
66
78
  continue;
67
79
  }
68
80
  if (st.isDirectory()) {
69
- if (nivel < 1)
81
+ // La maqueta traída no es una captura del aparato: medirla contra sí misma daría «igual».
82
+ if (nivel < 1 && !(nivel === 0 && n === CARPETA_DE_DISENO))
70
83
  mirar(ruta, nivel + 1);
71
84
  }
72
85
  else if (ES_IMAGEN.test(n) && st.mtimeMs >= desdeMs && (mejor === undefined || st.mtimeMs > mejor.t)) {
@@ -1 +1 @@
1
- {"version":3,"file":"medidaAutomatica.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/medidaAutomatica.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"medidaAutomatica.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/medidaAutomatica.ts"],"names":[],"mappings":"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"}
@@ -165,7 +165,13 @@ export function modeloParaTrueforge(opciones) {
165
165
  input_tokens: uso?.input_tokens ?? 0,
166
166
  output_tokens: uso?.output_tokens ?? 0,
167
167
  total_tokens: uso?.total_tokens ?? 0,
168
- ...(uso?.input_token_details?.cache_read === undefined ? {} : { cache_read_tokens: uso.input_token_details.cache_read }),
168
+ // La caché es una PARTE de la entrada y no puede superarla: la MISMA cota que
169
+ // `vendor/tokenTracking.ts`, que este motor no heredaba. Medido con Gemini en MyAllXOne:
170
+ // `@langchain/google-genai` suma `cache_read` dos veces en streaming, una sesión acabó con
171
+ // 5,8 M de caché sobre 3,6 M de entrada, y la pantalla («entrada − caché») decía 0 de entrada.
172
+ ...(uso?.input_token_details?.cache_read === undefined
173
+ ? {}
174
+ : { cache_read_tokens: Math.min(uso.input_token_details.cache_read, uso.input_tokens ?? 0) }),
169
175
  // De los tokens de salida, cuántos fueron RAZONAMIENTO (DeepSeek y los modelos que lo declaran). Ausente
170
176
  // = el proveedor no lo dice, que no es lo mismo que cero: por eso no se rellena con 0.
171
177
  ...(uso?.output_token_details?.reasoning === undefined ? {} : { reasoning_tokens: uso.output_token_details.reasoning }),
@@ -1 +1 @@
1
- {"version":3,"file":"modeloLangchain.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/modeloLangchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modeloLangchain.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/modeloLangchain.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ import { TOPE_DE_LLAMADAS_DEL_CONDUCTOR, TOPE_DE_LLAMADAS_DEL_ESPECIALISTA, UMBR
33
33
  import { crearSubagenteExterno } from "../../subagentes/subagenteExterno.js";
34
34
  import { inventarioDelProyecto, opcionesDeSubagenteExterno } from "../../subagentes/escrituraExterna.js";
35
35
  import { sumarConsumo, SIN_CONSUMO } from "../../subagentes/consumoExterno.js";
36
+ import { sumarPorModelo } from "../../../core/actos.js";
36
37
  import { ColaDeEventos, entrelazar } from "../../../core/entrelazar.js";
37
38
  import { modeloExternoParaTrueforge } from "./modeloExterno.js";
38
39
  import { diferenciasDelContraste, metricasDeTrueforge } from "./metricasTrueforge.js";
@@ -40,7 +41,8 @@ import { cambiosQueSeVerifican, huellaDeErrores, repartirHallazgos, textoDeRepar
40
41
  import { correrTurno } from "../../../core/turno.js";
41
42
  import { createTokenTracker } from "../../../vendor/tokenTracking.js";
42
43
  import { MAX_APPROVAL_ROUNDS } from "../../../vendor/hitl.js";
43
- import { backendDeAgente, entornoDeLaShellDelProyecto } from "../../grafo/proyecto.js";
44
+ import { artefactosNuevos, backendDeAgente, entornoDeLaShellDelProyecto, fotoDeArtefactos, scriptsDeLasSkills } from "../../grafo/proyecto.js";
45
+ import { carpetaDeHotswap } from "../../../core/hotswap.js";
44
46
  import { cargarAgentes } from "../../subagentes/agentesEnDisco.js";
45
47
  import { fichaDeAgente, promptDeAgente, recibeMarcarCriterios, repartirSkills } from "../../../core/agentes.js";
46
48
  import { PERFIL_DEL_ORQUESTADOR, promptOrquestador } from "../../grafo/xoneAgent.js";
@@ -53,7 +55,11 @@ import { modeloParaTrueforge } from "./modeloLangchain.js";
53
55
  import { TOOLS_DE_LECTURA } from "./toolsDeFichero.js";
54
56
  import { topeAgotadoDe, traducirEvento } from "./eventosTrueforge.js";
55
57
  import { anuncioDeSkills } from "./skillsTrueforge.js";
56
- import { capabilitiesDe, capacidadDeFecha, capacidadDeFicheros, capacidadDeAvisoDeVueltas, capacidadDeInstrucciones, capacidadDeNotas, capacidadDePropias, capacidadDeRecortes, capacidadesDelEspecialista, clasesDeTools, toolsDe, } from "./capacidades.js";
58
+ import { capabilitiesDe, capacidadDeFecha, capacidadDeFicheros, capacidadDeAvisoDeVueltas, capacidadDeInstrucciones, capacidadDeNotas, capacidadDeConectores, capacidadDePropias, capacidadDeRecortes, capacidadesDelEspecialista, clasesDeTools, toolsDe, } from "./capacidades.js";
59
+ import { crearConectoresDeSesion, tarjetaDeRemota } from "./toolsDeConectores.js";
60
+ import { CONECTOR_STITCH, crearTraerDeStitch } from "./traerDeStitch.js";
61
+ import { esDeLaMaqueta } from "../../../core/stitch.js";
62
+ import { recibeConectores } from "../../../core/conectores.js";
57
63
  import { buscarMaqueta, medirContraMaqueta, resumenDeMedida, textoDeMedidaAutomatica, ultimaCaptura } from "./medidaAutomatica.js";
58
64
  import { anotarEscritura, capacidadDeInformesDeHijos, escrituraConExito, textoDelInforme } from "./informesDeHijos.js";
59
65
  import { crearDiagnosticoDeTools } from "../../turno/diagnosticoDeTools.js";
@@ -113,14 +119,22 @@ const BUCLE_DE_CALIDAD = [
113
119
  * el nombre de la tool y las fichas van escritas aquí, con la MISMA función que deepagents.
114
120
  */
115
121
  /**
116
- * **El idioma, dicho desde código**, al raíz y a cada especialista. Visto en la consola web (MyAllXOne): el texto entre
117
- * herramientas y el razonamiento salían en inglés («Let me call…», «I'll start by reconnoitering…») con la persona
118
- * escribiendo en español. Nuestros prompts están en español pero ninguno lo decía, y encima hay piezas internas en inglés
119
- * que tiran de él: la identidad que añade TrueForge («You are the Agent…»), las descripciones de las tools y la costumbre
120
- * de DeepSeek de razonar en inglés.
122
+ * **El idioma de la SALIDA, dicho desde código**, al raíz y a cada especialista. Visto en la consola web (MyAllXOne):
123
+ * el texto entre herramientas salía en inglés («Let me call…») con la persona escribiendo en español: nuestros prompts
124
+ * están en español pero ninguno lo decía, y hay piezas internas en inglés que tiran de él (la identidad que añade
125
+ * TrueForge, las descripciones de las tools, la costumbre de DeepSeek de razonar en inglés).
126
+ *
127
+ * **Lo que importa es lo que LEE la persona, en SU idioma** (decisión suya): las respuestas, lo que se dice entre
128
+ * herramientas y lo que se entrega. El razonamiento queda libre. Y no es «español» a fuego, es el idioma del usuario: el
129
+ * raíz lo lee de su mensaje; un hijo no lo ve, así que sigue el de su encargo, que el raíz escribe en ese idioma.
121
130
  */
122
- export const IDIOMA_DE_LA_RESPUESTA = "IDIOMA: escribe SIEMPRE en español —lo que dices entre herramientas, tu razonamiento, tus encargos y tus respuestas—, " +
123
- "aunque algunas instrucciones internas y las descripciones de las herramientas estén en inglés. El código, los nombres de " +
131
+ export const IDIOMA_DE_LA_RESPUESTA = "IDIOMA: contesta en el idioma en que te escribe el usuario (el de su último mensaje): tus respuestas y lo que dices " +
132
+ "entre herramientas, que es lo que él lee. Los encargos a tus especialistas, escríbelos en ese mismo idioma. Tu " +
133
+ "razonamiento puede ir en el idioma que quieras. El código, los nombres de ficheros, atributos y funciones, y las citas " +
134
+ "literales se quedan como son.";
135
+ /** Lo mismo para un ESPECIALISTA, que no ve el mensaje del usuario: sigue el idioma de su encargo. */
136
+ export const IDIOMA_DEL_ESPECIALISTA = "IDIOMA: lo que devuelves y lo que entregas (un documento, un texto de la app, un informe) va en el idioma de tu " +
137
+ "encargo, que es el del usuario. Tu razonamiento puede ir en el idioma que quieras. El código, los nombres de " +
124
138
  "ficheros, atributos y funciones, y las citas literales se quedan como son.";
125
139
  /**
126
140
  * **Al desarrollador no se le cuenta la MAQUINARIA**, solo al raíz, que es quien le habla. Visto en la consola web: al
@@ -480,7 +494,9 @@ export async function abrirSesionTrueforge(opciones) {
480
494
  let capturasDelTurno = [];
481
495
  const anotarArtefacto = (a) => {
482
496
  artefactosPorAnunciar.push(a);
483
- if (a.mime !== undefined && a.mime.startsWith("image/"))
497
+ // La MAQUETA traída (`/artefactos/diseno/`) no es una captura del aparato: el crítico de pantalla
498
+ // la juzgaría como si fuera la app.
499
+ if (a.mime !== undefined && a.mime.startsWith("image/") && !esDeLaMaqueta(a.ruta))
484
500
  capturasDelTurno.push(a);
485
501
  };
486
502
  /** Lo que la persona escribió mientras el agente trabajaba, IXCODE-4: se entrega por
@@ -520,6 +536,17 @@ export async function abrirSesionTrueforge(opciones) {
520
536
  */
521
537
  const eventosExternos = new ColaDeEventos();
522
538
  let consumoExterno = SIN_CONSUMO;
539
+ /**
540
+ * El consumo POR MODELO (`ConsumoPorModelo`): un especialista puede correr en otro modelo que el
541
+ * raíz. Cada hilo apunta al id con que NACIÓ (`modeloDeHilo`); el raíz, al de su papel AHORA
542
+ * (`/modelo` lo cambia). Suma lo mismo que `tracker` y `consumoExterno`, repartido.
543
+ */
544
+ let porModelo = {};
545
+ const modeloDeHilo = new Map();
546
+ const idDelPapel = (papel) => modelos.idDePapel?.(papel) ?? `papel ${papel}`;
547
+ const apuntarModelo = (id, cuenta, c) => {
548
+ porModelo = sumarPorModelo(porModelo, { [id]: { cuenta, ...c } });
549
+ };
523
550
  let apuntarAplicadasSinPreguntar;
524
551
  const externo = (opciones.subagenteExterno ?? crearSubagenteExterno)(opcionesDeSubagenteExterno({
525
552
  ...(opciones.pedirAprobacion === undefined ? {} : { pedirAprobacion: opciones.pedirAprobacion }),
@@ -527,6 +554,13 @@ export async function abrirSesionTrueforge(opciones) {
527
554
  eventos: eventosExternos,
528
555
  alConsumir: (c) => {
529
556
  consumoExterno = sumarConsumo(consumoExterno, c);
557
+ // Claude Code dice su gasto por modelo; los otros dos, solo por motor.
558
+ if (c.porModelo !== undefined && Object.keys(c.porModelo).length > 0) {
559
+ for (const [id, m] of Object.entries(c.porModelo))
560
+ apuntarModelo(`${c.motor}:${id}`, "externo", m);
561
+ }
562
+ else
563
+ apuntarModelo(c.motor, "externo", c);
530
564
  avisar();
531
565
  },
532
566
  modo: {
@@ -604,12 +638,32 @@ export async function abrirSesionTrueforge(opciones) {
604
638
  ...(opciones.adjuntos === undefined ? {} : { adjuntos: opciones.adjuntos }),
605
639
  },
606
640
  });
641
+ /**
642
+ * Los conectores MCP del proyecto, una vez por sesión: se leen los marcados AHORA y sus tools se
643
+ * piden a la red al primer uso (`toolsDeConectores.ts`). El raíz recibe las de LECTURA; un
644
+ * especialista, las dos clases si `recibeConectores`.
645
+ */
646
+ const delProyecto = opciones.conectores?.delProyecto(raiz) ?? [];
647
+ const deConectores = opciones.conectores === undefined || delProyecto.length === 0 ? undefined : crearConectoresDeSesion(opciones.conectores, delProyecto);
648
+ const conStitch = delProyecto.some((c) => c.id === CONECTOR_STITCH);
649
+ const conectoresDe = (agente) => deConectores === undefined || !recibeConectores(agente)
650
+ ? []
651
+ : [capacidadDeConectores(deConectores, "lectura", backend), capacidadDeConectores(deConectores, "escritura", backend)];
652
+ /**
653
+ * `traer_pantalla_de_stitch` (`traerDeStitch.ts`), solo si la sesión tiene Stitch entre sus
654
+ * conectores y carpeta de artefactos donde dejar la maqueta. La reciben el raíz y quien recibe
655
+ * los conectores: quien pide la pantalla y quien la construye a partir de ella.
656
+ */
657
+ const traerDeStitch = () => opciones.conectores !== undefined && carpeta !== undefined && conStitch
658
+ ? [crearTraerDeStitch({ conectores: opciones.conectores, carpeta, alEscribir: anotarArtefacto })]
659
+ : [];
607
660
  const propiasDelRaiz = [
608
661
  navegacion(),
609
662
  atributos,
610
663
  describirImagen(),
611
664
  ...herramientasDeJuicio(),
612
665
  ...(carpeta === undefined ? [] : [crearTraerDeLaMaquina({ carpeta, alEscribir: anotarArtefacto })]),
666
+ ...traerDeStitch(),
613
667
  ];
614
668
  const propiasDe = (agente) => [
615
669
  crearBusquedaRegex(backend),
@@ -629,6 +683,7 @@ export async function abrirSesionTrueforge(opciones) {
629
683
  : []),
630
684
  // Buscar un icono cuando faltan los assets (IXCODE-18), con el reparto de deepagents: a quien
631
685
  // escribe el proyecto y solo con el puerto. Es de LECTURA: no entra en `requireApprovalForTools`.
686
+ ...(recibeConectores(agente) ? traerDeStitch() : []),
632
687
  ...(opciones.iconos !== undefined && recibeBuscarIcono(agente)
633
688
  ? [crearBuscarIcono(opciones.iconos)]
634
689
  : []),
@@ -686,10 +741,48 @@ export async function abrirSesionTrueforge(opciones) {
686
741
  hilosExternos.add(params.threadId);
687
742
  externosDelTurno += 1;
688
743
  const motor = agente.motor;
744
+ /**
745
+ * La EJECUCIÓN de un externo: solo Claude Code, solo con `ejecucion: true` en su `.md` y con
746
+ * carpeta de artefactos donde dejar lo que saque (`core/comandoExterno.ts`). Sus scripts, por
747
+ * su nombre; el entorno de NUESTRA shell; y la lectura de ESTAS dos carpetas de la sesión, que
748
+ * es donde sus scripts dejan las capturas. Codex y OpenCode siguen sin shell.
749
+ */
750
+ const ejecucion = agente.ejecucion === true && motor === "claude-code" && carpeta !== undefined
751
+ ? {
752
+ scripts: scriptsDeLasSkills(raiz, agente.skills),
753
+ entorno: entornoDeLaShellDelProyecto(raiz, carpeta),
754
+ lecturas: [carpeta, carpetaDeHotswap(carpeta)],
755
+ }
756
+ : undefined;
757
+ /**
758
+ * Lo que sus comandos dejen en `/artefactos/` se ANUNCIA al volver, con la MISMA foto que nuestra
759
+ * shell (`fotoDeArtefactos`): por nuestra shell se anunciaba y por la suya no, y una captura
760
+ * que no se anuncia no la mide nadie.
761
+ */
762
+ const puertoDelHijo = ejecucion === undefined || carpeta === undefined
763
+ ? externo
764
+ : {
765
+ disponible: (m) => externo.disponible(m),
766
+ correr: async (peticion) => {
767
+ const antes = fotoDeArtefactos(carpeta);
768
+ try {
769
+ return await externo.correr(peticion);
770
+ }
771
+ finally {
772
+ try {
773
+ for (const a of artefactosNuevos(antes, fotoDeArtefactos(carpeta)))
774
+ anotarArtefacto(a);
775
+ }
776
+ catch {
777
+ // Un artefacto que no se pudo anunciar no invalida lo que hizo el hijo.
778
+ }
779
+ }
780
+ },
781
+ };
689
782
  return new AgentThread({
690
783
  definition: {
691
784
  modelClient: modeloExternoParaTrueforge({
692
- puerto: externo,
785
+ puerto: puertoDelHijo,
693
786
  peticion: () => ({
694
787
  motor,
695
788
  cwd: raiz,
@@ -698,6 +791,7 @@ export async function abrirSesionTrueforge(opciones) {
698
791
  ...(agente.modelo === undefined ? {} : { modelo: agente.modelo }),
699
792
  permitirEscritura: !agente.soloLectura,
700
793
  agente: agente.nombre,
794
+ ...(ejecucion === undefined ? {} : { ejecucion }),
701
795
  }),
702
796
  senal: () => aborto?.signal,
703
797
  }),
@@ -762,6 +856,7 @@ export async function abrirSesionTrueforge(opciones) {
762
856
  const piezas = capacidadesDelEspecialista(agente, params.request.name, {
763
857
  backend: backend,
764
858
  propias: propiasDe,
859
+ conectores: conectoresDe,
765
860
  notas: capacidadDeNotasDeLaSesion,
766
861
  puedeLlamar: (a) => conBucleDelDesarrollador && (a.llama?.length ?? 0) > 0,
767
862
  informes: capacidadDeInformes,
@@ -784,9 +879,9 @@ export async function abrirSesionTrueforge(opciones) {
784
879
  ...(nombres.includes(NOMBRE_ATRIBUTOS_XONE) ? [USO_DE_XONE_ATRIBUTOS] : []),
785
880
  ].join("\n");
786
881
  const instrucciones = agente === undefined
787
- ? `${IDIOMA_DE_LA_RESPUESTA}\n\n${nota} Contesta con lo que encuentres y dónde.`
882
+ ? `${IDIOMA_DEL_ESPECIALISTA}\n\n${nota} Contesta con lo que encuentres y dónde.`
788
883
  : [
789
- IDIOMA_DE_LA_RESPUESTA,
884
+ IDIOMA_DEL_ESPECIALISTA,
790
885
  "",
791
886
  promptDeAgente(agente, repartirSkills(agente, disponibles)),
792
887
  "",
@@ -798,6 +893,7 @@ export async function abrirSesionTrueforge(opciones) {
798
893
  .join("\n")
799
894
  .trimEnd();
800
895
  const papel = agente?.soloLectura === true ? "rapido" : "trabajo";
896
+ modeloDeHilo.set(params.threadId, agente?.modelo ?? idDelPapel(papel));
801
897
  const claseDeEsfuerzo = agente === undefined ? undefined : claseDeTrabajo(agente);
802
898
  // La memoria del especialista: su conversación anterior de ESTA sesión, si la hay y se puede usar.
803
899
  const apertura = conMemoriaDeEspecialistas && agente !== undefined ? memoriaDeEspecialistas.abrir(agente.nombre, params.threadId) : undefined;
@@ -900,6 +996,7 @@ export async function abrirSesionTrueforge(opciones) {
900
996
  ...capabilitiesDe([
901
997
  capacidadDeFicheros({ backend, reglas: permisosDe(PERFIL_DEL_ORQUESTADOR), tools: TOOLS_DE_LECTURA, conAprobacion: false }),
902
998
  capacidadDePropias(propiasDelRaiz, backend),
999
+ ...(deConectores === undefined ? [] : [capacidadDeConectores(deConectores, "lectura", backend)]),
903
1000
  capacidadDeRecortes(backend),
904
1001
  capacidadDeFecha(),
905
1002
  capacidadDeNotasDeLaSesion,
@@ -984,7 +1081,7 @@ export async function abrirSesionTrueforge(opciones) {
984
1081
  function medidaTrasProbar(deHilo, hiloPadre, quien) {
985
1082
  if (carpeta === undefined || quien?.ejecucion !== true)
986
1083
  return undefined;
987
- const maqueta = buscarMaqueta(raiz, opciones.adjuntos);
1084
+ const maqueta = buscarMaqueta(raiz, opciones.adjuntos, carpeta);
988
1085
  const captura = ultimaCaptura(carpeta, nacimientoDeHilo.get(deHilo) ?? Date.now());
989
1086
  if (maqueta === undefined || captura === undefined)
990
1087
  return undefined;
@@ -1116,6 +1213,11 @@ export async function abrirSesionTrueforge(opciones) {
1116
1213
  tracker.output += uso.output;
1117
1214
  tracker.cache += uso.cache;
1118
1215
  tracker.calls += 1;
1216
+ apuntarModelo(deHilo === HILO_RAIZ ? idDelPapel("trabajo") : (modeloDeHilo.get(deHilo) ?? idDelPapel("trabajo")), "modelo", {
1217
+ entrada: uso.input,
1218
+ salida: uso.output,
1219
+ cache: uso.cache,
1220
+ });
1119
1221
  // Y solo de una llamada NORMAL: la de la compactación mide lo de ANTES de resumir.
1120
1222
  if (deHilo === HILO_RAIZ && evento.type === "internal.agent.context.append")
1121
1223
  tracker.contexto = uso.input;
@@ -1268,6 +1370,22 @@ export async function abrirSesionTrueforge(opciones) {
1268
1370
  const diffs = new Map();
1269
1371
  const autonomo = opciones.sinAprobacion?.() === true;
1270
1372
  for (const p of pendientes) {
1373
+ // Una tool de un CONECTOR que escribe (generar en Stitch…) va SIEMPRE a una persona, también
1374
+ // en modo autónomo: el modo gobierna las escrituras LOCALES, como con `/sync subir`. Sin
1375
+ // fichero: la tarjeta enseña el conector, la tool y sus argumentos enteros.
1376
+ const remota = deConectores?.remotaDe(p.nombre);
1377
+ if (remota !== undefined) {
1378
+ const tarjeta = tarjetaDeRemota(remota, p.args);
1379
+ humanos.push({
1380
+ id: p.clave,
1381
+ origen: quienEs.get(p.hilo) ?? p.hilo,
1382
+ descripcion: tarjeta.descripcion,
1383
+ decisionesPermitidas: ["approve", "reject"],
1384
+ remota: true,
1385
+ });
1386
+ diffs.set(p.clave, tarjeta.lineas);
1387
+ continue;
1388
+ }
1271
1389
  const ruta = typeof p.args.file_path === "string" ? p.args.file_path : "";
1272
1390
  // Lo que NO es el proyecto —artefactos y planes— y lo que el backend va a rechazar de
1273
1391
  // todas formas no se pregunta: la MISMA función que el HITL de deepagents.
@@ -1658,6 +1776,7 @@ export async function abrirSesionTrueforge(opciones) {
1658
1776
  tracker.calls = 0;
1659
1777
  tracker.contexto = 0;
1660
1778
  consumoExterno = SIN_CONSUMO;
1779
+ porModelo = {};
1661
1780
  avisar();
1662
1781
  },
1663
1782
  cancelar() {
@@ -1690,6 +1809,8 @@ export async function abrirSesionTrueforge(opciones) {
1690
1809
  modelo: { entrada: tracker.input, salida: tracker.output, cache: tracker.cache },
1691
1810
  externo: consumoExterno,
1692
1811
  contexto: tracker.contexto,
1812
+ // Sin nada gastado no hay desglose: vacío no es «no consta», y un objeto vacío lo afirmaría.
1813
+ ...(Object.keys(porModelo).length === 0 ? {} : { porModelo: sumarPorModelo({}, porModelo) }),
1693
1814
  };
1694
1815
  },
1695
1816
  alCambiarConsumo(oyente) {