xonecode 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/apps/web/dist/assets/index-CFoqpKRk.css +1 -0
  2. package/apps/web/dist/assets/index-DgvLb2SM.js +486 -0
  3. package/apps/web/dist/assets/{php-Dk28VW45.js → php-UkjSyds-.js} +1 -1
  4. package/apps/web/dist/assets/{ruby-CPzEcmdp.js → ruby-e801JuzW.js} +1 -1
  5. package/apps/web/dist/index.html +2 -2
  6. package/dist/agent/conectores/servicioDeConectores.js +86 -45
  7. package/dist/agent/conectores/servicioDeConectores.js.map +1 -1
  8. package/dist/agent/config/modelos.js +4 -0
  9. package/dist/agent/config/modelos.js.map +1 -1
  10. package/dist/agent/grafo/describirImagen.js +134 -0
  11. package/dist/agent/grafo/describirImagen.js.map +1 -0
  12. package/dist/agent/grafo/marcarCriteriosDelPlan.js +3 -2
  13. package/dist/agent/grafo/marcarCriteriosDelPlan.js.map +1 -1
  14. package/dist/agent/grafo/proyecto.js +91 -50
  15. package/dist/agent/grafo/proyecto.js.map +1 -1
  16. package/dist/agent/grafo/xoneAgent.js +4 -4
  17. package/dist/agent/grafo/xoneAgent.js.map +1 -1
  18. package/dist/agent/motores/trueforge/capacidades.js +22 -0
  19. package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
  20. package/dist/agent/motores/trueforge/medidaAutomatica.js +16 -3
  21. package/dist/agent/motores/trueforge/medidaAutomatica.js.map +1 -1
  22. package/dist/agent/motores/trueforge/modeloLangchain.js +7 -1
  23. package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
  24. package/dist/agent/motores/trueforge/sesionTrueforge.js +163 -18
  25. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  26. package/dist/agent/motores/trueforge/toolsDeConectores.js +128 -0
  27. package/dist/agent/motores/trueforge/toolsDeConectores.js.map +1 -0
  28. package/dist/agent/motores/trueforge/toolsDeFichero.js +8 -1
  29. package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
  30. package/dist/agent/motores/trueforge/traerDeStitch.js +142 -0
  31. package/dist/agent/motores/trueforge/traerDeStitch.js.map +1 -0
  32. package/dist/agent/subagentes/agentesEnDisco.js +10 -6
  33. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  34. package/dist/agent/subagentes/consumoExterno.js +15 -8
  35. package/dist/agent/subagentes/consumoExterno.js.map +1 -1
  36. package/dist/agent/subagentes/escrituraExterna.js +69 -2
  37. package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
  38. package/dist/agent/subagentes/subagenteExterno.js +17 -1
  39. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  40. package/dist/agent/turno/resumenDeTool.js +2 -0
  41. package/dist/agent/turno/resumenDeTool.js.map +1 -1
  42. package/dist/agent/turno/turnoReal.js +1 -0
  43. package/dist/agent/turno/turnoReal.js.map +1 -1
  44. package/dist/cli/main.js +5 -2
  45. package/dist/cli/main.js.map +1 -1
  46. package/dist/core/actos.js +44 -1
  47. package/dist/core/actos.js.map +1 -1
  48. package/dist/core/adjuntos.js +2 -3
  49. package/dist/core/adjuntos.js.map +1 -1
  50. package/dist/core/agentes.js +26 -2
  51. package/dist/core/agentes.js.map +1 -1
  52. package/dist/core/comandoExterno.js +69 -0
  53. package/dist/core/comandoExterno.js.map +1 -0
  54. package/dist/core/compararCapturas.js +1 -1
  55. package/dist/core/conectores.js +148 -3
  56. package/dist/core/conectores.js.map +1 -1
  57. package/dist/core/motor.js +5 -0
  58. package/dist/core/motor.js.map +1 -1
  59. package/dist/core/ports.js +28 -0
  60. package/dist/core/ports.js.map +1 -1
  61. package/dist/core/stitch.js +114 -0
  62. package/dist/core/stitch.js.map +1 -0
  63. package/dist/core/tareasDelPlan.js +1 -1
  64. package/dist/core/tareasDelPlan.js.map +1 -1
  65. package/dist/web/servidor/arranque.js +47 -9
  66. package/dist/web/servidor/arranque.js.map +1 -1
  67. package/dist/web/servidor/consolaDeTarea.js +4 -1
  68. package/dist/web/servidor/consolaDeTarea.js.map +1 -1
  69. package/dist/web/servidor/consolaWeb.js +10 -2
  70. package/dist/web/servidor/consolaWeb.js.map +1 -1
  71. package/dist/web/servidor/pielWeb.js +16 -5
  72. package/dist/web/servidor/pielWeb.js.map +1 -1
  73. package/dist/web/servidor/transporte.js.map +1 -1
  74. package/package.json +1 -1
  75. package/apps/web/dist/assets/index-BvPUqjUm.js +0 -485
  76. package/apps/web/dist/assets/index-CGEXMJBx.css +0 -1
