xonecode 0.38.34 → 0.38.37

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 (46) hide show
  1. package/apps/web/dist/assets/{EditorDeFichero-CmP3nqgw.js → EditorDeFichero-B7G4n1D8.js} +1 -1
  2. package/apps/web/dist/assets/{index-CHaxhucE.css → index-DzN1xufv.css} +1 -1
  3. package/apps/web/dist/assets/index-pdX3FkHb.js +506 -0
  4. package/apps/web/dist/assets/{php-DWqpdfhH.js → php-C6f803Zw.js} +1 -1
  5. package/apps/web/dist/assets/{ruby-CAA33CwZ.js → ruby-CNvSd4Sa.js} +1 -1
  6. package/apps/web/dist/index.html +2 -2
  7. package/dist/agent/config/configEnDisco.js +12 -0
  8. package/dist/agent/config/configEnDisco.js.map +1 -1
  9. package/dist/agent/config/diagnosticoDeNodeEnMaquina.js +112 -0
  10. package/dist/agent/config/diagnosticoDeNodeEnMaquina.js.map +1 -0
  11. package/dist/agent/grafo/proyecto.js +20 -4
  12. package/dist/agent/grafo/proyecto.js.map +1 -1
  13. package/dist/agent/motores/trueforge/sesionTrueforge.js +31 -4
  14. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  15. package/dist/agent/motores/trueforge/traerDeStitch.js +138 -90
  16. package/dist/agent/motores/trueforge/traerDeStitch.js.map +1 -1
  17. package/dist/agent/subagentes/subagenteExterno.js +12 -2
  18. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  19. package/dist/agent/tareas/aumentador.js +18 -0
  20. package/dist/agent/tareas/aumentador.js.map +1 -1
  21. package/dist/agent/turno/verificador.js +20 -3
  22. package/dist/agent/turno/verificador.js.map +1 -1
  23. package/dist/cli/main.js +1 -0
  24. package/dist/cli/main.js.map +1 -1
  25. package/dist/core/comandoExterno.js +17 -0
  26. package/dist/core/comandoExterno.js.map +1 -1
  27. package/dist/core/config.js +10 -0
  28. package/dist/core/config.js.map +1 -1
  29. package/dist/core/diagnosticoDeNode.js +34 -0
  30. package/dist/core/diagnosticoDeNode.js.map +1 -0
  31. package/dist/core/disenoVinculado.js +9 -0
  32. package/dist/core/disenoVinculado.js.map +1 -0
  33. package/dist/core/entrega.js +4 -0
  34. package/dist/core/entrega.js.map +1 -1
  35. package/dist/core/ports.js.map +1 -1
  36. package/dist/core/stitch.js +107 -1
  37. package/dist/core/stitch.js.map +1 -1
  38. package/dist/core/tareas.js.map +1 -1
  39. package/dist/web/servidor/arranque.js +134 -11
  40. package/dist/web/servidor/arranque.js.map +1 -1
  41. package/dist/web/servidor/corredorDeTareas.js +12 -0
  42. package/dist/web/servidor/corredorDeTareas.js.map +1 -1
  43. package/dist/web/servidor/transporte.js +1 -0
  44. package/dist/web/servidor/transporte.js.map +1 -1
  45. package/package.json +1 -1
  46. package/apps/web/dist/assets/index-CVgwYGn4.js +0 -506
@@ -12,6 +12,7 @@
12
12
  * que deja descomprimir un export de Stitch a mano.
13
13
  */
14
14
  import { RUTA_ARTEFACTOS } from "./artefactos.js";
15
+ export { motivoDeProyectoDeStitchInaceptable } from "./disenoVinculado.js";
15
16
  /** La carpeta, dentro de la de artefactos, donde vive la maqueta traída. */
16
17
  export const CARPETA_DE_DISENO = "diseno";
17
18
  export const RUTA_DE_DISENO = `${RUTA_ARTEFACTOS}${CARPETA_DE_DISENO}/`;
