xonecode 0.9.0 → 0.11.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 (100) hide show
  1. package/THIRD_PARTY_NOTICES.md +56 -0
  2. package/apps/web/dist/assets/index-BAyybSz-.css +1 -0
  3. package/apps/web/dist/assets/index-BNCMVjWv.js +485 -0
  4. package/apps/web/dist/assets/{php-DjRQ1K-w.js → php-DPbDT8rX.js} +1 -1
  5. package/apps/web/dist/assets/{ruby-BcLyZ3qi.js → ruby-Bfvws9R8.js} +1 -1
  6. package/apps/web/dist/index.html +2 -2
  7. package/apps/web/dist/openui/visor.css +1 -0
  8. package/apps/web/dist/openui/visor.js +9113 -0
  9. package/dist/agent/exportarPdf.js +5 -1
  10. package/dist/agent/exportarPdf.js.map +1 -1
  11. package/dist/agent/grafo/arbolDeProyecto.js +66 -1
  12. package/dist/agent/grafo/arbolDeProyecto.js.map +1 -1
  13. package/dist/agent/grafo/memoriaDeProyecto.js +3 -2
  14. package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -1
  15. package/dist/agent/grafo/navegacionXone.js +8 -3
  16. package/dist/agent/grafo/navegacionXone.js.map +1 -1
  17. package/dist/agent/grafo/proyecto.js +31 -15
  18. package/dist/agent/grafo/proyecto.js.map +1 -1
  19. package/dist/agent/grafo/unirSecciones.js +128 -0
  20. package/dist/agent/grafo/unirSecciones.js.map +1 -0
  21. package/dist/agent/grafo/xoneAgent.js +7 -0
  22. package/dist/agent/grafo/xoneAgent.js.map +1 -1
  23. package/dist/agent/motores/trueforge/capacidades.js +42 -1
  24. package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
  25. package/dist/agent/motores/trueforge/eventosTrueforge.js +52 -7
  26. package/dist/agent/motores/trueforge/eventosTrueforge.js.map +1 -1
  27. package/dist/agent/motores/trueforge/modeloLangchain.js +5 -2
  28. package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
  29. package/dist/agent/motores/trueforge/sesionTrueforge.js +19 -2
  30. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  31. package/dist/agent/motores/trueforge/toolsDeFichero.js +3 -2
  32. package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
  33. package/dist/agent/motores/trueforge/trueforge.js +1 -1
  34. package/dist/agent/motores/trueforge/trueforge.js.map +1 -1
  35. package/dist/agent/navegacion/indiceEnDisco.js +10 -1
  36. package/dist/agent/navegacion/indiceEnDisco.js.map +1 -1
  37. package/dist/agent/planesEnDisco.js +64 -0
  38. package/dist/agent/planesEnDisco.js.map +1 -0
  39. package/dist/agent/sesiones/modeloDelCambio.js +70 -0
  40. package/dist/agent/sesiones/modeloDelCambio.js.map +1 -0
  41. package/dist/agent/sesiones/sesionGit.js +14 -0
  42. package/dist/agent/sesiones/sesionGit.js.map +1 -1
  43. package/dist/agent/subagentes/agentesEnDisco.js +95 -5
  44. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  45. package/dist/agent/subagentes/escrituraExterna.js +8 -2
  46. package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
  47. package/dist/agent/subagentes/subagenteCodex.js +1 -1
  48. package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
  49. package/dist/agent/subagentes/subagenteExterno.js +1 -1
  50. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  51. package/dist/agent/subagentes/subagenteOpencode.js +1 -1
  52. package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
  53. package/dist/agent/turno/puente.js +17 -1
  54. package/dist/agent/turno/puente.js.map +1 -1
  55. package/dist/agent/turno/resumenDeContexto.js +17 -4
  56. package/dist/agent/turno/resumenDeContexto.js.map +1 -1
  57. package/dist/agent/turno/turnoReal.js +16 -2
  58. package/dist/agent/turno/turnoReal.js.map +1 -1
  59. package/dist/cli/tui/transcript.js +4 -0
  60. package/dist/cli/tui/transcript.js.map +1 -1
  61. package/dist/core/actos.js.map +1 -1
  62. package/dist/core/agentes.js +17 -0
  63. package/dist/core/agentes.js.map +1 -1
  64. package/dist/core/artefactos.js +22 -0
  65. package/dist/core/artefactos.js.map +1 -1
  66. package/dist/core/diffDeColecciones.js +84 -0
  67. package/dist/core/diffDeColecciones.js.map +1 -0
  68. package/dist/core/exportacion.js +6 -1
  69. package/dist/core/exportacion.js.map +1 -1
  70. package/dist/core/fotoDeColecciones.js +48 -0
  71. package/dist/core/fotoDeColecciones.js.map +1 -0
  72. package/dist/core/imagenesDeDocumento.js +88 -0
  73. package/dist/core/imagenesDeDocumento.js.map +1 -0
  74. package/dist/core/memoria.js +24 -0
  75. package/dist/core/memoria.js.map +1 -0
  76. package/dist/core/navegacion.js.map +1 -1
  77. package/dist/core/notify.js +23 -5
  78. package/dist/core/notify.js.map +1 -1
  79. package/dist/core/ports.js.map +1 -1
  80. package/dist/core/serieDeEscrituras.js +13 -0
  81. package/dist/core/serieDeEscrituras.js.map +1 -1
  82. package/dist/core/settings.js +17 -1
  83. package/dist/core/settings.js.map +1 -1
  84. package/dist/core/tareasDelPlan.js +103 -0
  85. package/dist/core/tareasDelPlan.js.map +1 -0
  86. package/dist/core/trazaDeErrores.js +42 -9
  87. package/dist/core/trazaDeErrores.js.map +1 -1
  88. package/dist/core/turno.js +34 -4
  89. package/dist/core/turno.js.map +1 -1
  90. package/dist/web/servidor/arranque.js +197 -1
  91. package/dist/web/servidor/arranque.js.map +1 -1
  92. package/dist/web/servidor/pielWeb.js +63 -4
  93. package/dist/web/servidor/pielWeb.js.map +1 -1
  94. package/dist/web/servidor/transporte.js.map +1 -1
  95. package/dist/web/servidor/visorOpenui.js +63 -0
  96. package/dist/web/servidor/visorOpenui.js.map +1 -0
  97. package/package.json +1 -1
  98. package/skills/openui-builder/SKILL.md +48 -0
  99. package/apps/web/dist/assets/index-CtfT1BjI.css +0 -1
  100. package/apps/web/dist/assets/index-DqcZ7_Rx.js +0 -478