@@ -107,7 +107,7 @@ import { baseDeWorkspaceLegada, baseDeWorkspacePorOmision, conexionDeVestibulo,
107
107
  // doblan.
108
108
  import { filaDeTarea } from "./transporte.js";
109
109
  import { esEsfuerzo, nivelesDeEsfuerzo } from "../../core/esfuerzo.js";
110
- import { CATALOGO_DE_CONECTORES, definicionDelCable, RUTA_CALLBACK_MCP } from "../../core/conectores.js";
110
+ import { CATALOGO_DE_CONECTORES, conectoresParaElAgente, definicionDelCable, RUTA_CALLBACK_MCP } from "../../core/conectores.js";
111
111
  import { servicioDeConectoresCableado } from "../../agent/conectores/servicioDeConectores.js";
112
112
  import { crearGestorJira } from "../../agent/conectores/gestorJira.js";
113
113
  import { crearGestorNotion } from "../../agent/conectores/gestorNotion.js";
@@ -1124,6 +1124,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
1124
1124
  modelo: consumoDeLaSesion.modelo,
1125
1125
  externo: consumoDeLaSesion.externo,
1126
1126
  ventana: ventanaDeAhora(consumoDeLaSesion.contexto),
1127
+ ...(consumoDeLaSesion.porModelo === undefined ? {} : { porModelo: consumoDeLaSesion.porModelo }),
1127
1128
  });
1128
1129
  }
1129
1130
  // La foto de la máquina, si ya se tomó. Si no, se dispara abajo UNA vez y llega a
@@ -2203,6 +2204,7 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
2203
2204
  modelo: alAbrir?.modelo ?? SIN_CONSUMO,
2204
2205
  externo: alAbrir?.externo ?? SIN_CONSUMO,
2205
2206
  ventana: ventanaDeAhora(alAbrir?.contexto ?? 0),
2207
+ ...(alAbrir?.porModelo === undefined ? {} : { porModelo: alAbrir.porModelo }),
2206
2208
  });
2207
2209
  // Y la cola se vuelve a mirar: este proyecto queda bloqueado para las tareas —gana la
2208
2210
  // persona— y el que estuviera abierto antes acaba de quedar libre.
@@ -3911,7 +3913,13 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
3911
3913
  // contador a pintar un cero que nadie ha medido.
3912
3914
  if (c === undefined)
3913
3915
  return;
3914
- emitir({ clase: "consumo", modelo: c.modelo, externo: c.externo, ventana: ventanaDeAhora(c.contexto) });
3916
+ emitir({
3917
+ clase: "consumo",
3918
+ modelo: c.modelo,
3919
+ externo: c.externo,
3920
+ ventana: ventanaDeAhora(c.contexto),
3921
+ ...(c.porModelo === undefined ? {} : { porModelo: c.porModelo }),
3922
+ });
3915
3923
  };