@@ -148,10 +149,115 @@ export function casanConTitulo(entradas, titulo) {
148
149
  return [...entradas];
149
150
  const buscado = tituloComparable(titulo);
150
151
  const iguales = entradas.filter((e) => tituloComparable(e.title) === buscado);
151
- return iguales.length > 0 ? iguales : entradas.filter((e) => tituloComparable(e.title).includes(buscado));
152
+ if (iguales.length > 0)
153
+ return iguales;
154
+ const contienen = entradas.filter((e) => tituloComparable(e.title).includes(buscado));
155
+ if (contienen.length > 0)
156
+ return contienen;
157
+ // Y por PALABRAS: todas las que distinguen lo buscado están en el título (`palabrasQueDistinguen`). Medido en Maset:
158
+ // «Menu Listado Entregas» no CONTIENE como cadena a «Listado de Entregas - Maset Logística», y la búsqueda decía que no
159
+ // existía; el orquestador construyó entonces con otra pantalla.
160
+ const buscadas = palabrasQueDistinguen(titulo, entradas);
161
+ if (buscadas.length === 0)
162
+ return [];
163
+ return entradas.filter((e) => {
164
+ const del = new Set(palabras(e.title));
165
+ return buscadas.every((p) => del.has(p));
166
+ });
167
+ }
168
+ /** Palabras de relleno de un título de pantalla: no distinguen una de otra. */
169
+ const PALABRAS_VACIAS = new Set([
170
+ "de", "del", "la", "el", "los", "las", "y", "e", "a", "en", "con", "para", "por", "un", "una", "al",
171
+ "menu", "pantalla", "ventana", "vista", "screen", "the", "of",
172
+ ]);
173
+ /**
174
+ * Las palabras de un título, comparables y por su RAÍZ, sin las vacías: singular y plural valen lo mismo (`entregas` y
175
+ * `entrega`, `albaranes` y `albaran`, `pendientes` y `pendiente`). Se quita `-es`/`-s` y luego una `e` final.
176
+ */
177
+ export function palabras(titulo) {
178
+ return tituloComparable(titulo)
179
+ .split(/[^a-z0-9]+/)
180
+ .filter((p) => p !== "" && !PALABRAS_VACIAS.has(p))
181
+ .map(raiz);
182
+ }
183
+ function raiz(palabra) {
184
+ if (palabra.length <= 4)
185
+ return palabra;
186
+ const sinPlural = palabra.replace(/(?:es|s)$/, "");
187
+ return sinPlural.length > 4 ? sinPlural.replace(/e$/, "") : sinPlural;
188
+ }
189
+ /**
190
+ * Las palabras de lo buscado que DISTINGUEN una pantalla de otra: sin las vacías y sin las que salen en la MAYORÍA de
191
+ * los títulos del proyecto («Maset», «Logística» en «X - Maset Logística»), que no distinguen nada.
192
+ */
193
+ export function palabrasQueDistinguen(titulo, entradas) {
194
+ const comunes = new Set();
195
+ if (entradas.length >= 3) {
196
+ const cuenta = new Map();
197
+ for (const e of entradas)
198
+ for (const p of new Set(palabras(e.title)))
199
+ cuenta.set(p, (cuenta.get(p) ?? 0) + 1);
200
+ for (const [p, n] of cuenta)
201
+ if (n > entradas.length / 2)
202
+ comunes.add(p);
203
+ }
204
+ return [...new Set(palabras(titulo))].filter((p) => !comunes.has(p));
152
205
  }
153
206
  /** El id de un proyecto (`projects/<id>` → `<id>`), que es lo que pide `list_screens`. */