@@ -19,7 +19,7 @@ import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "no
19
19
  import { tmpdir } from "node:os";
20
20
  import { basename, join, resolve } from "node:path";
21
21
  import { conPoliticaSinScripts, documentoImprimible, esMarkdown, motivoDeExportacionInaceptable, rutaDePdf, } from "../core/exportacion.js";
22
- import { motivoDeRutaInaceptable } from "./grafo/arbolDeProyecto.js";
22
+ import { conImagenesDelProyecto, motivoDeRutaInaceptable } from "./grafo/arbolDeProyecto.js";
23
23
  /**
24
24
  * Dónde puede estar un navegador que sepa imprimir. Lista CERRADA y en este orden.
25
25
  *
@@ -75,6 +75,10 @@ export async function exportarAPdf(opciones) {
75
75
  // El mensaje de Node lleva la ruta absoluta y esto viaja por el cable (`sinRutas`).
76
76
  return { error: `no se pudo leer «${opciones.ruta}»` };
77
77
  }
78
+ // Las imágenes del proyecto, INCRUSTADAS: el HTML se imprime desde un temporal, y ahí un enlace
79
+ // relativo (`img/login.png`) ya no apunta a nada —salían rotas en el PDF—. Con las MISMAS
80
+ // barreras de la pestaña Ficheros (`conImagenesDelProyecto`).
81
+ fuente = (await conImagenesDelProyecto(opciones.raiz, opciones.ruta.split(/[\\/]/).join("/"), fuente)).texto;
78
82
  let cuerpo;
79
83
  try {
80
84
  cuerpo = esMarkdown(opciones.ruta) ? await (opciones.aHtml ?? marcadoAHtml)(fuente) : fuente;
@@ -1 +1 @@
1
- {"version":3,"file":"exportarPdf.js","sourceRoot":"","sources":["../../src/agent/exportarPdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exportarPdf.js","sourceRoot":"","sources":["../../src/agent/exportarPdf.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { isAbsolute, relative, resolve, sep } from "node:path";
4
4
  import { ficherosDelProyecto } from "../turno/ficherosDelProyecto.js";
5
5
  import { puedeLeerRuta } from "./perfiles.js";
6
6
  import { esVistaAplanada } from "./proyecto.js";
7
+ import { conImagenesIncrustadas, enlacesDeImagen, imagenEnProyecto, RUTA_IMAGEN_DEL_PROYECTO } from "../../core/imagenesDeDocumento.js";
7
8
  /**
8
9
  * El proyecto tal como lo enseña la pestaña Ficheros de la consola web: el árbol y el
9
10
  * contenido de un fichero, de SOLO lectura.
@@ -160,7 +161,71 @@ export async function leerFicheroDeProyecto(raiz, ruta) {
160
161
  return rechazo("esa ruta no se enseña");
161
162
  if (relReal.endsWith(".xml") && existsSync(`${real.slice(0, -4)}.xne`))
162
163
  return rechazo(MOTIVO_APLANADA);
163
- return leerContenidoDeFichero(real, ruta, mimeDeImagen(normal));
164
+ const leido = await leerContenidoDeFichero(real, ruta, mimeDeImagen(normal));
165
+ // Un markdown con imágenes del proyecto lleva además su VISTA: enlazadas en relativo, en la página
166
+ // de la consola salían rotas (`core/imagenesDeDocumento.ts`).
167
+ if (/\.(md|markdown)$/i.test(normal) && leido.texto !== undefined && !leido.recortado) {
168
+ const vista = vistaDeMarkdown(normal, leido.texto);
169
+ if (vista !== undefined)
170
+ return { ...leido, vista };
171
+ }
172
+ return leido;
173
+ }
174
+ /**
175
+ * El markdown con cada enlace a una IMAGEN del proyecto apuntando a `RUTA_IMAGEN_DEL_PROYECTO`, o
176
+ * `undefined` si no enlaza ninguna.
177
+ *
178
+ * **No se incrusta, y es a propósito**: el visor (`MarkdownText`) solo pinta imágenes con URL
179
+ * absoluta `http(s)` —una `data:` se queda en su texto alternativo—, así que tienen que llegar por
180
+ * HTTP. Y así abrir un documento no lee ni un byte de sus imágenes: la barrera la pone la ruta que
181
+ * las sirve, al pedirlas. Aquí solo se reescribe lo que ya pasa la criba de balde sobre el TEXTO
182
+ * (`motivoDeRutaInaceptable`) y es una imagen por su extensión: un enlace a `.env`, o que se sale
183
+ * del proyecto, se queda como estaba.
184
+ */
185
+ export function vistaDeMarkdown(documento, texto) {
186
+ const reescritos = new Map();
187
+ for (const enlace of enlacesDeImagen(texto)) {
188
+ const ruta = imagenEnProyecto(documento, enlace);
189
+ if (ruta === undefined || mimeDeImagen(ruta) === undefined || motivoDeRutaInaceptable(ruta) !== undefined)
190
+ continue;
191
+ reescritos.set(enlace, `${RUTA_IMAGEN_DEL_PROYECTO}?ruta=${encodeURIComponent(ruta)}`);
192
+ }
193
+ return reescritos.size === 0 ? undefined : conImagenesIncrustadas(texto, reescritos);
194
+ }
195
+ /** Cuántas imágenes y cuántos bytes se incrustan como mucho en un documento. */
196
+ export const TOPE_DE_IMAGENES_INCRUSTADAS = 40;
197
+ export const TOPE_DE_BYTES_INCRUSTADOS = 10_000_000;
198
+ /**
199
+ * El documento `documento` (ruta relativa al proyecto) con sus imágenes del proyecto INCRUSTADAS.
200
+ *
201
+ * Cada imagen se lee con `leerFicheroDeProyecto` —las MISMAS barreras de la pestaña Ficheros, sobre
202
+ * el texto y sobre el camino real, y su tope por imagen—, así que un enlace a `.env` o a algo de
203
+ * fuera del proyecto no se incrusta: no pasa la barrera y se queda como estaba. No hay una segunda
204
+ * copia de esas reglas aquí. Lo que no se puede leer, o pasa de los topes, se deja tal cual y se
205
+ * CUENTA en `sinResolver`: una imagen rota se ve, una inventada no.
206
+ */
207
+ export async function conImagenesDelProyecto(raiz, documento, texto, leer = leerFicheroDeProyecto) {
208
+ const incrustadas = new Map();
209
+ let bytes = 0;
210
+ let sinResolver = 0;
211
+ for (const enlace of enlacesDeImagen(texto)) {
212
+ const ruta = imagenEnProyecto(documento, enlace);
213
+ // Una URL o un `data:` no son del proyecto, y ya se ven donde se lean: no se cuentan.
214
+ if (ruta === undefined)
215
+ continue;
216
+ if (incrustadas.size >= TOPE_DE_IMAGENES_INCRUSTADAS) {
217
+ sinResolver += 1;
218
+ continue;
219
+ }
220
+ const imagen = await leer(raiz, ruta);
221
+ if (imagen.base64 === undefined || imagen.mime === undefined || bytes + imagen.base64.length > TOPE_DE_BYTES_INCRUSTADOS) {
222
+ sinResolver += 1;
223
+ continue;
224
+ }
225
+ bytes += imagen.base64.length;
226
+ incrustadas.set(enlace, `data:${imagen.mime};base64,${imagen.base64}`);
227
+ }
228
+ return { texto: conImagenesIncrustadas(texto, incrustadas), incrustadas: incrustadas.size, sinResolver };
164
229
  }