3916
3924
  /**
3917
3925
  * Cuánto ocupa la ventana y cuál es su tope, si se sabe.
@@ -5756,8 +5764,28 @@ export function ajusteDeGestorCableado(ajuste) {
5756
5764
  jira: crearGestorJira,
5757
5765
  notion: crearGestorNotion,
5758
5766
  };
5767
+ const sinServicio = () => {
5768
+ throw new Error("esta ejecución no tiene conectores");
5769
+ };
5759
5770
  return {
5760
5771
  conectores: (alCambiar) => (servicio = ajuste.conectores(alCambiar)),
5772
+ conectoresDeSesion: {
5773
+ delProyecto: (raiz) => {
5774
+ if (servicio === undefined)
5775
+ return [];
5776
+ const proyecto = cargar(raiz).config.proyecto;
5777
+ const lista = servicio.lista();
5778
+ return conectoresParaElAgente({
5779
+ marcados: proyecto?.conectores ?? [],
5780
+ gestor: proyecto?.gestorDeTareas?.conector,
5781
+ anadidos: lista.conectores.map((c) => c.id),
5782
+ catalogo: lista.catalogo,
5783
+ });
5784
+ },
5785
+ // `async`: sin servicio, el fallo sale como promesa RECHAZADA, que es lo que la tool devuelve como texto.
5786
+ tools: async (id) => (servicio === undefined ? sinServicio() : servicio.tools(id)),
5787
+ llamar: async (id, nombre, args, opciones) => (servicio === undefined ? sinServicio() : servicio.llamar(id, nombre, args, opciones)),
5788
+ },
5761
5789
  gestorDeTareas: (conector) => {
5762
5790
  const fabrica = Object.hasOwn(FABRICAS, conector) ? FABRICAS[conector] : undefined;
5763
5791
  if (fabrica === undefined)
@@ -6005,7 +6033,10 @@ export async function arrancarConsolaWeb(opciones) {
6005
6033
  escribir(`${texto}\n`);
6006
6034
  vestibulo?.consola.consola.escribir(`${texto}\n`);
6007
6035
  };
6008
- vestibulo = opciones.vestibulo ?? vestibuloReal(opciones, servidor, escribir, informar);
6036
+ // Los conectores y el gestor de tareas, sobre UN servicio —construido luego por `montarRutas`—, y
6037
+ // las sesiones sobre ese mismo: por eso esto va ANTES del vestíbulo, que es quien las abre.
6038
+ const conectoresYGestor = ajusteDeGestorCableado(ajusteDeConectoresCableado({ casa: homedir() }));
6039
+ vestibulo = opciones.vestibulo ?? vestibuloReal(opciones, servidor, escribir, informar, conectoresYGestor.conectoresDeSesion);
6009
6040
  const conVestibulo = vestibulo;
6010
6041
  /**
6011
6042
  * El corredor de tareas y su costura con el cable — `construirCorredorDeTareasCableado`
@@ -6098,7 +6129,8 @@ export async function arrancarConsolaWeb(opciones) {
6098
6129
  // (`ajusteDeConectoresCableado`), nunca un literal aquí dentro.
6099
6130
  // Y el gestor de tareas (IXCODE-11) llama por ESE mismo servicio: los dos salen de
6100
6131
  // `ajusteDeGestorCableado`, que envuelve la fábrica de conectores.
6101
- ...ajusteDeGestorCableado(ajusteDeConectoresCableado({ casa: homedir() })),
6132
+ conectores: conectoresYGestor.conectores,
6133
+ gestorDeTareas: conectoresYGestor.gestorDeTareas,
6102
6134
  // El selector nativo, solo si este sistema tiene uno. En el que no, la opción no se
6103
6135
  // monta y el botón no llega a existir.
6104
6136
  ...(haySelectorDeCarpeta()
@@ -6327,10 +6359,10 @@ function esperarInterrupcion() {
6327
6359
  }
6328
6360
  /** El vestíbulo con todas sus piezas reales. Se construye DESPUÉS del servidor porque el
6329
6361
  * callback de OAuth necesita saber a qué URL devolver al navegador. */
6330
- function vestibuloReal(opciones, servidor, escribir, informar) {
6362
+ function vestibuloReal(opciones, servidor, escribir, informar, conectores) {
6331
6363
  // Lo PRIMERO, antes de leer nada de disco: si esto va a fallar, que falle sin haber
6332
6364
  // aplicado credenciales al proceso ni construido medio vestíbulo.
6333
- const ejecutor = banderaDeEjecutor(opciones);
6365
+ const ejecutor = banderaDeEjecutor(opciones, conectores);
6334
6366
  const cargado = cargar(opciones.cwd);
6335
6367
  aplicarAuth(cargado.auth);
6336
6368
  // La lectura NO se hace aquí: se hace al abrir cada consola, que es lo que hace que una
@@ -6441,12 +6473,18 @@ function vestibuloReal(opciones, servidor, escribir, informar) {
6441
6473
  * O el ejecutor real, o el de pega PEDIDO con `--guion`, o un error. Lo que no hay es una
6442
6474
  * tercera opción muda.
6443
6475
  */
6444
- function banderaDeEjecutor(opciones) {
6476
+ export function banderaDeEjecutor(opciones, conectores) {
6445
6477
  if (opciones.guion === true)
6446
6478
  return {};
6447
- if (opciones.crearEjecutor === undefined) {
6479
+ const crear = opciones.crearEjecutor;
6480
+ if (crear === undefined) {
6448
6481
  throw new Error("esta consola web se montó sin `crearEjecutor`: correría el agente de pega sin decirlo (usa --guion si es lo que quieres)");
6449
6482
  }
6450
- return { crearEjecutor: opciones.crearEjecutor };
6483
+ // Los conectores se AÑADEN aquí, a todas las consolas —de persona y de tarea—: el vestíbulo no
6484
+ // tiene que acordarse de pasarlos en cada puerta. En una tarea, lo que escriben se rechaza igual
6485
+ // (`consolaDeTarea.ts`).
6486
+ if (conectores === undefined)
6487
+ return { crearEjecutor: crear };
6488
+ return { crearEjecutor: (alAbrir, o) => crear(alAbrir, { ...o, conectores }) };
6451
6489
  }
6452
6490
  //# sourceMappingURL=arranque.js.map