154
207
  export function idDeProyecto(name) {
155
208
  return name.replace(/^projects\//, "");
156
209
  }
210
+ /**
211
+ * Las pantallas de una respuesta de `list_screens`, con su miniatura (`screenshot.downloadUrl`, medido: la traen todas).
212
+ * Una miniatura fuera de los hosts medidos no se da: la pantalla se ofrece sin imagen.
213
+ */
214
+ export function pantallasConMiniatura(texto) {
215
+ const lista = jsonDe(texto)?.["screens"];
216
+ if (!Array.isArray(lista))
217
+ return [];
218
+ return lista.flatMap((e) => {
219
+ if (typeof e !== "object" || e === null)
220
+ return [];
221
+ const v = e;
222
+ if (typeof v["name"] !== "string" || typeof v["title"] !== "string" || motivoDePantallaInaceptable(v["name"]) !== undefined)
223
+ return [];
224
+ const url = v["screenshot"]?.["downloadUrl"];
225
+ const miniatura = typeof url === "string" && motivoDeDescargaInaceptable(url) === undefined ? url : undefined;
226
+ return [{ name: v["name"], title: v["title"], ...(miniatura === undefined ? {} : { miniatura }) }];
227
+ });
228
+ }
229
+ /**
230
+ * La pantalla elegida para una tarea, si vale: un `name` de pantalla bien formado, DEL proyecto de Stitch vinculado, y
231
+ * un título corto. Lo que llega del cable no se cree: sin vínculo, o de otro proyecto, `undefined`.
232
+ */
233
+ export function pantallaElegidaValida(valor, vinculo) {
234
+ if (vinculo === undefined || typeof valor !== "object" || valor === null)
235
+ return undefined;
236
+ const v = valor;
237
+ const name = v["name"];
238
+ const titulo = v["titulo"];
239
+ if (typeof name !== "string" || motivoDePantallaInaceptable(name) !== undefined)
240
+ return undefined;
241
+ if (!name.startsWith(`${vinculo.proyecto}/screens/`))
242
+ return undefined;
243
+ if (typeof titulo !== "string" || titulo.trim() === "" || titulo.length > 200)
244
+ return undefined;
245
+ // El nombre del proyecto lo pone el VÍNCULO, no el cable: va en el contexto de la tarea con su id.
246
+ return { name, titulo: titulo.trim(), proyecto: vinculo.nombre };
247
+ }
248
+ /**
249
+ * La línea que se añade al encargo de una tarea con pantalla ELEGIDA: si ya está traída, dónde está y que es LA
250
+ * referencia; si no se pudo traer antes de empezar, con qué `name` traerla. En los dos casos, que no se busque otra por
251
+ * título ni se sustituya (decisión suya: el diseño lo elige la persona).
252
+ */
253
+ export function textoDePantallaElegida(pantalla, traida) {
254
+ // Los datos van SIEMPRE en el contexto de la tarea (petición suya): la pantalla y el proyecto, con sus ids.
255
+ const deProyecto = `del proyecto de Stitch ${pantalla.proyecto === undefined ? "" : `«${pantalla.proyecto}» `}(id \`${proyectoDePantalla(pantalla.name)}\`)`;
256
+ const noOtra = "Es LA referencia de diseño de esta tarea: no busques otra pantalla en Stitch por su título ni la sustituyas por una parecida.";
257
+ return traida.ok
258
+ ? `MAQUETA ELEGIDA: la pantalla «${pantalla.titulo}», id \`${pantalla.name}\`, ${deProyecto}, ya está traída en ${RUTA_DE_DISENO} (screen, code.html y DESIGN.md). ` +
259
+ `Si hay que volver a traerla, por ese id: traer_pantalla_de_stitch con \`pantalla: "${pantalla.name}"\`. ${noOtra}`
260
+ : `MAQUETA ELEGIDA: la pantalla «${pantalla.titulo}», id \`${pantalla.name}\`, ${deProyecto}. No se pudo traer antes de empezar (${traida.motivo}): ` +
261
+ `tráela con traer_pantalla_de_stitch pasándole \`pantalla: "${pantalla.name}"\`. ${noOtra}`;
262
+ }
157
263
  //# sourceMappingURL=stitch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../src/core/stitch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC;AAExE,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,2BAA2B,EAAE,qCAAqC,CAAU,CAAC;AAC/G,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAqC,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAEnI,sEAAsE;AACtE,MAAM,QAAQ,GAAG,yCAAyC,CAAC;AAE3D,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,QAAQ,4HAA4H,CAAC;AAC/I,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,yDAAyD,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,8DAA8D,CAAC;IAC7I,IAAI,CAAE,iBAAuC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,qEAAqE,CAAC,CAAC,QAAQ,GAAG,CAAC;IAC9J,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,2BAA2B,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACvF,OAAO,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAUD,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA4B,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gDAAgD,CAAC;IAC1D,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,KAAa,EAAsB,EAAE;QAChD,MAAM,CAAC,GAAI,CAAC,CAAC,KAAK,CAA2C,EAAE,WAAW,CAAC;QAC3E,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,uEAAuE,CAAC;IACzG,MAAM,MAAM,GAAG,CAAC,KAAa,EAAsB,EAAE;QACnD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc;QACpE,MAAM;QACN,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAA8C,CAAC,WAAW,EAAE,QAAQ,CAAC;QACjG,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAYD,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3G,CAAC;AAED,uGAAuG;AACvG,SAAS,MAAM,CAAC,KAAa;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,KAA6B;IAC3E,MAAM,KAAK,GAAI,MAAM,CAAC,KAAK,CAAyC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAqB,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAQ,CAAqB,CAAC,KAAK,KAAK,QAAQ;QACxI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,CAAqB,CAAC,IAAI,EAAE,KAAK,EAAG,CAAqB,CAAC,KAAK,EAAE,CAAC;QAC9E,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAA4B,QAAsB,EAAE,MAA0B;IAC1G,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;IAC9E,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../src/core/stitch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tareas.js","sourceRoot":"","sources":["../../src/core/tareas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tareas.js","sourceRoot":"","sources":["../../src/core/tareas.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,10 @@ import { textoDeRecarga } from "../../core/recargaEnCaliente.js";
64
64
  import { nombreDeApp } from "../../core/descriptoresDeApp.js";
65
65
  import { modelosDeMotor } from "../../agent/config/modelosDeMotor.js";
66
66
  import { crearServicioDeMotoresLocales } from "../../agent/motores/motoresLocales.js";
67
+ import { medirDiagnosticoDeNode } from "../../agent/config/diagnosticoDeNodeEnMaquina.js";
68
+ import { CONECTOR_STITCH, marcarPantallaElegida, traerPantalla } from "../../agent/motores/trueforge/traerDeStitch.js";
69
+ import { guardarDisenoDeProyecto } from "../../agent/config/configEnDisco.js";
70
+ import { pantallaElegidaValida, pantallasConMiniatura, motivoDeProyectoDeStitchInaceptable, entradasDeStitch, textoDePantallaElegida } from "../../core/stitch.js";
67
71
  import { esMotorLocal } from "../../core/motoresLocales.js";
68
72
  import { parsear, compatibleConOpenAi, esProveedorPersonalizado, idDeProveedorPersonalizado, motivoDeEndpointInaceptable, motivoDeSlugInaceptable, nombreDeProveedor, PROVEEDORES, slugDesdeNombre, resolver, SIN_CREDENCIAL, PAPELES, } from "../../core/modelos.js";
69
73
  import { hayCredencial } from "../../cli/consola.js";
@@ -84,7 +88,7 @@ import { nombreDePersona } from "../../agent/config/persona.js";
84
88
  import { cambiosDeSesion, fotoDeApertura, olvidarSesion, parcheDeSesion } from "../../agent/sesiones/sesionGit.js";
85
89
  import { commitDeTurno, cambiosPendientes, parcheDeSubida, pendientesDeSubida, sinSeguir, trabajoSinCommitear, } from "../../agent/sesiones/gitSync.js";
86
90
  import { listarSesiones, marcarTareaDeSesion, reabrirSesion, sembrarConsumosPendientes } from "./sesiones.js";
87
- import { RUTA_ARTEFACTOS, esRutaDeArtefacto, rutaRelativaDeArtefacto } from "../../core/artefactos.js";
91
+ import { RUTA_ARTEFACTOS, carpetaDeArtefactosDeSesion, esRutaDeArtefacto, rutaRelativaDeArtefacto } from "../../core/artefactos.js";
88
92
  import { MIMES_DE_ARTEFACTO_AL_MOVIL, TOPE_DE_ARTEFACTO_AL_MOVIL, trozosDeArtefacto } from "../../core/remoto.js";
89
93
  import { arbolDeProyecto, escribirFicheroDeProyecto, iconoDelProyecto, leerFicheroDeProyecto, mimeDeImagen, motivoDeRutaInaceptable, motivoParaNoEnsenar, } from "../../agent/grafo/arbolDeProyecto.js";
90
94
  import { baseDeFichero } from "../../agent/sesiones/baseDeFichero.js";
@@ -120,7 +124,7 @@ import { filaDeTarea } from "./transporte.js";
120
124
  import { crearSesionRemota, motivoFijoDelTunel } from "./puenteRemoto.js";
121
125
  import { componerPanorama, INTERVALO_DE_PANORAMA_MS } from "../../core/panorama.js";
122
126
  import { esEsfuerzo, nivelesDeEsfuerzo } from "../../core/esfuerzo.js";
123
- import { CATALOGO_DE_CONECTORES, conectoresParaElAgente, definicionDelCable, RUTA_CALLBACK_MCP } from "../../core/conectores.js";
127
+ import { CATALOGO_DE_CONECTORES, conectoresParaElAgente, definicionDelCable, RUTA_CALLBACK_MCP, TOPE_DE_LLAMADA_MS } from "../../core/conectores.js";
124
128
  import { servicioDeConectoresCableado } from "../../agent/conectores/servicioDeConectores.js";
125
129
  import { crearGestorJira } from "../../agent/conectores/gestorJira.js";
126
130
  import { crearGestorNotion } from "../../agent/conectores/gestorNotion.js";
@@ -1716,7 +1720,9 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1716
1720
  borrador,
1717
1721
  /** El ticket del gestor YA creado (`atenderCrearTareaEnGestor`): se copia a la tarea antes de guardarla, porque
1718
1722
  * guardar dispara al corredor y el reflejo de «empezar» tiene que encontrarlo. */
1719
- ticket) => {
1723
+ ticket,
1724
+ /** La pantalla de Stitch elegida en «Nueva tarea», tal como llega del cable: se comprueba aquí (`pantallaElegidaValida`). */
1725
+ pantallaDeStitch) => {
1720
1726
  if (opciones.colaDeTareas === undefined)
1721
1727
  return undefined;
1722
1728
  const proyecto = proyectoParaTarea(proyectoId);
@@ -1724,6 +1730,11 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1724
1730
  informar(`no se pudo crear la tarea: el proyecto «${proyectoId}» no se pudo resolver`);
1725
1731
  return undefined;
1726
1732
  }
