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.
- package/apps/web/dist/assets/{EditorDeFichero-CmP3nqgw.js → EditorDeFichero-B7G4n1D8.js} +1 -1
- package/apps/web/dist/assets/{index-CHaxhucE.css → index-DzN1xufv.css} +1 -1
- package/apps/web/dist/assets/index-pdX3FkHb.js +506 -0
- package/apps/web/dist/assets/{php-DWqpdfhH.js → php-C6f803Zw.js} +1 -1
- package/apps/web/dist/assets/{ruby-CAA33CwZ.js → ruby-CNvSd4Sa.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/config/configEnDisco.js +12 -0
- package/dist/agent/config/configEnDisco.js.map +1 -1
- package/dist/agent/config/diagnosticoDeNodeEnMaquina.js +112 -0
- package/dist/agent/config/diagnosticoDeNodeEnMaquina.js.map +1 -0
- package/dist/agent/grafo/proyecto.js +20 -4
- package/dist/agent/grafo/proyecto.js.map +1 -1
- package/dist/agent/motores/trueforge/sesionTrueforge.js +31 -4
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/traerDeStitch.js +138 -90
- package/dist/agent/motores/trueforge/traerDeStitch.js.map +1 -1
- package/dist/agent/subagentes/subagenteExterno.js +12 -2
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
- package/dist/agent/tareas/aumentador.js +18 -0
- package/dist/agent/tareas/aumentador.js.map +1 -1
- package/dist/agent/turno/verificador.js +20 -3
- package/dist/agent/turno/verificador.js.map +1 -1
- package/dist/cli/main.js +1 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/core/comandoExterno.js +17 -0
- package/dist/core/comandoExterno.js.map +1 -1
- package/dist/core/config.js +10 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/diagnosticoDeNode.js +34 -0
- package/dist/core/diagnosticoDeNode.js.map +1 -0
- package/dist/core/disenoVinculado.js +9 -0
- package/dist/core/disenoVinculado.js.map +1 -0
- package/dist/core/entrega.js +4 -0
- package/dist/core/entrega.js.map +1 -1
- package/dist/core/ports.js.map +1 -1
- package/dist/core/stitch.js +107 -1
- package/dist/core/stitch.js.map +1 -1
- package/dist/core/tareas.js.map +1 -1
- package/dist/web/servidor/arranque.js +134 -11
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/corredorDeTareas.js +12 -0
- package/dist/web/servidor/corredorDeTareas.js.map +1 -1
- package/dist/web/servidor/transporte.js +1 -0
- package/dist/web/servidor/transporte.js.map +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/index-CVgwYGn4.js +0 -506
package/dist/core/stitch.js
CHANGED
|
@@ -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
|
-
|
|
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
|
package/dist/core/stitch.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../src/core/stitch.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tareas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tareas.js","sourceRoot":"","sources":["../../src/core/tareas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,YAAY,GAA8D;IACrF;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC1C,YAAY,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAChD,+EAA+E;IAC/E,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAC3C,SAAS,EAAE,EAAE;CACd,CAAC;
|
|
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
|
|
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 ?? {}),
|