165
230
  /**
166
231
  * El CONTENIDO de un fichero cuyo camino REAL ya pasó su barrera: texto o imagen, con su
@@ -1 +1 @@
1
- {"version":3,"file":"arbolDeProyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/arbolDeProyecto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arbolDeProyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/arbolDeProyecto.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,9 @@ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
9
9
  import { join } from "node:path";
10
10
  import { NOMBRE_CARPETA } from "../config/configEnDisco.js";
11
11
  export const NOMBRE_ARCHIVO_MEMORIA = "memoria.md";
12
- /** Ruta que ve el agente dentro de su backend virtual. */
13
- export const RUTA_MEMORIA_VIRTUAL = "/MEMORIA_PROYECTO.md";
12
+ /** Ruta que ve el agente dentro de su backend virtual. Vive en `core/memoria.ts`, que la
13
+ * reconoce también en el flujo de tools. */
14
+ export { RUTA_MEMORIA_VIRTUAL } from "../../core/memoria.js";
14
15
  /** Ruta real dentro del backend virtual; nunca se enseña al agente. */
15
16
  export const RUTA_MEMORIA_INTERNA = `/${NOMBRE_CARPETA}/${NOMBRE_ARCHIVO_MEMORIA}`;
16
17
  /** Almacén interno de los historiales que DeepAgents ya ha resumido. */