1733
+ const pantalla = pantallaDeStitch === undefined ? undefined : pantallaElegidaValida(pantallaDeStitch, disenoVinculadoDe(proyecto.raiz));
1734
+ if (pantallaDeStitch !== undefined && pantalla === undefined) {
1735
+ informar("no se pudo crear la tarea: esa pantalla no es del proyecto de Stitch vinculado");
1736
+ return undefined;
1737
+ }
1727
1738
  const lista = opciones.colaDeTareas.listar();
1728
1739
  if (borrador !== undefined && !esBorradorLibre(borrador, lista)) {
1729
1740
  // **No se cae a un id nuevo en silencio**, y esa es la decisión: seguir con un uuid
@@ -1745,6 +1756,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1745
1756
  estado: "nuevo",
1746
1757
  creada: new Date().toISOString(),
1747
1758
  ...(ticket === undefined ? {} : { ticket }),
1759
+ ...(pantalla === undefined ? {} : { pantallaDeStitch: pantalla }),
1748
1760
  };
1749
1761
  opciones.colaDeTareas.guardar([...lista, nueva]);
1750
1762
  return { id: nueva.id };
@@ -1755,6 +1767,15 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1755
1767
  * gestor que sabe CREAR. Sin vínculo, o con un gestor sin `crear`, `undefined` y la tarea se encola en local como
