xonecode 0.17.2 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/web/dist/assets/{index-BRVuyPBf.js → index-BvPUqjUm.js} +72 -72
- package/apps/web/dist/assets/{index-DLfF2uEK.css → index-CGEXMJBx.css} +1 -1
- package/apps/web/dist/assets/{php-B5LpMCn-.js → php-Dk28VW45.js} +1 -1
- package/apps/web/dist/assets/{ruby-Clm-qfwM.js → ruby-CPzEcmdp.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/config/iconosEnRed.js +47 -0
- package/dist/agent/config/iconosEnRed.js.map +1 -0
- package/dist/agent/config/modelos.js +13 -8
- package/dist/agent/config/modelos.js.map +1 -1
- package/dist/agent/dispositivos/decodificarImagen.js +62 -0
- package/dist/agent/dispositivos/decodificarImagen.js.map +1 -0
- package/dist/agent/grafo/atributosXone.js +58 -0
- package/dist/agent/grafo/atributosXone.js.map +1 -0
- package/dist/agent/grafo/buscarIcono.js +92 -0
- package/dist/agent/grafo/buscarIcono.js.map +1 -0
- package/dist/agent/grafo/compararCapturas.js +103 -0
- package/dist/agent/grafo/compararCapturas.js.map +1 -0
- package/dist/agent/grafo/criticaVisual.js +23 -3
- package/dist/agent/grafo/criticaVisual.js.map +1 -1
- package/dist/agent/grafo/diferenciaDeCapturas.js +88 -0
- package/dist/agent/grafo/diferenciaDeCapturas.js.map +1 -0
- package/dist/agent/grafo/generarFondoSvg.js +83 -0
- package/dist/agent/grafo/generarFondoSvg.js.map +1 -0
- package/dist/agent/grafo/lectorDeReferencias.js +19 -0
- package/dist/agent/grafo/lectorDeReferencias.js.map +1 -0
- package/dist/agent/grafo/xoneAgent.js +11 -3
- package/dist/agent/grafo/xoneAgent.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +49 -1
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
- package/dist/agent/motores/trueforge/esperas.js +61 -0
- package/dist/agent/motores/trueforge/esperas.js.map +1 -0
- package/dist/agent/motores/trueforge/eventosTrueforge.js +11 -1
- package/dist/agent/motores/trueforge/eventosTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/informesDeHijos.js +63 -0
- package/dist/agent/motores/trueforge/informesDeHijos.js.map +1 -0
- package/dist/agent/motores/trueforge/medidaAutomatica.js +118 -0
- package/dist/agent/motores/trueforge/medidaAutomatica.js.map +1 -0
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js +186 -0
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js.map +1 -0
- package/dist/agent/motores/trueforge/modeloLangchain.js +5 -0
- package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
- package/dist/agent/motores/trueforge/resumenSeguro.js +52 -0
- package/dist/agent/motores/trueforge/resumenSeguro.js.map +1 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js +545 -26
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/toolsDeFichero.js +69 -3
- package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +88 -19
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/turno/diagnosticoDeTools.js +44 -3
- package/dist/agent/turno/diagnosticoDeTools.js.map +1 -1
- package/dist/agent/turno/informeDeTraza.js +66 -4
- package/dist/agent/turno/informeDeTraza.js.map +1 -1
- package/dist/agent/turno/registroDeFallos.js +6 -1
- package/dist/agent/turno/registroDeFallos.js.map +1 -1
- package/dist/agent/turno/resumenDeTool.js +12 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +8 -2
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/run.js +11 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/core/agentes.js +36 -2
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/analisisDeSesion.js +198 -0
- package/dist/core/analisisDeSesion.js.map +1 -0
- package/dist/core/atributosXone.js +187 -0
- package/dist/core/atributosXone.js.map +1 -0
- package/dist/core/compararCapturas.js +405 -0
- package/dist/core/compararCapturas.js.map +1 -0
- package/dist/core/esfuerzo.js +33 -0
- package/dist/core/esfuerzo.js.map +1 -1
- package/dist/core/fallos.js.map +1 -1
- package/dist/core/fondosSvg.js +223 -0
- package/dist/core/fondosSvg.js.map +1 -0
- package/dist/core/iconos.js +140 -0
- package/dist/core/iconos.js.map +1 -0
- package/dist/core/modoDeEscritura.js +40 -0
- package/dist/core/modoDeEscritura.js.map +1 -1
- package/dist/core/notify.js +8 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/nucleoXone.js +113 -0
- package/dist/core/nucleoXone.js.map +1 -0
- package/dist/core/paqueteDeSoporte.js +118 -0
- package/dist/core/paqueteDeSoporte.js.map +1 -0
- package/dist/core/ports.js +31 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/referenciasDeImagen.js +55 -0
- package/dist/core/referenciasDeImagen.js.map +1 -0
- package/dist/core/selectorDeCarpeta.js +15 -1
- package/dist/core/selectorDeCarpeta.js.map +1 -1
- package/dist/core/settings.js +19 -4
- package/dist/core/settings.js.map +1 -1
- package/dist/core/shellDeAgente.js +39 -0
- package/dist/core/shellDeAgente.js.map +1 -1
- package/dist/core/tareasDelPlan.js +69 -7
- package/dist/core/tareasDelPlan.js.map +1 -1
- package/dist/web/servidor/arranque.js +110 -0
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/sesiones.js +8 -0
- package/dist/web/servidor/sesiones.js.map +1 -1
- package/dist/web/servidor/soporte.js +571 -0
- package/dist/web/servidor/soporte.js.map +1 -0
- package/dist/web/servidor/transporte.js.map +1 -1
- package/package.json +4 -1
- package/skills/xone-development/references/css/propiedades-y-herencia.md +2 -0
- package/skills/xone-development/references/datos/appdata-referencia-ampliada.md +2 -2
- package/skills/xone-development/references/datos/appdata.md +5 -3
- package/skills/xone-development/references/fundamentos/errores-comunes.md +49 -0
- package/skills/xone-development/references/xml-ui/prop-tipos-basicos.md +2 -0
- package/skills/xone-hotswap/SKILL.md +4 -0
- package/skills/xone-hotswap/scripts/xone-log-android +18 -1
- package/skills/xone-plan-builder/SKILL.md +18 -10
- package/skills/xone-plan-builder/references/TASKS-FORMAT.md +13 -5
- package/skills/xone-project-generator/references/fases-10-12-readmes-y-validacion.md +1 -0
- package/skills/xone-spec-builder/SKILL.md +3 -3
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { tool } from "@langchain/core/tools";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { esRutaDeArtefacto, mimeDeArtefacto, nombreDeArtefacto, rutaRelativaDeArtefacto, } from "../../core/artefactos.js";
|
|
4
|
+
import { informeDeCambio, medirCambio } from "../../core/compararCapturas.js";
|
|
5
|
+
import { decodificarImagen } from "../dispositivos/decodificarImagen.js";
|
|
6
|
+
export const NOMBRE_DIFERENCIA_DE_CAPTURAS = "diferencia_de_capturas";
|
|
7
|
+
/**
|
|
8
|
+
* `diferencia_de_capturas`: ¿CAMBIÓ una zona de la pantalla entre dos capturas? (IXCODE-18)
|
|
9
|
+
*
|
|
10
|
+
* Es lo que el conductor escribía a mano en cada pasada de la calculadora: 46 scripts de Python con
|
|
11
|
+
* PIL y 31 `md5`. Y un `md5` no contesta la pregunta buena: uno igual dice que TODA la imagen es
|
|
12
|
+
* igual, y uno distinto puede ser un cursor parpadeando. Aquí se pide la zona que debía cambiar.
|
|
13
|
+
*
|
|
14
|
+
* **Va al conductor y no al orquestador**: mide las capturas que el conductor acaba de tomar, para
|
|
15
|
+
* saber si su toque tuvo efecto — es comprobar una ACCIÓN, no juzgar una pantalla. El juicio
|
|
16
|
+
* sigue siendo del crítico (`xone_critica_visual`) y de `comparar_capturas`.
|
|
17
|
+
*
|
|
18
|
+
* Mismas guardas que las otras dos tools de capturas: las dos rutas bajo `/artefactos/` (lista
|
|
19
|
+
* BLANCA de forma), comprobadas las dos ANTES de abrir ninguna. Solo lee, no escribe nada, y todo
|
|
20
|
+
* rechazo se DEVUELVE como texto.
|
|
21
|
+
*/
|
|
22
|
+
const Region = z.object({
|
|
23
|
+
x: z.number().describe("Esquina izquierda, de 0 a 1 (fracción del ancho de la imagen)"),
|
|
24
|
+
y: z.number().describe("Esquina de arriba, de 0 a 1 (fracción del alto de la imagen)"),
|
|
25
|
+
ancho: z.number().describe("Ancho de la zona, fracción del ancho de la imagen"),
|
|
26
|
+
alto: z.number().describe("Alto de la zona, fracción del alto de la imagen"),
|
|
27
|
+
});
|
|
28
|
+
const Entrada = z.object({
|
|
29
|
+
antes: z.string().describe("Ruta virtual, bajo /artefactos/, de la captura de ANTES"),
|
|
30
|
+
despues: z.string().describe("Ruta virtual, bajo /artefactos/, de la captura de DESPUÉS (del mismo aparato: mismo tamaño)"),
|
|
31
|
+
zona: Region.optional().describe("La zona que debía cambiar, en fracciones de la imagen. Sin ella se mide la imagen entera"),
|
|
32
|
+
});
|
|
33
|
+
function comprobar(ruta, que) {
|
|
34
|
+
if (!esRutaDeArtefacto(ruta)) {
|
|
35
|
+
return `«${ruta}» no es ${que} de esta sesión. Solo puedo medir lo que hay bajo /artefactos/.`;
|
|
36
|
+
}
|
|
37
|
+
const mime = mimeDeArtefacto(nombreDeArtefacto(ruta));
|
|
38
|
+
if (mime !== "image/png" && mime !== "image/jpeg") {
|
|
39
|
+
return `«${nombreDeArtefacto(ruta)}» no es un PNG ni un JPEG, así que no hay nada que medir.`;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
async function abrir(ruta, deps) {
|
|
44
|
+
const nombre = nombreDeArtefacto(ruta);
|
|
45
|
+
let bytes;
|
|
46
|
+
try {
|
|
47
|
+
bytes = await deps.leerArtefacto(rutaRelativaDeArtefacto(ruta));
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
// El mensaje de un error de Node lleva la RUTA ABSOLUTA y esto va al modelo: solo su `code`.
|
|
51
|
+
const codigo = error.code;
|
|
52
|
+
return `No pude abrir «${nombre}» (${typeof codigo === "string" ? codigo : "error de lectura"}).`;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
return decodificarImagen(bytes);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return `No pude usar «${nombre}»: ${error instanceof Error ? error.message : "no se pudo decodificar"}.`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function crearDiferenciaDeCapturas(deps) {
|
|
62
|
+
return tool(async (entrada) => {
|
|
63
|
+
const problema = comprobar(entrada.antes, "la captura de antes") ?? comprobar(entrada.despues, "la captura de después");
|
|
64
|
+
if (problema !== undefined)
|
|
65
|
+
return problema;
|
|
66
|
+
const a = await abrir(entrada.antes, deps);
|
|
67
|
+
if (typeof a === "string")
|
|
68
|
+
return a;
|
|
69
|
+
const d = await abrir(entrada.despues, deps);
|
|
70
|
+
if (typeof d === "string")
|
|
71
|
+
return d;
|
|
72
|
+
try {
|
|
73
|
+
return informeDeCambio(medirCambio(a, d, entrada.zona)).join("\n");
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return `No se pudo medir: ${error instanceof Error ? error.message : "fallo desconocido"}.`;
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
name: NOMBRE_DIFERENCIA_DE_CAPTURAS,
|
|
80
|
+
description: "Dice si una ZONA de la pantalla CAMBIÓ entre dos capturas de la misma app, con el porcentaje de píxeles " +
|
|
81
|
+
"distintos y dónde. Úsala tras un toque para comprobar que lo pintado cambió, en vez de comparar con md5 o " +
|
|
82
|
+
"escribir un script: un md5 igual solo dice que TODA la imagen es igual. La zona va en fracciones de la imagen " +
|
|
83
|
+
"(0 a 1). Si dice IGUAL no lo des por «captura cacheada»: toma otra a los 500 ms. getText no vale para esto, " +
|
|
84
|
+
"porque devuelve el valor del campo y no lo pintado. Las dos rutas van bajo /artefactos/.",
|
|
85
|
+
schema: Entrada,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=diferenciaDeCapturas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diferenciaDeCapturas.js","sourceRoot":"","sources":["../../../src/agent/grafo/diferenciaDeCapturas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { tool } from "@langchain/core/tools";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ANCHO_DE_PANTALLA_DE_REFERENCIA, generarFondo, INTENSIDADES, medidaEnPixeles, motivoDeNombreDeFondoInaceptable, motivoDePeticionInaceptable, nombreDeFicheroDeFondo, NOMBRE_GENERAR_FONDO, PIXELES_POR_P, rutaDeFondo, TIPOS_DE_FONDO, } from "../../core/fondosSvg.js";
|
|
4
|
+
import { recibeBuscarIcono } from "./buscarIcono.js";
|
|
5
|
+
export { NOMBRE_GENERAR_FONDO };
|
|
6
|
+
/**
|
|
7
|
+
* Generar el fondo SVG de un frame o un botón (degradado, sombra, resplandor), para lo que XOne
|
|
8
|
+
* no trae propio (IXCODE-18). **Pura y sin red**: no hay puerto, siempre está montada donde se
|
|
9
|
+
* reparte. Las plantillas, y por qué no llevan ningún filtro, están en `core/fondosSvg.ts`.
|
|
10
|
+
*
|
|
11
|
+
* **Solo lee**, como `buscar_icono`: el SVG lo escribe `write_file` con su aprobación. Y va a los
|
|
12
|
+
* MISMOS especialistas (`recibeBuscarIcono`, la regla de dato de quien escribe el proyecto), en
|
|
13
|
+
* los dos motores. Los rechazos se DEVUELVEN como texto, nunca se lanzan.
|
|
14
|
+
*/
|
|
15
|
+
export const recibeGenerarFondo = recibeBuscarIcono;
|
|
16
|
+
const ESQUEMA = z.object({
|
|
17
|
+
tipo: z.enum(TIPOS_DE_FONDO).describe("degradado-lineal | degradado-radial | sombra (tarjeta con sombra suave) | glow (resplandor)"),
|
|
18
|
+
nombre: z.string().min(1).max(40).describe("Nombre del fichero: minúsculas, dígitos y _ (sale bg_<nombre>.svg)"),
|
|
19
|
+
ancho: z.union([z.number(), z.string().max(16)]).describe('Ancho del control TAL COMO lo declaras en el XML: "90%", "300p", "120px" o un número (píxeles)'),
|
|
20
|
+
alto: z.union([z.number(), z.string().max(16)]).describe('Alto del control tal como lo declaras: "60p", "120px" o un número (píxeles). El % no vale en el alto'),
|
|
21
|
+
colores: z.array(z.string().max(32)).min(1).max(4).describe("Colores COMO EN XOne: #RRGGBB o #AARRGGBB (alfa PRIMERO, no el #RRGGBBAA de HTML). 2 a 4 en los degradados; 1 en sombra (la tarjeta) y en glow (la luz)"),
|
|
22
|
+
angulo: z.coerce.number().min(0).max(360).optional().describe("Solo degradado-lineal: 0 = izquierda a derecha, 90 = arriba abajo (por omisión)"),
|
|
23
|
+
radio: z.coerce.number().min(0).max(50).optional().describe("Esquina como % del alto: 0 recta, 25 por omisión, 50 píldora"),
|
|
24
|
+
intensidad: z.enum(INTENSIDADES).optional().describe("Solo sombra: suave | media | fuerte"),
|
|
25
|
+
fondo: z.string().max(32).optional().describe("Solo glow: color de detrás, como en XOne; sin él, transparente"),
|
|
26
|
+
});
|
|
27
|
+
export function crearGenerarFondoSvg() {
|
|
28
|
+
return tool(async (e) => {
|
|
29
|
+
try {
|
|
30
|
+
const nombreMal = motivoDeNombreDeFondoInaceptable(e.nombre);
|
|
31
|
+
if (nombreMal !== undefined)
|
|
32
|
+
return nombreMal;
|
|
33
|
+
const ancho = medidaEnPixeles(e.ancho, "ancho");
|
|
34
|
+
const alto = medidaEnPixeles(e.alto, "alto");
|
|
35
|
+
if ("motivo" in ancho)
|
|
36
|
+
return ancho.motivo;
|
|
37
|
+
if ("motivo" in alto)
|
|
38
|
+
return alto.motivo;
|
|
39
|
+
const estimada = [e.ancho, e.alto].some((v) => typeof v === "string" && /[%p]$/i.test(v.trim()) && !/px$/i.test(v.trim()));
|
|
40
|
+
const peticion = {
|
|
41
|
+
tipo: e.tipo,
|
|
42
|
+
ancho: ancho.px,
|
|
43
|
+
alto: alto.px,
|
|
44
|
+
colores: e.colores,
|
|
45
|
+
...(e.angulo === undefined ? {} : { angulo: e.angulo }),
|
|
46
|
+
...(e.radio === undefined ? {} : { radio: e.radio }),
|
|
47
|
+
...(e.intensidad === undefined ? {} : { intensidad: e.intensidad }),
|
|
48
|
+
...(e.fondo === undefined ? {} : { fondo: e.fondo }),
|
|
49
|
+
};
|
|
50
|
+
const motivo = motivoDePeticionInaceptable(peticion);
|
|
51
|
+
if (motivo !== undefined)
|
|
52
|
+
return motivo;
|
|
53
|
+
const { svg, anchoDelViewBox } = generarFondo(peticion);
|
|
54
|
+
const fichero = nombreDeFicheroDeFondo(e.nombre);
|
|
55
|
+
return [
|
|
56
|
+
`Fondo ${e.tipo} de proporción ${anchoDelViewBox}:100 (la de un control de ${e.ancho}×${e.alto}). ` +
|
|
57
|
+
`Escríbelo TAL CUAL con write_file en ${rutaDeFondo(e.nombre)}. En un FRAME o GRUPO se usa con ` +
|
|
58
|
+
`imgbk="${fichero}"; en un BOTÓN (type="B") con img="${fichero}" (y imgsel para el pulsado): en un botón ` +
|
|
59
|
+
`imgbk se ignora (medido). La esquina va DIBUJADA en el SVG: border-corner-radius no recorta el fondo. ` +
|
|
60
|
+
`Si el control cambia de proporción, la esquina se deforma: genera otro para ese control.` +
|
|
61
|
+
(estimada
|
|
62
|
+
? ` Las medidas en % y p son una ESTIMACIÓN sobre un aparato de ${ANCHO_DE_PANTALLA_DE_REFERENCIA} px de ancho ` +
|
|
63
|
+
`(1 p ≈ ${PIXELES_POR_P} px): en otro dispositivo la proporción real puede variar un poco.`
|
|
64
|
+
: ""),
|
|
65
|
+
svg,
|
|
66
|
+
].join("\n");
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return `No se pudo generar: ${error instanceof Error ? error.message : "fallo desconocido"}.`;
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
name: NOMBRE_GENERAR_FONDO,
|
|
73
|
+
description: "Genera el SVG de fondo de un frame o botón: degradado lineal o radial, tarjeta con sombra o " +
|
|
74
|
+
"resplandor. Los colores van como en XOne (#RRGGBB o #AARRGGBB) y se convierten a SVG. XOne no " +
|
|
75
|
+
"tiene degradados ni desenfoques propios y ignora en silencio los filtros SVG, " +
|
|
76
|
+
"así que esto los dibuja sin filtros. Pasa el ancho y el alto DEL CONTROL que lo lleva: la esquina " +
|
|
77
|
+
"va dibujada y solo sale bien con su proporción. Solo genera: el SVG lo escribes tú con write_file " +
|
|
78
|
+
'en la ruta que te indica. En un frame va con imgbk="bg_x.svg"; en un botón (type="B") con img="bg_x.svg", ' +
|
|
79
|
+
'porque imgbk se ignora en los botones. Nombre a secas, nunca type="WEB".',
|
|
80
|
+
schema: ESQUEMA,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=generarFondoSvg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generarFondoSvg.js","sourceRoot":"","sources":["../../../src/agent/grafo/generarFondoSvg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { readFileSync, realpathSync } from "node:fs";
|
|
2
|
+
import { join, sep } from "node:path";
|
|
3
|
+
function errorConCodigo(codigo) {
|
|
4
|
+
return Object.assign(new Error(codigo), { code: codigo });
|
|
5
|
+
}
|
|
6
|
+
export function crearLectorDeReferencias(carpetas) {
|
|
7
|
+
return async (imagen) => {
|
|
8
|
+
const base = imagen.origen === "artefactos" ? carpetas.artefactos : imagen.origen === "adjuntos" ? carpetas.adjuntos : carpetas.raiz;
|
|
9
|
+
if (base === undefined)
|
|
10
|
+
throw errorConCodigo("ENOENT");
|
|
11
|
+
const real = realpathSync(join(base, imagen.relativa)); // lanza ENOENT si no existe
|
|
12
|
+
const baseReal = realpathSync(base);
|
|
13
|
+
if (real !== baseReal && !real.startsWith(baseReal.endsWith(sep) ? baseReal : baseReal + sep)) {
|
|
14
|
+
throw errorConCodigo("EACCES");
|
|
15
|
+
}
|
|
16
|
+
return readFileSync(real);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=lectorDeReferencias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lectorDeReferencias.js","sourceRoot":"","sources":["../../../src/agent/grafo/lectorDeReferencias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAwBtC,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAA8B;IACrE,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrI,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,4BAA4B;QACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YAC9F,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createDeepAgent, createFilesystemMiddleware } from "deepagents";
|
|
2
2
|
import { MAPA_DEL_PROYECTO, fichaDeAgente, promptDeAgente, repartirSkills } from "../../core/agentes.js";
|
|
3
|
+
import { claseDeTrabajo } from "../../core/esfuerzo.js";
|
|
3
4
|
import { REGLA_DE_ESCRITURAS_EN_PARALELO } from "../../core/serieDeEscrituras.js";
|
|
4
5
|
import { RunnableLambda } from "@langchain/core/runnables";
|
|
5
6
|
import { AIMessage } from "@langchain/core/messages";
|
|
@@ -7,6 +8,8 @@ import { MemorySaver } from "@langchain/langgraph";
|
|
|
7
8
|
import { backendDeAgente, entornoDeLaShellDelProyecto } from "./proyecto.js";
|
|
8
9
|
import { permisosDe, hitlDe, montajeDeFicheros, presupuestoDeLlamadas, puedeEjecutar } from "./perfiles.js";
|
|
9
10
|
import { crearBusquedaRegex } from "./busquedaRegex.js";
|
|
11
|
+
import { crearBuscarIcono, recibeBuscarIcono } from "./buscarIcono.js";
|
|
12
|
+
import { crearGenerarFondoSvg, recibeGenerarFondo } from "./generarFondoSvg.js";
|
|
10
13
|
import { OPCIONES_BUSQUEDA_FICHEROS } from "./opcionesDeFicheros.js";
|
|
11
14
|
import { crearNavegacionXone } from "./navegacionXone.js";
|
|
12
15
|
import { crearCopiarArtefacto } from "./copiarArtefacto.js";
|
|
@@ -405,7 +408,7 @@ export async function construirAgente(opciones) {
|
|
|
405
408
|
const presupuesto = presupuestoDeLlamadas(perfil);
|
|
406
409
|
return {
|
|
407
410
|
name: perfil.nombre,
|
|
408
|
-
description: fichaDeAgente(perfil),
|
|
411
|
+
description: fichaDeAgente(perfil, { conIconos: opciones.iconos !== undefined }),
|
|
409
412
|
systemPrompt: promptDeAgente(perfil, repartirSkills(perfil, catalogoDeSkills)),
|
|
410
413
|
// Los subagentes no heredan las skills del orquestador. Se entregan como fuentes
|
|
411
414
|
// directas para mantener cada perfil limitado a su catálogo declarado.
|
|
@@ -462,6 +465,11 @@ export async function construirAgente(opciones) {
|
|
|
462
465
|
...(opciones.adjuntos !== undefined && recibeIncorporarAdjunto(perfil)
|
|
463
466
|
? [crearIncorporarAdjunto({ raiz: opciones.raiz, carpetaDeAdjuntos: opciones.adjuntos, perfil })]
|
|
464
467
|
: []),
|
|
468
|
+
// Buscar un icono cuando faltan los assets (IXCODE-18), a quien escribe el proyecto y solo con
|
|
469
|
+
// el puerto: es de LECTURA, la escritura del SVG sigue siendo `write_file` con su aprobación.
|
|
470
|
+
...(opciones.iconos !== undefined && recibeBuscarIcono(perfil) ? [crearBuscarIcono(opciones.iconos)] : []),
|
|
471
|
+
// Fondos SVG (degradados, sombras, resplandor): pura y sin red, así que SIN puerto; a los mismos.
|
|
472
|
+
...(recibeGenerarFondo(perfil) ? [crearGenerarFondoSvg()] : []),
|
|
465
473
|
// Marcar en el plan lo COMPROBADO en el aparato, a quien comprueba: el que EJECUTA, que no
|
|
466
474
|
// tiene `write_file` ni `edit_file` y sin esto no podía dejar constancia de lo que vio.
|
|
467
475
|
...(perfil.ejecucion === true ? [crearMarcarCriteriosDelPlan({ raiz: opciones.raiz })] : []),
|
|
@@ -525,8 +533,8 @@ export async function construirAgente(opciones) {
|
|
|
525
533
|
// consultor piensa poco» lo dice de ESE especialista, no de la conversación. Ausente
|
|
526
534
|
// deja pasar el de la sesión, que es lo que `Modelos` resuelve por dentro.
|
|
527
535
|
model: perfil.modelo === undefined
|
|
528
|
-
? opciones.modelos.paraPapel(perfil.soloLectura ? "rapido" : "trabajo", perfil.esfuerzo)
|
|
529
|
-
: opciones.modelos.paraModelo(perfil.modelo, perfil.esfuerzo),
|
|
536
|
+
? opciones.modelos.paraPapel(perfil.soloLectura ? "rapido" : "trabajo", perfil.esfuerzo, claseDeTrabajo(perfil), perfil.pensamiento)
|
|
537
|
+
: opciones.modelos.paraModelo(perfil.modelo, perfil.esfuerzo, claseDeTrabajo(perfil), perfil.pensamiento),
|
|
530
538
|
};
|
|
531
539
|
});
|
|
532
540
|
return createDeepAgent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xoneAgent.js","sourceRoot":"","sources":["../../../src/agent/grafo/xoneAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xoneAgent.js","sourceRoot":"","sources":["../../../src/agent/grafo/xoneAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* sobre lo que declara su `.md`, con la misma partición que deepagents. Es lo que deja probar el
|
|
12
12
|
* reparto sin levantar un hilo.
|
|
13
13
|
*/
|
|
14
|
-
import { NOOP_AGENT_TRACING, ToolSet, currentDateTime, openUI } from "./trueforge.js";
|
|
14
|
+
import { NOOP_AGENT_TRACING, ToolSet, currentDateTime, dynamicSubAgents, openUI } from "./trueforge.js";
|
|
15
15
|
import { permisosDe } from "../../grafo/perfiles.js";
|
|
16
16
|
import { NOMBRE_INCORPORAR_ADJUNTO } from "../../../core/adjuntos.js";
|
|
17
17
|
import { fuenteDeEjecucion, fuenteDeFicheros, TOOLS_DE_FICHERO, TOOLS_DE_LECTURA, TOOLS_QUE_ESCRIBEN, } from "./toolsDeFichero.js";
|
|
@@ -202,6 +202,52 @@ export function clasesDeTools(agente) {
|
|
|
202
202
|
return "ejecuta";
|
|
203
203
|
return agente.soloLectura ? "lee" : "escribe";
|
|
204
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* `create_sub_agent` para un HIJO: la misma delegación que tiene el raíz, dada a quien su `.md` declara que puede
|
|
207
|
+
* llamar a otro (`llama`). La librería crea el nieto igual que cualquier hijo y su respuesta vuelve a quien lo
|
|
208
|
+
* llamó. El nombre no se restringe aquí —el esquema de la tool es un texto libre—: lo hace la fábrica de hijos de la
|
|
209
|
+
* sesión, que no concede a quien no está en su lista.
|
|
210
|
+
*/
|
|
211
|
+
export function capacidadDeSubagentes() {
|
|
212
|
+
return {
|
|
213
|
+
nombre: "subagentes",
|
|
214
|
+
tools: ["create_sub_agent"],
|
|
215
|
+
capability: dynamicSubAgents({ sandboxAvailable: false, tracing: NOOP_AGENT_TRACING }),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Avisa a quien lleva un LAZO (escribir, comprobar, corregir) de cuántas comprobaciones lleva, por
|
|
220
|
+
* `preLLMProcessors`: al llegar a cada umbral se le añade UN mensaje de usuario, y no otro más hasta el siguiente.
|
|
221
|
+
*
|
|
222
|
+
* Existe porque «tres vueltas» estaba solo en el prompt del desarrollador y una pasada real hizo seis llamadas al
|
|
223
|
+
* conductor: un texto no es un contador. Y el aviso no dice «para», dice «cambia de procedimiento»: repetir la
|
|
224
|
+
* misma familia de fallo con otra reescritura completa es lo que se vio (un control que falta, y al arreglarlo,
|
|
225
|
+
* otro), y lo que hay que hacer es aislar la causa, no cortar. No añade tools.
|
|
226
|
+
*/
|
|
227
|
+
export function capacidadDeAvisoDeVueltas(opciones) {
|
|
228
|
+
const avisados = new Map();
|
|
229
|
+
return {
|
|
230
|
+
nombre: "vueltas",
|
|
231
|
+
tools: [],
|
|
232
|
+
capability: {
|
|
233
|
+
preLLMProcessors: [
|
|
234
|
+
{
|
|
235
|
+
async *processPreLLM(execution) {
|
|
236
|
+
const n = opciones.vueltasDe(execution.threadId);
|
|
237
|
+
const ya = avisados.get(execution.threadId) ?? new Set();
|
|
238
|
+
const toca = [...opciones.umbrales].filter((u) => n >= u && !ya.has(u));
|
|
239
|
+
if (toca.length === 0)
|
|
240
|
+
return;
|
|
241
|
+
for (const u of toca)
|
|
242
|
+
ya.add(u);
|
|
243
|
+
avisados.set(execution.threadId, ya);
|
|
244
|
+
yield { type: "internal.agent.context.append", context: [{ role: "user", content: opciones.texto(n) }], output: [] };
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
}
|
|
205
251
|
/**
|
|
206
252
|
* Las piezas de un especialista —o del hijo genérico, si el nombre no es de ninguno—, sin sus
|
|
207
253
|
* instrucciones: esas se escriben con la lista de tools que salga de aquí.
|
|
@@ -233,6 +279,8 @@ export function capacidadesDelEspecialista(agente, nombrePedido, deps) {
|
|
|
233
279
|
? [capacidadDePropias(propias, deps.backend, propias.some((t) => t.name === NOMBRE_INCORPORAR_ADJUNTO) ? [NOMBRE_INCORPORAR_ADJUNTO] : [])]
|
|
234
280
|
: []),
|
|
235
281
|
...(clase === "ejecuta" ? [capacidadDeEjecucion(deps.conShell())] : []),
|
|
282
|
+
...(deps.puedeLlamar?.(agente) === true ? [capacidadDeSubagentes(), ...(deps.informes === undefined ? [] : [deps.informes])] : []),
|
|
283
|
+
...(deps.vueltas?.(agente) === undefined ? [] : [deps.vueltas(agente)]),
|
|
236
284
|
capacidadDeRecortes(deps.backend),
|
|
237
285
|
capacidadDeFecha(),
|
|
238
286
|
deps.notas,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacidades.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/capacidades.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"capacidades.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/capacidades.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quién no arranca hasta que otro termine, entre HIJOS que el orquestador lanzó a la vez.
|
|
3
|
+
*
|
|
4
|
+
* El orquestador delega en paralelo cuando le parece independiente, y no siempre lo es: en una pasada real lanzó a
|
|
5
|
+
* `developer-xone` y a `designer-xone` a la vez, el desarrollador escribió el `.xne` antes de que el diseñador
|
|
6
|
+
* terminara y **9 de los 26 recursos del diseñador se quedaron sin usar**. La cola por FICHERO solo evita que dos
|
|
7
|
+
* escriban el mismo; no sabe de dependencias.
|
|
8
|
+
*
|
|
9
|
+
* ## Por qué NO se espera bloqueando (y la primera versión lo hacía)
|
|
10
|
+
*
|
|
11
|
+
* Es un dato del `.md` (`espera: [designer-xone]`). La primera versión paraba al desarrollador ANTES de cada
|
|
12
|
+
* llamada al modelo mientras el diseñador estuviera vivo, y **atascó la pasada**: la librería ejecuta todos los hilos
|
|
13
|
+
* activos juntos y solo devuelve el control cuando TODOS terminan su paso, y una aprobación de escritura del
|
|
14
|
+
* diseñador solo se atiende al devolver el control. El desarrollador, parado dentro de su espera, impedía que
|
|
15
|
+
* volviera, y el diseñador no podía acabar sin aprobación: un bloqueo mutuo, con la CPU a cero y sin ningún error. Los
|
|
16
|
+
* tests con dobles no lo vieron porque el diseñador doble no pedía aprobación.
|
|
17
|
+
*
|
|
18
|
+
* Así que ahora **no bloquea nunca**: si al crear el hijo hay uno vivo —o anunciado por el mismo mensaje del
|
|
19
|
+
* orquestador— de los que declara, el hijo **no arranca** y su llamada se devuelve al instante diciéndolo. El
|
|
20
|
+
* orquestador, que ya tiene el informe del otro cuando lo recibe, vuelve a llamarlo con él en el encargo.
|
|
21
|
+
*/
|
|
22
|
+
export function crearEsperas() {
|
|
23
|
+
const vivos = new Map(); // hilo → nombre
|
|
24
|
+
const anunciados = [];
|
|
25
|
+
const terminados = new Set();
|
|
26
|
+
return {
|
|
27
|
+
anunciar(nombre) {
|
|
28
|
+
anunciados.push(nombre);
|
|
29
|
+
},
|
|
30
|
+
nacio(nombre, hilo) {
|
|
31
|
+
const i = anunciados.indexOf(nombre);
|
|
32
|
+
if (i >= 0)
|
|
33
|
+
anunciados.splice(i, 1);
|
|
34
|
+
vivos.set(hilo, nombre);
|
|
35
|
+
},
|
|
36
|
+
murio(hilo) {
|
|
37
|
+
const nombre = vivos.get(hilo);
|
|
38
|
+
if (nombre === undefined)
|
|
39
|
+
return;
|
|
40
|
+
vivos.delete(hilo);
|
|
41
|
+
terminados.add(nombre);
|
|
42
|
+
},
|
|
43
|
+
vivos(nombres, propio) {
|
|
44
|
+
const entre = [...vivos.entries()].filter(([h, n]) => h !== propio && nombres.includes(n)).map(([, n]) => n);
|
|
45
|
+
return [...new Set([...entre, ...anunciados.filter((n) => nombres.includes(n))])];
|
|
46
|
+
},
|
|
47
|
+
terminados(nombres) {
|
|
48
|
+
return nombres.filter((n) => terminados.has(n));
|
|
49
|
+
},
|
|
50
|
+
darPorMuertos() {
|
|
51
|
+
vivos.clear();
|
|
52
|
+
anunciados.length = 0;
|
|
53
|
+
},
|
|
54
|
+
olvidar() {
|
|
55
|
+
vivos.clear();
|
|
56
|
+
anunciados.length = 0;
|
|
57
|
+
terminados.clear();
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=esperas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esperas.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/esperas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAmBH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gBAAgB;IACzD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,OAAO;QACL,QAAQ,CAAC,MAAM;YACb,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,IAAI;YAChB,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC;gBAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO;YACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,MAAM;YACnB,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,UAAU,CAAC,OAAO;YAChB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,aAAa;YACX,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,OAAO;YACL,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -97,10 +97,12 @@ export function traducirEvento(evento, especialistaDe, pensamientos) {
|
|
|
97
97
|
}
|
|
98
98
|
const u = m?.usage;
|
|
99
99
|
if (u !== undefined) {
|
|
100
|
+
const razonamiento = u.reasoning_tokens === undefined && uso?.razonamiento === undefined ? undefined : (uso?.razonamiento ?? 0) + (u.reasoning_tokens ?? 0);
|
|
100
101
|
uso = {
|
|
101
102
|
input: (uso?.input ?? 0) + (u.input_tokens ?? 0),
|
|
102
103
|
output: (uso?.output ?? 0) + (u.output_tokens ?? 0),
|
|
103
104
|
cache: (uso?.cache ?? 0) + (u.cache_read_tokens ?? 0),
|
|
105
|
+
...(razonamiento === undefined ? {} : { razonamiento }),
|
|
104
106
|
};
|
|
105
107
|
}
|
|
106
108
|
}
|
|
@@ -112,7 +114,15 @@ export function traducirEvento(evento, especialistaDe, pensamientos) {
|
|
|
112
114
|
const u = e.usage;
|
|
113
115
|
if (u === undefined)
|
|
114
116
|
return { eventos: [] };
|
|
115
|
-
return {
|
|
117
|
+
return {
|
|
118
|
+
eventos: [],
|
|
119
|
+
uso: {
|
|
120
|
+
input: u.input_tokens ?? 0,
|
|
121
|
+
output: u.output_tokens ?? 0,
|
|
122
|
+
cache: u.cache_read_tokens ?? 0,
|
|
123
|
+
...(u.reasoning_tokens === undefined ? {} : { razonamiento: u.reasoning_tokens }),
|
|
124
|
+
},
|
|
125
|
+
};
|
|
116
126
|
}
|
|
117
127
|
case "internal.agent.done": {
|
|
118
128
|
// Un subagente que falla lo dice su padre, que recibe el error como respuesta de tool.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventosTrueforge.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/eventosTrueforge.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"eventosTrueforge.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/eventosTrueforge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
const lineas = (t) => (typeof t === "string" && t !== "" ? t.replace(/\n$/, "").split("\n").length : 0);
|
|
2
|
+
/** Lo que suma UNA escritura que salió bien, por sus argumentos (los de la tool, que nunca salen de aquí). */
|
|
3
|
+
export function anotarEscritura(cambios, nombre, args) {
|
|
4
|
+
const ruta = typeof args["file_path"] === "string" ? args["file_path"] : undefined;
|
|
5
|
+
if (ruta === undefined || (nombre !== "write_file" && nombre !== "edit_file"))
|
|
6
|
+
return;
|
|
7
|
+
const previo = cambios.get(ruta) ?? { ediciones: 0, nuevo: false, mas: 0, menos: 0 };
|
|
8
|
+
if (nombre === "write_file") {
|
|
9
|
+
cambios.set(ruta, { ediciones: previo.ediciones + 1, nuevo: previo.ediciones === 0 ? true : previo.nuevo, mas: previo.mas + lineas(args["content"]), menos: previo.menos });
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
cambios.set(ruta, { ...previo, ediciones: previo.ediciones + 1, mas: previo.mas + lineas(args["new_string"]), menos: previo.menos + lineas(args["old_string"]) });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** ¿Salió bien? El texto de éxito es el de `toolsDeFichero.ts#ejecutar`; un rechazo o un error no cuenta. */
|
|
16
|
+
export function escrituraConExito(contenido) {
|
|
17
|
+
return typeof contenido === "string" && contenido.startsWith("Successfully");
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* El informe para el padre. `escribe` dice si el hijo podía escribir el proyecto: a uno que no podía no se le
|
|
21
|
+
* atribuye nada, y a uno que podía y no escribió se le dice —un «ya está hecho» sin ninguna escritura es justo lo
|
|
22
|
+
* que el padre tiene que saber—.
|
|
23
|
+
*/
|
|
24
|
+
export function textoDelInforme(quien, cambios, escribe, medida) {
|
|
25
|
+
const lineaDeMedida = medida === undefined ? [] : [`Última medida de su pantalla contra la maqueta, hecha por el harness: ${medida}.`];
|
|
26
|
+
if (cambios.size === 0) {
|
|
27
|
+
return escribe ? [`[harness] ${quien} ha terminado su encargo SIN escribir ningún fichero.`, ...lineaDeMedida].join("\n") : undefined;
|
|
28
|
+
}
|
|
29
|
+
const filas = [...cambios.entries()]
|
|
30
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
31
|
+
.map(([ruta, c]) => c.nuevo
|
|
32
|
+
? `- ${ruta}: nuevo${c.ediciones > 1 ? ` y ${c.ediciones - 1} edición(es) después` : ""}, +${c.mas} −${c.menos} líneas`
|
|
33
|
+
: `- ${ruta}: ${c.ediciones} edición(es), +${c.mas} −${c.menos} líneas`);
|
|
34
|
+
return [
|
|
35
|
+
`[harness] Lo que ESCRIBIÓ ${quien} en su encargo, contado por el harness (no por su informe):`,
|
|
36
|
+
...filas,
|
|
37
|
+
...lineaDeMedida,
|
|
38
|
+
"Para saber QUÉ ficheros cambió no hace falta releerlos; léelos solo si necesitas su contenido.",
|
|
39
|
+
].join("\n");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Entrega, antes de la siguiente llamada del hilo, los informes que le esperan (`pendientes` los CONSUME: cada uno
|
|
43
|
+
* sale una vez). Va en el raíz y en quien puede llamar a otros. No añade tools.
|
|
44
|
+
*/
|
|
45
|
+
export function capacidadDeInformesDeHijos(pendientes) {
|
|
46
|
+
return {
|
|
47
|
+
nombre: "informes-de-hijos",
|
|
48
|
+
tools: [],
|
|
49
|
+
capability: {
|
|
50
|
+
preLLMProcessors: [
|
|
51
|
+
{
|
|
52
|
+
async *processPreLLM(execution) {
|
|
53
|
+
const textos = pendientes(execution.threadId);
|
|
54
|
+
if (textos.length === 0)
|
|
55
|
+
return;
|
|
56
|
+
yield { type: "internal.agent.context.append", context: [{ role: "user", content: textos.join("\n\n") }], output: [] };
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=informesDeHijos.js.map
|