@@ -1 +1 @@
1
- {"version":3,"file":"memoriaDeProyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/memoriaDeProyecto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AACnD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,cAAc,IAAI,sBAAsB,EAAE,CAAC;AACnF,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,cAAc,uBAAuB,CAAC;AAEjF,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;CAiBhC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,mFAAmF;QACnF,gFAAgF;QAChF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACnG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"memoriaDeProyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/memoriaDeProyecto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AACnD;6CAC6C;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,cAAc,IAAI,sBAAsB,EAAE,CAAC;AACnF,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,cAAc,uBAAuB,CAAC;AAEjF,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;CAiBhC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,mFAAmF;QACnF,gFAAgF;QAChF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACnG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -41,7 +41,8 @@ const ESQUEMA = z.object({
41
41
  .enum(["inventario", "definicion", "referencias", "campos", "detalle", "app", "problemas", "estilos"])
42
42
  .describe("inventario: todas las colecciones. definicion: dónde se declara. referencias: quién la usa. " +
43
43
  "campos: los campos de una colección. detalle: todo de una (campos, eventos, nodos, conexiones). " +
44
- "app: por dónde arranca la aplicación, login y estilos. problemas: referencias rotas y colecciones que no usa nadie. " +
44
+ "app: por dónde arranca la aplicación, login y estilos. problemas: referencias a colecciones que NO EXISTEN — solo eso: " +
45
+ "no mide qué colecciones no usa nadie (el índice no ve todas las formas de llegar a una), así que no afirmes nada de eso. " +
45
46
  "estilos: qué estilo acaba aplicándosele a un control y de qué clase y fichero sale — resuelve la cascada, " +
46
47
  "que es lo que no se puede averiguar leyendo una hoja de arriba abajo"),
47
48
  nombre: z
@@ -105,10 +106,14 @@ export function crearNavegacionXone(cargar, ficheros, cargarEstilos) {
105
106
  }
106
107
  if (entrada.operacion === "problemas") {
107
108
  const { rotas } = indice.problemas();
109
+ // Lo que NO mide se dice en la respuesta, además de en la descripción: la descripción
110
+ // prometió durante un tiempo «y colecciones que no usa nadie» cuando eso ya no se
111
+ // calculaba, y un informe real escribió «0 huérfanas» como si fuera una medida.
112
+ const noMide = "Esto no mide qué colecciones no usa nadie: el índice no ve todas las formas de llegar a una.";
108
113
  if (rotas.length === 0) {
109
- return "Ninguna referencia apunta a una colección que no exista.";
114
+ return `Ninguna referencia apunta a una colección que no exista. ${noMide}`;
110
115
  }
111
- return `${rotas.length} referencia(s) a una colección que no existe:\n${recortar(rotas, LIMITES_NAVEGACION.problemas, pintarReferencia)}`;
116
+ return `${rotas.length} referencia(s) a una colección que no existe:\n${recortar(rotas, LIMITES_NAVEGACION.problemas, pintarReferencia)}\n${noMide}`;
112
117
  }
113
118
  const nombre = entrada.nombre?.trim();
114
119
  if (nombre === undefined || nombre === "") {
@@ -1 +1 @@
1
- {"version":3,"file":"navegacionXone.js","sourceRoot":"","sources":["../../../src/agent/grafo/navegacionXone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navegacionXone.js","sourceRoot":"","sources":["../../../src/agent/grafo/navegacionXone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAA8D,MAAM,0BAA0B,CAAC;AAEpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;wFACwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;CACL,CAAC;AAEX,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;SACrG,QAAQ,CACP,8FAA8F;QAC5F,kGAAkG;QAClG,yHAAyH;QACzH,2HAA2H;QAC3H,4GAA4G;QAC5G,sEAAsE,CACzE;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6FAA6F;QAC3F,qBAAqB,CACxB;CACJ,CAAC,CAAC;AAIH,2CAA2C;AAC3C,SAAS,QAAQ,CAAI,KAAmB,EAAE,IAAY,EAAE,KAAuB;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,KAAK,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAU,EAAE,CACnD,CAAC,CAAC,KAAK,KAAK,WAAW;IACrB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE;IAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAE5F,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAExG;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,QAA6B,EAC7B,aAA6B;IAE7B,OAAO,IAAI,CACT,KAAK,EAAE,OAAgB,EAAE,EAAE;QACzB,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oFAAoF;YACpF,iFAAiF;YACjF,kEAAkE;YAClE,OAAO,CACL,+CAA+C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK;gBACjG,qBAAqB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CACL,2FAA2F;oBAC3F,mCAAmC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CACrE,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,MAAM,kBAAkB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9G,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,8EAA8E;YAC9E,iEAAiE;YACjE,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1C,CAAC,CAAC,mCAAmC,CACxC,CAAC;YACF,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACrC,sFAAsF;YACtF,kFAAkF;YAClF,gFAAgF;YAChF,MAAM,MAAM,GAAG,8FAA8F,CAAC;YAC9G,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,4DAA4D,MAAM,EAAE,CAAC;YAC9E,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,MAAM,kDAAkD,QAAQ,CAC9E,KAAK,EACL,kBAAkB,CAAC,SAAS,EAC5B,gBAAgB,CACjB,KAAK,MAAM,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAC1C,OAAO,8EAA8E,CAAC;QACxF,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,mFAAmF;YACnF,gFAAgF;YAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CACL,kCAAkC,MAAM,wDAAwD;oBAChG,0BAA0B,iBAAiB,CAAC,MAAM,CAAC,EAAE,CACtD,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CACL,IAAI,MAAM,sFAAsF;oBAChG,0BAA0B,iBAAiB,CAAC,MAAM,CAAC,EAAE,CACtD,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC;;;;;;;;;eASG;YACH,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,2FAA2F,CAAC;YACrG,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACxC,OAAO,CACL,sEAAsE;oBACtE,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,iFAAiF;gBACjF,iEAAiE;gBACjE,OAAO,CACL,4BAA4B,MAAM,uBAAuB,SAAS,kBAAkB;oBACpF,kCAAkC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;YACJ,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,iFAAiF;YACjF,oFAAoF;YACpF,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,CACL,6BAA6B,MAAM,mDAAmD;oBACtF,iBAAiB,CAAC,MAAM,CAAC,CAC1B,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE;gBAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACnB,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACzG,CAAC;YACF,oFAAoF;YACpF,qFAAqF;YACrF,iFAAiF;YACjF,kCAAkC;YAClC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB;;;;;;;;;;eAUG;YACH,OAAO,CACL,mCAAmC,MAAM,wDAAwD;gBACjG,gGAAgG;gBAChG,qEAAqE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CACjG,CAAC;QACJ,CAAC;QACD;;;;;;WAMG;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC/E,OAAO,YAAY;YACjB,CAAC,CAAC,GAAG,KAAK,qFAAqF;YAC/F,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yGAAyG;YACzG,4HAA4H;YAC5H,iEAAiE;YACjE,yGAAyG;YACzG,6CAA6C;QAC/C,MAAM,EAAE,OAAO;KAChB,CACF,CAAC;AACJ,CAAC"}
@@ -6,7 +6,7 @@ import { RUTA_MEMORIA_INTERNA, RUTA_MEMORIA_VIRTUAL } from "./memoriaDeProyecto.
6
6
  import { sinContenidoInvalido, validarConXoneLinter } from "./validacionXone.js";
7
7
  import { escriturasEnSerie } from "./escriturasEnSerie.js";
8
8
  import { RAIZ_SKILLS, skillsConRuta, skillsMontables } from "./skills.js";
9
- import { artefactoFueraDeSitio, esBasuraDeArtefacto, esRutaDeArtefacto, mimeDeArtefacto, nombreDeArtefacto, RUTA_ARTEFACTOS, } from "../../core/artefactos.js";
9
+ import { artefactoFueraDeSitio, artefactoSinMontar, esBasuraDeArtefacto, esRutaDeArtefacto, mimeDeArtefacto, nombreDeArtefacto, RUTA_ARTEFACTOS, } from "../../core/artefactos.js";
10
10
  import { RUTA_ADJUNTOS } from "../../core/adjuntos.js";
11
11
  import { esRutaDeMaquina, porQueNoSuelta } from "../../core/traerDeLaMaquina.js";
12
12
  import { carpetaDeHotswap, RUTA_HOTSWAP } from "../../core/hotswap.js";
@@ -267,6 +267,7 @@ export function backendConPlanes(backend, raiz) {
267
267
  * en cada sesión que no dibuja nada, que es la mayoría.
268
268
  */
269
269
  export function backendConArtefactos(backend, carpeta, alEscribir) {
270
+ // Sus escrituras hacen cola en `backendDeAgente#enSerie`, por fuera de todo lo montado.
270
271
  const destino = new FilesystemBackend({ rootDir: carpeta, virtualMode: true });
271
272
  const anotado = new Proxy(destino, {
272
273
  get(objetivo, prop) {
@@ -445,19 +446,11 @@ export function backendDeAgente(opciones) {
445
446
  * 1» en vez de «es una vista aplanada, edita el .xne», que es lo único que le deja corregir.
446
447
  * Lo destapó un test que ya existía.
447
448
  */
448
- /**
449
- * **Y la QUINTA va entre medias, porque no contesta una pregunta: espera un turno.**
450
- *
451
- * `escriturasEnSerie` va por DENTRO de las guardas de ruta —que siguen contestando primero,
452
- * con su comparación de texto y sin parsear nada— y por FUERA de `sinContenidoInvalido`,
453
- * para que leer el fichero de antes, validarlo y escribirlo sean un solo turno. Al revés,
454
- * dos validaciones podrían intercalarse entre su lectura y su escritura, que es justo la
455
- * carrera que esto quita.
456
- *
457
- * Y por eso tampoco tiene sentido más afuera: una escritura que las guardas de ruta van a
458
- * rechazar no necesita hacer cola detrás de nadie.
459
- */
460
- const delProyecto = sinDescargasEnElProyecto(sinArtefactosEnElProyecto(sinVistasAplanadas(escriturasEnSerie(sinContenidoInvalido(exponerMemoriaDeProyecto(base), opciones.validar ?? validarConXoneLinter())), opciones.ficheros)));
449
+ /*
450
+ * La cola de escrituras (`escriturasEnSerie`) YA NO va aquí: va una vez, por FUERA de todo lo
451
+ * montado —más abajo, `enSerie`—, para que alcance a CUALQUIER fichero.
452
+ */
453
+ const delProyecto = sinDescargasEnElProyecto(sinArtefactosEnElProyecto(sinVistasAplanadas(sinContenidoInvalido(exponerMemoriaDeProyecto(base), opciones.validar ?? validarConXoneLinter()), opciones.ficheros)));
461
454
  /**
462
455
  * Las del usuario se leen AQUÍ y no entran por parámetro, a propósito: compuesto dentro de
463
456
  * `construirAgente` —que todos sus tests doblan— el montaje quedaba escrito y no probado,
@@ -498,7 +491,25 @@ export function backendDeAgente(opciones) {
498
491
  * era navegar el disco sino TRAERSE un fichero, y eso lo hace la tool
499
492
  * `traer_de_la_maquina`. Aquí solo queda contestar bien a quien escriba la ruta a pelo.
500
493
  */
501
- const conDisco = conAvisoDeRutaDeMaquina(conPlanes);
494
+ /**
495
+ * **Las escrituras van en serie POR RUTA, y va UNA vez, aquí: por fuera de TODO lo montado.**
496
+ *
497
+ * `write` y `edit` son leer-modificar-escribir sobre el fichero entero, así que dos a la vez
498
+ * se pisan y las DOS contestan que bien. La cola vivía dentro de la pila del PROYECTO, y
499
+ * `/artefactos/` y `/planes/` se montan fuera de ella: no la heredaban. Medido (24-09-2026,
500
+ * MyAllXOne): el diseñador pidió en cinco respuestas seguidas 2, 2, 2, 2 y 5 ediciones del
501
+ * MISMO HTML a la vez, y el artefacto acabó con tres copias de su `</footer></body></html>`
502
+ * detrás del cierre —dos escrituras que truncan el mismo fichero dejan la cola de la larga
503
+ * tras el final de la corta—. Aquí la alcanza cualquier ruta, incluida la carpeta que alguien
504
+ * monte mañana, que es lo que una cola por montaje no podía prometer.
505
+ *
506
+ * Sigue por FUERA de `sinContenidoInvalido` —leer, validar y escribir son un solo turno— y
507
+ * ahora también de las guardas de ruta: una escritura que van a rechazar espera su turno antes
508
+ * de oír el no, que es un coste de milisegundos a cambio de un solo sitio. Solo `write` y
509
+ * `edit`: serializar lecturas no arreglaría nada.
510
+ */
511
+ const enSerie = escriturasEnSerie(conPlanes);
512
+ const conDisco = conAvisoDeRutaDeMaquina(enSerie);
502
513
  // Lo que deje un COMANDO en la carpeta de artefactos también se anuncia. Sin esto, la
503
514
  // captura que escribe un script existe en el disco y no existe para nadie: el evento
504
515
  // `artefacto` lo emite el Proxy de `write`/`edit`, y una shell no pasa por ahí.
@@ -695,6 +706,11 @@ export function sinArtefactosEnElProyecto(backend) {
695
706
  const motivo = (ruta) => {
696
707
  if (typeof ruta !== "string")
697
708
  return undefined;
709
+ // `/artefactos/` en el backend del PROYECTO = el montaje falta (`core/artefactos.ts`): se
710
+ // rechaza en vez de escribirlo en la app del cliente, que es lo que pasaba y sin aprobación.
711
+ if (artefactoSinMontar(ruta)) {
712
+ return `\`${RUTA_ARTEFACTOS}\` no está disponible en esta sesión, y no se escribe en el proyecto en su lugar: ahí sería un fichero de la app del cliente. Entrega el resultado en tu respuesta.`;
713
+ }
698
714
  const destino = artefactoFueraDeSitio(ruta);
699
715
  return destino === undefined ? undefined : porQueNoAhi(ruta, destino);
700
716
  };
@@ -1 +1 @@
1
- {"version":3,"file":"proyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/proyecto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proyecto.js","sourceRoot":"","sources":["../../../src/agent/grafo/proyecto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * `unir_secciones`: junta las secciones `.md` de una carpeta en UN documento, sin pasar por el
3
+ * modelo.
4
+ *
5
+ * Existe por el coste, decisión suya: un manual escrito de una sola vez es una respuesta enorme
6
+ * que puede cortarse a media escritura, y retocarlo pide releerlo entero. Escrito por secciones
7
+ * —un fichero pequeño por sección—, cada llamada al modelo lleva solo la suya, y una corrección
8
+ * solo relee la sección que toca. Pero la UNIÓN no puede hacerla el modelo: reescribir el documento
9
+ * con `write_file` sería volver a generarlo entero, que es justo el gasto que se quería quitar. Así
10
+ * que la hace el harness, y cuesta cero tokens: no devuelve el documento, solo dónde quedó.
11
+ *
12
+ * **El destino no se elige: sale de la carpeta** (`/doc/manual-usuario/` → `/doc/manual-usuario.md`),
13
+ * por lo mismo que `core/exportacion.ts#rutaDePdf`: con un destino por parámetro esto sería una forma
14
+ * de escribir cualquier fichero. Y como toda tool propia, **no pasa por el middleware de permisos**,
15
+ * así que reaplica a mano los de quien la llama —`puedeLeerRuta` para las secciones,
16
+ * `puedeEscribirRuta` para el destino— y, como `copiarArtefacto.ts`, dos veces: sobre el texto y
17
+ * sobre el camino REAL. Se monta solo a quien declara `escribeEn`: escribe sin aprobación, y eso
18
+ * solo vale dentro de las carpetas que su `.md` ya abrió.
19
+ */
20
+ import { lstatSync, readdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
21
+ import { dirname, join, resolve, sep } from "node:path";
22
+ import { tool } from "@langchain/core/tools";
23
+ import { z } from "zod";
24
+ import { artefactoFueraDeSitio } from "../../core/artefactos.js";
25
+ import { puedeEscribirRuta, puedeLeerRuta } from "./perfiles.js";
26
+ export const NOMBRE_UNIR_SECCIONES = "unir_secciones";
27
+ /** Topes: una carpeta con cientos de secciones o megas de texto no es un documento, es un error. */
28
+ export const TOPE_DE_SECCIONES = 300;
29
+ export const TOPE_DE_CARACTERES = 5_000_000;
30
+ const ESQUEMA = z.object({
31
+ carpeta: z
32
+ .string()
33
+ .describe("La carpeta con las secciones, ruta virtual (`/doc/manual-usuario/`). Se unen sus `.md` en el"
34
+ + " orden de su nombre (`01-portada.md`, `02-acceso.md`…) y el documento queda al lado, con el"
35
+ + " nombre de la carpeta: `/doc/manual-usuario.md`."),
36
+ });
37
+ /** El documento que sale de una carpeta de secciones: la carpeta sin su barra final, más `.md`. */
38
+ export function documentoDeCarpeta(carpeta) {
39
+ return `${carpeta.replace(/\/+$/, "")}.md`;
40
+ }
41
+ function dentroDe(real, base) {
42
+ const raiz = realpathSync(base);
43
+ return real === raiz || real.startsWith(raiz.endsWith(sep) ? raiz : `${raiz}${sep}`);
44
+ }
45
+ /** Los números de orden que llevan DOS o más secciones, con cuáles: `06 (06-a.md, 06-b.md)`. */
46
+ export function numerosRepetidos(nombres) {
47
+ const porNumero = new Map();
48
+ for (const n of nombres) {
49
+ const numero = /^(\d+)/.exec(n)?.[1];
50
+ if (numero === undefined)
51
+ continue;
52
+ porNumero.set(numero, [...(porNumero.get(numero) ?? []), n]);
53
+ }
54
+ return [...porNumero].filter(([, ns]) => ns.length > 1).map(([numero, ns]) => `${numero} (${ns.join(", ")})`);
55
+ }
56
+ export function crearUnirSecciones(donde) {
57
+ return tool(async ({ carpeta }) => {
58
+ const limpia = carpeta.trim();
59
+ const carpetaVirtual = `${limpia.startsWith("/") ? limpia : `/${limpia}`}`.replace(/\/+$/, "") + "/";
60
+ if (carpetaVirtual === "/")
61
+ return "Dame la carpeta de las secciones, no la raíz del proyecto: por ejemplo /doc/manual-usuario/.";
62
+ const destinoVirtual = documentoDeCarpeta(carpetaVirtual);
63
+ // Los permisos de QUIEN llama, sobre el TEXTO: leer las secciones y escribir el documento.
64
+ if (!puedeLeerRuta(carpetaVirtual))
65
+ return `No puedes leer «${carpetaVirtual}».`;
66
+ if (!puedeEscribirRuta(donde.perfil, destinoVirtual) || artefactoFueraDeSitio(destinoVirtual) !== undefined) {
67
+ const abiertas = (donde.perfil.escribeEn ?? []).join(", ");
68
+ return `No puedes escribir «${destinoVirtual}».${abiertas === "" ? "" : ` Puedes escribir en: ${abiertas}.`}`;
69
+ }
70
+ const carpetaReal = resolve(donde.raiz, carpetaVirtual.replace(/^\/+/, ""));
71
+ const destinoReal = resolve(donde.raiz, destinoVirtual.replace(/^\/+/, ""));
72
+ let nombres;
73
+ try {
74
+ // Y sobre el camino REAL: un enlace puede sacar la carpeta del proyecto.
75
+ if (!dentroDe(realpathSync(carpetaReal), donde.raiz) || !dentroDe(realpathSync(dirname(destinoReal)), donde.raiz)) {
76
+ return `«${carpetaVirtual}» apunta fuera del proyecto.`;
77
+ }
78
+ // Solo ficheros `.md` de la propia carpeta: ni subcarpetas ni enlaces, que se leerían de otro sitio.
79
+ nombres = readdirSync(carpetaReal)
80
+ .filter((n) => n.toLowerCase().endsWith(".md") && lstatSync(join(carpetaReal, n)).isFile())
81
+ .sort((a, b) => a.localeCompare(b, "es", { numeric: true }));
82
+ }
83
+ catch {
84
+ return `No existe la carpeta «${carpetaVirtual}». Escribe primero las secciones ahí, una por fichero.`;
85
+ }
86
+ if (nombres.length === 0)
87
+ return `«${carpetaVirtual}» no tiene ninguna sección \`.md\` que unir.`;
88
+ if (nombres.length > TOPE_DE_SECCIONES)
89
+ return `«${carpetaVirtual}» tiene ${nombres.length} secciones; el tope es ${TOPE_DE_SECCIONES}.`;
90
+ const leidas = nombres.map((n) => ({ nombre: n, texto: readFileSync(join(carpetaReal, n), "utf8").trim() }));
91
+ // Una sección VACÍA no entra: es como se retira una, porque aquí no hay tool para borrar.
92
+ const vacias = leidas.filter((l) => l.texto === "").map((l) => l.nombre);
93
+ const unidas = leidas.filter((l) => l.texto !== "");
94
+ if (unidas.length === 0)
95
+ return `Todas las secciones de «${carpetaVirtual}» están vacías: no hay nada que unir.`;
96
+ const documento = `${unidas.map((l) => l.texto).join("\n\n")}\n`;
97
+ if (documento.length > TOPE_DE_CARACTERES)
98
+ return `El documento pasaría de ${TOPE_DE_CARACTERES} caracteres: parte el trabajo en varios documentos.`;
99
+ try {
100
+ writeFileSync(destinoReal, documento, "utf8");
101
+ }
102
+ catch (error) {
103
+ return `No se pudo escribir «${destinoVirtual}»: ${error instanceof Error ? error.name : "error"}.`;
104
+ }
105
+ // NO se devuelve el documento: es el ahorro entero. Solo lo que hace falta para seguir, y lo
106
+ // que huele a sección vieja: medido en un manual real, dos quedaron con el mismo número
107
+ // (`06-basico.md` y `06-categoria-basico.md`) tras rehacerse media estructura.
108
+ const repetidos = numerosRepetidos(unidas.map((l) => l.nombre));
109
+ return [
110
+ `Unidas ${unidas.length} secciones en ${destinoVirtual} (${documento.length} caracteres): ${unidas.map((l) => l.nombre).join(", ")}.`,
111
+ ...(vacias.length === 0 ? [] : [`Saltadas por vacías: ${vacias.join(", ")}.`]),
112
+ ...(repetidos.length === 0
113
+ ? []
114
+ : [
115
+ `⚠ Números repetidos: ${repetidos.join("; ")}. Si una de ellas sobra, VACÍALA (write_file con contenido vacío) y vuelve a unir: una vacía no entra.`,
116
+ ]),
117
+ ].join(" ");
118
+ }, {
119
+ name: NOMBRE_UNIR_SECCIONES,
120
+ description: "Une las secciones `.md` de una carpeta en un solo documento, en el orden de su nombre, sin"
121
+ + " que tengas que reescribirlo. Escribe cada sección en su propio fichero"
122
+ + " (`/doc/manual-usuario/01-portada.md`, `02-acceso.md`…) y al terminar llama a esto: el"
123
+ + " documento queda en `/doc/manual-usuario.md`. Para corregir algo, edita SU sección y vuelve"
124
+ + " a unir. No te devuelve el texto, solo dónde quedó.",
125
+ schema: ESQUEMA,
126
+ });
127
+ }
128
+ //# sourceMappingURL=unirSecciones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unirSecciones.js","sourceRoot":"","sources":["../../../src/agent/grafo/unirSecciones.ts"],"names":[],"mappings":"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"}
@@ -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 { REGLA_DE_ESCRITURAS_EN_PARALELO } from "../../core/serieDeEscrituras.js";
3
4
  import { RunnableLambda } from "@langchain/core/runnables";
4
5
  import { AIMessage } from "@langchain/core/messages";
5
6
  import { MemorySaver } from "@langchain/langgraph";
@@ -9,6 +10,7 @@ import { crearBusquedaRegex } from "./busquedaRegex.js";
9
10
  import { OPCIONES_BUSQUEDA_FICHEROS } from "./opcionesDeFicheros.js";
10
11
  import { crearNavegacionXone } from "./navegacionXone.js";
11
12
  import { crearCopiarArtefacto } from "./copiarArtefacto.js";
13
+ import { crearUnirSecciones } from "./unirSecciones.js";
12
14
  import { estilosDeDisco, indiceEnDisco } from "../navegacion/indiceEnDisco.js";
13
15
  import { readFileSync } from "node:fs";
14
16
  import { join } from "node:path";
@@ -207,11 +209,13 @@ export const DESCRIPCIONES_FICHEROS = {
207
209
  "escrito fuera de ella acaba dentro de la app XOne del usuario. La ruta",
208
210
  "`/MEMORIA_PROYECTO.md` es exclusivamente",
209
211
  "para hechos confirmados, decisiones y pendientes útiles; no guardes transcripciones ni secretos.",
212
+ REGLA_DE_ESCRITURAS_EN_PARALELO,
210
213
  ].join(" "),
211
214
  edit_file: [
212
215
  "Modifica un fichero existente del proyecto en una ruta absoluta.",
213
216
  "No modifiques `/skills`: son instrucciones de solo lectura. Para actualizar la memoria",
214
217
  "usa solo `/MEMORIA_PROYECTO.md` y conserva su contenido útil.",
218
+ REGLA_DE_ESCRITURAS_EN_PARALELO,
215
219
  ].join(" "),
216
220
  grep: [
217
221
  "Busca texto LITERAL (no regex) de forma progresiva para ahorrar contexto.",
@@ -429,6 +433,9 @@ export async function construirAgente(opciones) {
429
433
  perfil,
430
434
  })]
431
435
  : []),
436
+ // Y unir un documento escrito por secciones (`unirSecciones.ts`), con la misma condición de
437
+ // DATO: escribe sin aprobación, así que solo a quien tiene carpetas abiertas con `escribeEn`.
438
+ ...((perfil.escribeEn ?? []).length > 0 ? [crearUnirSecciones({ raiz: opciones.raiz, perfil })] : []),
432
439
  ],
433
440
  //
434
441
  // Las tools de fichero las monta el `FilesystemMiddleware` a partir del backend, y