1756
1768
  * siempre (límite declarado: lo dice la ventana).
1757
1769
  */
1770
+ /** El proyecto de Stitch vinculado a esa raíz, o `undefined` (sin vínculo, o el config no se lee). */
1771
+ const disenoVinculadoDe = (raiz) => {
1772
+ try {
1773
+ return cargar(raiz).config.proyecto?.disenoVinculado;
1774
+ }
1775
+ catch {
1776
+ return undefined;
1777
+ }
1778
+ };
1758
1779
  const gestorParaTareaNueva = (proyectoId) => {
1759
1780
  const proyecto = proyectoParaTarea(proyectoId);
1760
1781
  if (proyecto === undefined)
@@ -1780,7 +1801,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1780
1801
  * pierde— y se contesta 409 con el motivo. Si el ticket se creó pero el comentario no, la tarea se crea igual y se
1781
1802
  * dice: el ticket ya existe.
1782
1803
  */
1783
- const atenderCrearTareaEnGestor = async (destino, peticion, encargo, borrador) => {
1804
+ const atenderCrearTareaEnGestor = async (destino, peticion, encargo, borrador, pantallaDeStitch) => {
1784
1805
  if (opciones.colaDeTareas === undefined)
1785
1806
  return { estado: 409, cuerpo: { motivo: "esta ejecución no tiene cola de tareas" } };
1786
1807
  // El borrador se comprueba ANTES de tocar el gestor: un ticket creado para una tarea que luego no se guarda quedaría huérfano.
@@ -1815,7 +1836,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1815
1836
  ...(vinculo.estados === undefined ? {} : { estados: vinculo.estados }),
1816
1837
  };
1817
1838
  // Con la línea del ticket delante (`encargoConTicket`): en Jira el comentario lleva el encargo SIN ella —ya está en el ticket—.
1818
- const nueva = atenderCrearTarea(destino.proyecto.id, peticion, encargoConTicket(encargo, ticket), borrador, ticket);
1839
+ const nueva = atenderCrearTarea(destino.proyecto.id, peticion, encargoConTicket(encargo, ticket), borrador, ticket, pantallaDeStitch);
1819
1840
  if (nueva === undefined) {
1820
1841
  return { estado: 409, cuerpo: { motivo: `se creó ${creada.clave} en el gestor, pero no la tarea local: créala de nuevo o bórrala allí` } };
1821
1842
  }
@@ -1843,7 +1864,9 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1843
1864
  * manda el id. Sin proyecto resoluble no se pregunta a nadie: se contesta el error, que es
1844
1865
  * lo que la ventana pinta — nunca se inventa una raíz.
1845
1866
  */
1846
- const atenderAugmentar = async (augmentar, proyectoId, texto, borrador) => {
1867
+ const atenderAugmentar = async (augmentar, proyectoId, texto, borrador,
1868
+ /** La pantalla de Stitch elegida en «Nueva tarea», tal como llega: se comprueba contra el vínculo del proyecto. */
1869
+ pantallaDeStitch) => {
1847
1870
  const proyecto = proyectoParaTarea(proyectoId);
1848
1871
  if (proyecto === undefined) {
1849
1872
  emitir({
@@ -1860,7 +1883,8 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1860
1883
  .listarAdjuntos(borrador)
1861
1884
  .map((a) => ({ nombre: a.nombre, ...(a.mime === undefined ? {} : { mime: a.mime }) }));
1862
1885
  try {
1863
- const encargo = await augmentar({ texto, proyecto, adjuntos });
1886
+ const pantalla = pantallaDeStitch === undefined ? undefined : pantallaElegidaValida(pantallaDeStitch, disenoVinculadoDe(proyecto.raiz));
1887
+ const encargo = await augmentar({ texto, proyecto, adjuntos, ...(pantalla === undefined ? {} : { pantallaDeStitch: pantalla }) });
1864
1888
  emitir({ clase: "tarea", accion: "augmentado", encargo });
1865
1889
  }
1866
1890
  catch (error) {
@@ -4723,6 +4747,60 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
4723
4747
  modelosPorMotor.set(motor, r);
4724
4748
  emitirlos(r);
4725
4749
  };
4750
+ /**
4751
+ * El DISEÑO vinculado de un proyecto (panel → Conectores, y el selector de «Nueva tarea»): qué proyecto de Stitch,
4752
+ * cuáles hay para elegir y sus pantallas con miniatura. Todo pasa por el MISMO servicio de conectores; la raíz la
4753
+ * resuelve el servidor por el id del proyecto (o la del abierto). Lo que dice Stitch al fallar va recortado.
4754
+ */
4755
+ const atenderDiseno = async (m) => {
4756
+ const raiz = m.proyecto !== undefined ? proyectoParaTarea(m.proyecto)?.raiz : vestibulo.proyectoAbierto()?.raiz;
4757
+ const responder = (cuerpo) => emitir({ clase: "diseno", ...(m.proyecto === undefined ? {} : { proyecto: m.proyecto }), ...cuerpo });
4758
+ if (raiz === undefined)
4759
+ return responder({ error: "no hay un proyecto abierto con copia" });
4760
+ const vinculo = () => disenoVinculadoDe(raiz) ?? null;
4761
+ if (m.accion === "estado")
4762
+ return responder({ vinculo: vinculo() });
4763
+ if (m.accion === "desvincular") {
4764
+ guardarDisenoDeProyecto(raiz, undefined);
4765
+ return responder({ vinculo: null });
4766
+ }
4767
+ if (m.accion === "vincular") {
4768
+ if (motivoDeProyectoDeStitchInaceptable(m.vinculo.proyecto) !== undefined || typeof m.vinculo.nombre !== "string" || m.vinculo.nombre.trim() === "") {
4769
+ return responder({ error: "ese proyecto de Stitch no vale" });
4770
+ }
4771
+ guardarDisenoDeProyecto(raiz, { proyecto: m.vinculo.proyecto, nombre: m.vinculo.nombre.trim().slice(0, 200) });
4772
+ return responder({ vinculo: vinculo() });
4773
+ }
4774
+ if (servicioConectores === undefined)
4775
+ return responder({ error: "esta ejecución no tiene conectores" });
4776
+ const llamar = (tool, args) => servicioConectores.llamar(CONECTOR_STITCH, tool, args, { topeMs: TOPE_DE_LLAMADA_MS });
4777
+ try {
4778
+ if (m.accion === "proyectos") {
4779
+ const proyectos = [];
4780
+ for (const args of [{}, { filter: "view=shared" }]) {
4781
+ for (const p of entradasDeStitch(await llamar("list_projects", args), "projects")) {
4782
+ if (!proyectos.some((q) => q.name === p.name))
4783
+ proyectos.push(p);
4784
+ }
4785
+ }
4786
+ return responder({ proyectos });
4787
+ }
4788
+ const v = disenoVinculadoDe(raiz);
4789
+ if (v === undefined)
4790
+ return responder({ vinculo: null, pantallas: [] });
4791
+ const pantallas = pantallasConMiniatura(await llamar("list_screens", { projectId: v.proyecto.replace(/^projects\//, "") }));
4792
+ return responder({ vinculo: v, pantallas });
4793
+ }
4794
+ catch (e) {
4795
+ return responder({ error: sinCorreos(e instanceof Error ? e.message : String(e)).slice(0, 200) });
4796
+ }
4797
+ };
4798
+ /** Ajustes → General → Node: se mide al pulsar, sin caché (lo que se arregla en la máquina se ve al volver a pulsar). */
4799
+ const atenderDiagnosticoDeNode = async () => {
4800
+ if (opciones.diagnosticoDeNode === undefined)
4801
+ return;
4802
+ emitir({ clase: "diagnosticoNode", diagnostico: await opciones.diagnosticoDeNode() });
4803
+ };
4726
4804
  /**
4727
4805
  * Ajustes → Motores locales. El servicio vive lo que vive el servidor (un login en curso es un
4728
4806
  * proceso suyo) y se crea al primer uso: la sección casi nunca se abre.
@@ -6871,20 +6949,20 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
6871
6949
  // si el gestor la creó). Sin él, el camino de siempre.
6872
6950
  const enGestor = mensaje.accion === "crear" ? gestorParaTareaNueva(mensaje.proyecto) : undefined;
6873
6951
  if (mensaje.accion === "crear" && enGestor !== undefined) {
6874
- const r = await atenderCrearTareaEnGestor(enGestor, mensaje.peticion, mensaje.encargo, mensaje.borrador);
6952
+ const r = await atenderCrearTareaEnGestor(enGestor, mensaje.peticion, mensaje.encargo, mensaje.borrador, mensaje.pantallaDeStitch);
6875
6953
  respuesta.writeHead(r.estado, { "content-type": "application/json" });
6876
6954
  respuesta.end(JSON.stringify(r.cuerpo));
6877
6955
  return;
6878
6956
  }
6879
6957
  if (mensaje.accion === "crear" && opciones.colaDeTareas !== undefined) {
6880
- const creada = atenderCrearTarea(mensaje.proyecto, mensaje.peticion, mensaje.encargo, mensaje.borrador);
6958
+ const creada = atenderCrearTarea(mensaje.proyecto, mensaje.peticion, mensaje.encargo, mensaje.borrador, undefined, mensaje.pantallaDeStitch);
6881
6959
  if (creada !== undefined) {
6882
6960
  opciones.revisarTareas?.();
6883
6961
  emitirTareas();
6884
6962
  }
6885
6963
  }
6886
6964
  else if (mensaje.accion === "augmentar" && opciones.augmentar !== undefined) {
6887
- void atenderAugmentar(opciones.augmentar, mensaje.proyecto, mensaje.peticion, mensaje.borrador);
6965
+ void atenderAugmentar(opciones.augmentar, mensaje.proyecto, mensaje.peticion, mensaje.borrador, mensaje.pantallaDeStitch);
6888
6966
  }
6889
6967
  else if (mensaje.accion === "feedback" && opciones.colaDeTareas !== undefined) {
6890
6968
  darFeedbackATarea(mensaje.id, mensaje.texto);
@@ -7164,6 +7242,23 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
7164
7242
  respuesta.end();
7165
7243
  return;
7166
7244
  }
7245
+ if (typeof mensaje === "object" &&
7246
+ mensaje !== null &&
7247
+ mensaje.clase === "diseno" &&
7248
+ ["estado", "proyectos", "vincular", "desvincular", "pantallas"].includes(mensaje.accion) &&
7249
+ (mensaje.proyecto === undefined || typeof mensaje.proyecto === "string") &&
7250
+ (mensaje.accion !== "vincular" || (typeof mensaje.vinculo === "object" && mensaje.vinculo !== null))) {
7251
+ void atenderDiseno(mensaje).catch(contar);
7252
+ respuesta.writeHead(204);
7253
+ respuesta.end();
7254
+ return;
7255
+ }
7256
+ if (typeof mensaje === "object" && mensaje !== null && mensaje.clase === "diagnosticoNode") {
7257
+ void atenderDiagnosticoDeNode().catch(contar);
7258
+ respuesta.writeHead(204);
7259
+ respuesta.end();
7260
+ return;
7261
+ }
7167
7262
  if (typeof mensaje === "object" && mensaje !== null && mensaje.clase === "modelosDeMotor" && typeof mensaje.motor === "string") {
7168
7263
  void atenderModelosDeMotor(mensaje.motor).catch(contar);
7169
7264
  respuesta.writeHead(204);
@@ -7828,7 +7923,7 @@ async function cuantosDeLaSesion(raiz, sesion, pendientes) {
7828
7923
  * encargo vacío y sin motivo.
7829
7924
  */
7830
7925
  export function augmentacionCableada(opciones) {
7831
- return async ({ texto, proyecto, adjuntos }) => {
7926
+ return async ({ texto, proyecto, adjuntos, pantallaDeStitch }) => {
7832
7927
  const extra = opciones.contexto?.(proyecto.raiz) ?? {};
7833
7928
  return opciones.aumentador.augmentar({
7834
7929
  texto,
@@ -7838,6 +7933,8 @@ export function augmentacionCableada(opciones) {
7838
7933
  adjuntos,
7839
7934
  ...(extra.memoria === undefined ? {} : { memoria: extra.memoria }),
7840
7935
  ...(extra.conectores === undefined ? {} : { conectores: extra.conectores }),
7936
+ // La pantalla elegida llega al prompt con sus ids: sin esta línea se perdía aquí, con todo en verde.
7937
+ ...(pantallaDeStitch === undefined ? {} : { pantallaDeStitch }),
7841
7938
  });
7842
7939
  };
7843
7940
  }
@@ -7967,6 +8064,10 @@ export function ficherosCableados() {
7967
8064
  * —el binario del SDK, los procesos, la prueba por el mismo puerto que un subagente— son sus
7968
8065
  * omisiones. Compuesto aquí y no en línea para que la composición de producción tenga test.
7969
8066
  */
8067
+ /** El diagnóstico de Node REAL, compuesto fuera para que tenga test (el patrón de `motoresLocalesCableados`). */
8068
+ export function diagnosticoDeNodeCableado() {
8069
+ return { diagnosticoDeNode: () => medirDiagnosticoDeNode() };
8070
+ }
7970
8071
  export function motoresLocalesCableados() {
7971
8072
  return { motoresLocales: (alCambiar) => crearServicioDeMotoresLocales({ alCambiar }) };
7972
8073
  }
@@ -8137,6 +8238,24 @@ export function ajusteDeGestorCableado(ajuste) {
8137
8238
  },
8138
8239
  };
8139
8240
  }
8241
+ /**
8242
+ * Trae la pantalla de Stitch ELEGIDA a la carpeta de artefactos de la sesión de la tarea, con la MISMA función que la tool
8243
+ * (`traerDeStitch.ts#traerPantalla`), y compone la línea del encargo con la pantalla y el proyecto y sus ids. Nunca lanza.
8244
+ */
8245
+ export function prepararDisenoDeTarea(conectores, traer = traerPantalla) {
8246
+ return async (raiz, sesion, pantalla) => {
8247
+ try {
8248
+ const carpeta = carpetaDeArtefactosDeSesion(raiz, sesion);
8249
+ // La marca va SIEMPRE, antes de traerla: con ella la tool no busca por título ni trae otra (`traerDeStitch.ts`).
8250
+ marcarPantallaElegida(carpeta, pantalla);
8251
+ const texto = await traer({ conectores, carpeta }, pantalla.name);
8252
+ return textoDePantallaElegida(pantalla, texto.startsWith("Traída") ? { ok: true } : { ok: false, motivo: texto.split("\n")[0].slice(0, 160) });
8253
+ }
8254
+ catch {
8255
+ return textoDePantallaElegida(pantalla, { ok: false, motivo: "falló al traerla" });
8256
+ }
8257
+ };
8258
+ }
8140
8259
  export function construirCorredorDeTareasCableado(opciones) {
8141
8260
  const crudo = opciones.tareasFabrica === undefined ? undefined : opciones.tareasFabrica(opciones.informar);
8142
8261
  /**
@@ -8181,6 +8300,7 @@ export function construirCorredorDeTareasCableado(opciones) {
8181
8300
  ? undefined
8182
8301
  : crearCorredorDeTareas({
8183
8302
  disco,
8303
+ ...(opciones.conectores === undefined ? {} : { prepararDiseno: prepararDisenoDeTarea(opciones.conectores) }),
8184
8304
  // La costura de las tres piezas: la segunda puerta del vestíbulo (que no mueve el
8185
8305
  // cable), la consola que APARCA en vez de contestar por nadie, y el ejecutor de
8186
8306
  // siempre con las mismas barreras que el de una persona.
@@ -8403,6 +8523,8 @@ export async function arrancarConsolaWeb(opciones) {
8403
8523
  informar,
8404
8524
  // El MISMO gestor memoizado que el panel: con él, una tarea con ticket se refleja en su gestor al cambiar de estado.
8405
8525
  gestorDeTareas: conectoresYGestor.gestorDeTareas,
8526
+ // Los MISMOS conectores de las sesiones: con ellos, la pantalla de Stitch elegida se trae antes del primer turno.
8527
+ conectores: conectoresYGestor.conectoresDeSesion,
8406
8528
  olvidarHiloDeSesion: olvidarMemoriaDeHilo,
8407
8529
  /**
8408
8530
  * El juez de QA de las tareas, con el papel `afilado` — el que `core/modelos.ts` le
@@ -8589,6 +8711,7 @@ export async function arrancarConsolaWeb(opciones) {
8589
8711
  // Con el servicio REAL, compuesto fuera para que tenga test (`motoresLocalesCableados`):
8590
8712
  // olvidarlo aquí deja la sección diciendo «esta ejecución no puede» con todo en verde.
8591
8713
  ...motoresLocalesCableados(),
8714
+ ...diagnosticoDeNodeCableado(),
8592
8715
  // La máquina de verdad: adb/emulator del PATH o del SDK, xcrun solo en macOS y solo con
8593
8716
  // herramientas de desarrollo. Cada proceso con su tope.
8594
8717
  detectarDispositivos: () => detectarDispositivos({}, cargarSettings().settings.dispositivos ?? {}),