xonecode 0.38.15 → 0.38.20

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 (61) hide show
  1. package/apps/web/dist/assets/{EditorDeFichero-C9BEoDWh.js → EditorDeFichero-DySw4j79.js} +1 -1
  2. package/apps/web/dist/assets/index-D7OcbgXE.css +1 -0
  3. package/apps/web/dist/assets/index-vvfKjRva.js +506 -0
  4. package/apps/web/dist/assets/{php-DIdt3Vgn.js → php-CSyDZ6m1.js} +1 -1
  5. package/apps/web/dist/assets/{ruby-DYEvg0Dr.js → ruby-3bX3v6o_.js} +1 -1
  6. package/apps/web/dist/index.html +2 -2
  7. package/dist/agent/conectores/gestorJira.js +118 -1
  8. package/dist/agent/conectores/gestorJira.js.map +1 -1
  9. package/dist/agent/dispositivos/decodificarImagen.js +8 -0
  10. package/dist/agent/dispositivos/decodificarImagen.js.map +1 -1
  11. package/dist/agent/motores/trueforge/convertirAP.js +86 -0
  12. package/dist/agent/motores/trueforge/convertirAP.js.map +1 -0
  13. package/dist/agent/motores/trueforge/sesionTrueforge.js +37 -2
  14. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  15. package/dist/agent/subagentes/agentesEnDisco.js +28 -3
  16. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  17. package/dist/agent/subagentes/escrituraExterna.js +8 -1
  18. package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
  19. package/dist/agent/subagentes/pluginDeSkills.js +21 -6
  20. package/dist/agent/subagentes/pluginDeSkills.js.map +1 -1
  21. package/dist/agent/subagentes/subagenteExterno.js +8 -3
  22. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  23. package/dist/agent/tareas/reflejoEnElGestor.js +120 -0
  24. package/dist/agent/tareas/reflejoEnElGestor.js.map +1 -0
  25. package/dist/agent/tareas/sondeoDelGestor.js +201 -0
  26. package/dist/agent/tareas/sondeoDelGestor.js.map +1 -0
  27. package/dist/agent/turno/turnoReal.js +1 -0
  28. package/dist/agent/turno/turnoReal.js.map +1 -1
  29. package/dist/cli/consola.js.map +1 -1
  30. package/dist/cli/main.js +2 -0
  31. package/dist/cli/main.js.map +1 -1
  32. package/dist/core/agentes.js +34 -0
  33. package/dist/core/agentes.js.map +1 -1
  34. package/dist/core/config.js +29 -0
  35. package/dist/core/config.js.map +1 -1
  36. package/dist/core/convertirAP.js +87 -0
  37. package/dist/core/convertirAP.js.map +1 -0
  38. package/dist/core/entrega.js +23 -0
  39. package/dist/core/entrega.js.map +1 -1
  40. package/dist/core/geometriaDePantalla.js +33 -0
  41. package/dist/core/geometriaDePantalla.js.map +1 -1
  42. package/dist/core/gestorDeTareas.js.map +1 -1
  43. package/dist/core/notify.js +2 -0
  44. package/dist/core/notify.js.map +1 -1
  45. package/dist/core/ports.js +36 -2
  46. package/dist/core/ports.js.map +1 -1
  47. package/dist/core/tareas.js.map +1 -1
  48. package/dist/core/tareasEnElGestor.js +197 -0
  49. package/dist/core/tareasEnElGestor.js.map +1 -0
  50. package/dist/web/servidor/arranque.js +446 -42
  51. package/dist/web/servidor/arranque.js.map +1 -1
  52. package/dist/web/servidor/consolaDeTarea.js +2 -0
  53. package/dist/web/servidor/consolaDeTarea.js.map +1 -1
  54. package/dist/web/servidor/corredorDeTareas.js +14 -2
  55. package/dist/web/servidor/corredorDeTareas.js.map +1 -1
  56. package/dist/web/servidor/transporte.js +10 -0
  57. package/dist/web/servidor/transporte.js.map +1 -1
  58. package/package.json +1 -1
  59. package/skills/xone-development/references/css/selectores-unidades-colores.md +2 -0
  60. package/apps/web/dist/assets/index-BpDt_1vN.js +0 -506
  61. package/apps/web/dist/assets/index-D_Z-V9n1.css +0 -1
@@ -19,12 +19,15 @@
19
19
  * **Enlaces y no copias**: las de serie pesan megas —una sola son 77 ficheros— y esto se
20
20
  * monta en cada arranque de un subagente externo.
21
21
  *
22
- * **Límite declarado, y es el mismo que en opencode**: lo que carga el motor por su cuenta
23
- * son las INSTRUCCIONES del `SKILL.md`. Si una skill manda leer otro fichero de su carpeta,
24
- * ese `Read` cae fuera del proyecto y `veredictoDeLectura` lo deniega. No se ensancha esa
25
- * guarda para arreglarlo: abrir la lectura a una carpeta de fuera por comodidad es
26
- * exactamente el agujero que esa función existe para cerrar, y el precio —una skill de varios
27
- * ficheros que se queda en su `SKILL.md`— se dice en vez de pagarse a escondidas.
22
+ * **Y el hijo puede LEER la carpeta entera de cada skill montada, no solo su `SKILL.md`**
23
+ * (`carpetasDeLecturaDeSkills`, sumadas a las lecturas de `veredictoDeLectura`). Antes se negaba, a
24
+ * propósito, y el precio resultó demasiado alto: medido en una tarea de Maset (15-10-2026), el
25
+ * developer y el consultor en Claude Code no pudieron leer `references/xml-ui/…` y escribieron
26
+ * atributos de XOne a ciegas —`img=` en un `type="IMG"`, donde la documentación dice `path=`—; el
27
+ * consultor lo dijo: «mi sandbox bloquea Read fuera del proyecto… No puedo confirmar si es `img` o
28
+ * `path`». No se abre «una carpeta de fuera por comodidad»: se abren SOLO las carpetas de las skills
29
+ * que este mismo montaje sirve, una a una, en LECTURA, comprobadas por texto y por camino real
30
+ * (`dentroDeUnaLectura`). La casa, `.xonecode/` y el resto de la máquina siguen cerrados.
28
31
  *
29
32
  * **Segundo límite**: el nombre le llega PREFIJADO (`xonecode:<nombre>`), que es como Claude
30
33
  * Code nombra lo que viene de un plugin, mientras que el `.md` de un subagente y
@@ -96,4 +99,16 @@ export function montarPluginDeSkills(opciones = {}) {
96
99
  return undefined;
97
100
  }
98
101
  }
102
+ /**
103
+ * Las carpetas que un hijo de Claude Code puede LEER de las skills montadas: de cada una, su enlace dentro del plugin
104
+ * (`<plugin>/skills/<nombre>`, que es la ruta que el motor le enseña) y su carpeta REAL. Las dos hacen falta:
105
+ * `dentroDeUnaLectura` compara el texto de la ruta Y su camino real, y el plugin usa ENLACES, así que una lectura por el
106
+ * enlace tiene el texto bajo el plugin y el camino real bajo la skill. Solo las que están en disco.
107
+ */
108
+ export function carpetasDeLecturaDeSkills(opciones = {}) {
109
+ const enlaces = join(carpetaDelPluginDeSkills(opciones.casa), "skills");
110
+ return skillsConRuta(opciones.raiz)
111
+ .filter((s) => existsSync(s.dir))
112
+ .flatMap((s) => [join(enlaces, s.nombre), s.dir]);
113
+ }
99
114
  //# sourceMappingURL=pluginDeSkills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pluginDeSkills.js","sourceRoot":"","sources":["../../../src/agent/subagentes/pluginDeSkills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;yEACyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,IAAI,EAAE,iBAAiB;QACvB,iFAAiF;QACjF,oFAAoF;QACpF,8DAA8D;QAC9D,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,mDAAmD;QAChE,MAAM,EAAE,WAAW;KACpB,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAA6C,EAAE;IAGlF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAC9C,2BAA2B,EAAE,EAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;QACF,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,sFAAsF;YACtF,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pluginDeSkills.js","sourceRoot":"","sources":["../../../src/agent/subagentes/pluginDeSkills.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,8 @@ import { codexDisponible, correrCodex } from "./subagenteCodex.js";
28
28
  import { correrOpencode, opencodeDisponible } from "./subagenteOpencode.js";
29
29
  import { consumoDeClaude } from "./consumoExterno.js";
30
30
  import { mensajeSeguro } from "../../core/trazaDeErrores.js";
31
- import { montarPluginDeSkills } from "./pluginDeSkills.js";
32
- import { claseDeToolExterna, decisionDePreToolUse, motivoDeBashExterno, diffDeEscrituraExterna, eventoDeToolExterna, veredictoDeLectura, motivoDeToolDenegada, veredictoDeRuta, MOTIVO_DE_ESCRITURA_RECHAZADA, MOTIVO_DE_ESCRITURA_ABORTADA, MOTIVO_DE_CANCELACION_EXTERNA, } from "./escrituraExterna.js";
31
+ import { carpetasDeLecturaDeSkills, montarPluginDeSkills } from "./pluginDeSkills.js";
32
+ import { claseDeToolExterna, decisionDePreToolUse, motivoDeBashExterno, diffDeEscrituraExterna, eventoDeToolExterna, veredictoDeLectura, lecturasDelHijo, motivoDeToolDenegada, veredictoDeRuta, MOTIVO_DE_ESCRITURA_RECHAZADA, MOTIVO_DE_ESCRITURA_ABORTADA, MOTIVO_DE_CANCELACION_EXTERNA, } from "./escrituraExterna.js";
33
33
  /**
34
34
  * La decisión sobre una tool del hijo. **Exportada para poder probarla**: es la regla de
35
35
  * seguridad de toda esta integración, y probarla llamando al SDK exigiría lanzar un Claude
@@ -76,7 +76,7 @@ export async function decisionDeTool(opciones) {
76
76
  entrada,
77
77
  ficheros,
78
78
  ...(opciones.real === undefined ? {} : { real: opciones.real }),
79
- ...(peticion.ejecucion === undefined ? {} : { lecturas: peticion.ejecucion.lecturas }),
79
+ lecturas: lecturasDelHijo(peticion.ejecucion, opciones.lecturasDeSkills),
80
80
  });
81
81
  return v.admitida ? { behavior: "allow" } : { behavior: "deny", message: v.motivo };
82
82
  }
@@ -267,6 +267,9 @@ export function crearSubagenteExterno(opciones) {
267
267
  // consola vive tiene que alcanzar al siguiente subagente, que es justo lo que el
268
268
  // montaje del agente interno no consigue (ver `backendConSkills`).
269
269
  const pluginDeSkills = montarPluginDeSkills({ raiz: peticion.cwd });
270
+ // Y lo que el hijo puede LEER de ellas: la carpeta entera de cada skill montada (sus `references/`), no solo el
271
+ // `SKILL.md`. Solo si el plugin se montó: sin él no le llega ninguna skill que leer.
272
+ const lecturasDeSkills = pluginDeSkills === undefined ? [] : carpetasDeLecturaDeSkills({ raiz: peticion.cwd });
270
273
  // Parar el turno aborta el SDK, que mata a su proceso hijo (`PeticionExterna.senal`). Un
271
274
  // controlador PROPIO atado a la señal, y no la señal a pelo: el SDK pide un controlador.
272
275
  const controlador = new AbortController();
@@ -339,6 +342,7 @@ export function crearSubagenteExterno(opciones) {
339
342
  cwd: peticion.cwd,
340
343
  ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
341
344
  ...(peticion.ejecucion === undefined ? {} : { ejecucion: peticion.ejecucion }),
345
+ lecturasDeSkills,
342
346
  });
343
347
  /**
344
348
  * **Solo se cuenta lo que va a ocurrir.** Una tool DENEGADA no se
@@ -427,6 +431,7 @@ export function crearSubagenteExterno(opciones) {
427
431
  peticion,
428
432
  signal: contexto.signal,
429
433
  ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
434
+ lecturasDeSkills,
430
435
  ...(opciones.aprobarEscritura === undefined
431
436
  ? {}
432
437
  : { politica: opciones.aprobarEscritura }),
@@ -1 +1 @@
1
- {"version":3,"file":"subagenteExterno.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteExterno.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAUH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAkBpC;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC3E,qFAAqF;IACrF,+DAA+D;IAC/D,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACjG,8FAA8F;IAC9F,sEAAsE;IACtE,IAAI,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC9F,CAAC;IACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB;;;;WAIG;QACH,MAAM,CAAC,GAAG,kBAAkB,CAAC;YAC3B,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,MAAM;YACN,OAAO;YACP,QAAQ;YACR,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/D,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,qFAAqF;QACrF,uFAAuF;QACvF,qDAAqD;QACrD,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,2GAA2G;gBAC3G,8BAA8B;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;QAC1B,QAAQ;QACR,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;IAEhF,MAAM,MAAM,GAAG,sBAAsB,CACnC,MAAM,EACN,OAAO,EACP,SAAS,CAAC,IAAI,EACd,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAW,CAAC,CACnE,CAAC;IACF;;;;;;;;OAQG;IACH,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,wFAAwF;IACxF,qFAAqF;IACrF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;YACrC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,6EAA6E;gBAC7E,kFAAkF;gBAClF,kFAAkF;gBAClF,gFAAgF;gBAChF,yBAAyB;gBACzB,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBACrE,IAAI,OAAO,CAAU,CAAC,QAAQ,EAAE,EAAE;wBAChC,gFAAgF;wBAChF,6EAA6E;wBAC7E,+EAA+E;wBAC/E,+EAA+E;wBAC/E,gFAAgF;wBAChF,4DAA4D;wBAC5D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,QAAQ,GAAG,IAAI,CAAC;4BAChB,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAChB,OAAO;wBACT,CAAC;wBACD,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;4BACH,QAAQ,GAAG,IAAI,CAAC;4BAChB,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAClB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC,CAAC,CAAC;IACV,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,6BAA6B;SACjF,CAAC;IACJ,CAAC;IACD,iFAAiF;IACjF,uFAAuF;IACvF,wFAAwF;IACxF,0FAA0F;IAC1F,sFAAsF;IACtF,8BAA8B;IAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAOD,yFAAyF;AACzF,KAAK,UAAU,eAAe,CAAC,KAAmB;IAChD,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,eAAe,EAAE,CAAC;IAChD,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,kBAAkB,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,uFAAuF;QACvF,uFAAuF;QACvF,sBAAsB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAmDrC;IACC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,KAAmB;YAClC,2EAA2E;YAC3E,sFAAsF;YACtF,qFAAqF;YACrF,6CAA6C;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QAED;;;;;;;;;WASG;QACH,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC;KACrC,CAAC;IAEF,KAAK,UAAU,SAAS,CAAC,QAAyB;QAChD,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC/B;;;;;;;;eAQG;YACH,OAAO,WAAW,CAAC,QAAQ,EAAE;gBAC3B,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC1F,yEAAyE;gBACzE,wEAAwE;gBACxE,6DAA6D;gBAC7D,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAG,EAAU;gBACrE,uFAAuF;gBACvF,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACjF,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;aAC/E,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAClC;;;;;eAKG;YACH,OAAO,cAAc,CAAC,QAAQ,EAAE;gBAC9B,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC1F,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAG,EAAU;gBACrE,eAAe,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAG,EAAU,CAAC;gBAC/F,6EAA6E;gBAC7E,gFAAgF;gBAChF,yEAAyE;gBACzE,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAEjE,iFAAiF;QACjF,iFAAiF;QACjF,mEAAmE;QACnE,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpE,yFAAyF;QACzF,yFAAyF;QACzF,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;YAAE,UAAU,EAAE,CAAC;;YAC9C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,EAAE,QAAQ,CAAC,KAAK;YACtB,OAAO,EAAE;gBACP,eAAe,EAAE,WAAW;gBAC5B,kFAAkF;gBAClF,qFAAqF;gBACrF,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,iFAAiF;gBACjF,kFAAkF;gBAClF,+EAA+E;gBAC/E,4EAA4E;gBAC5E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE;gBACvF,iFAAiF;gBACjF,kFAAkF;gBAClF,+CAA+C;gBAC/C;;;;;;;;;;;;;;mBAcG;gBACH,cAAc,EAAE,SAAS;gBACzB;;;;;;;;;mBASG;gBACH,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV;4BACE,KAAK,EAAE;gCACL,yEAAyE;gCACzE,wEAAwE;gCACxE,sEAAsE;gCACtE,0EAA0E;gCAC1E,iEAAiE;gCACjE,KAAK,EAAE,OAAO,EAAE,EAAE;oCAChB,MAAM,MAAM,GAAG,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC/D,MAAM,KAAK,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;oCACvE,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;wCACzC,CAAC,CAAE,KAAiC;wCACpC,CAAC,CAAC,EAAE,CAAC;oCACT,MAAM,QAAQ,GAAG,oBAAoB,CAAC;wCACpC,MAAM;wCACN,OAAO,EAAE,IAAI;wCACb,GAAG,EAAE,QAAQ,CAAC,GAAG;wCACjB,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAG,EAAU;wCAC/D,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;qCAC/E,CAAC,CAAC;oCACH;;;;;;uCAMG;oCACH,IAAI,QAAQ,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;wCAC3C,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oCACzG,CAAC;oCACD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;gCAC1C,CAAC;6BACF;yBACF;qBACF;iBACF;gBACD;;;;;;;;;;;;;;;;;;;;;;;;;mBAyBG;gBACH,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB;;;;;;;;;;;;;;mBAcG;gBACH,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;gBACxG,gFAAgF;gBAChF,gFAAgF;gBAChF,iFAAiF;gBACjF,yEAAyE;gBACzE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpE;;;;;;mBAMG;gBACH,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAChF;;;;;;mBAMG;gBACH,UAAU,EAAE,KAAK,EACf,MAAc,EACd,OAAgC,EAChC,QAAiC,EACjC,EAAE;oBACF,IAAI,CAAC;wBACH,OAAO,MAAM,cAAc,CAAC;4BAC1B,MAAM;4BACN,OAAO;4BACP,QAAQ;4BACR,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,IAAI,GAAG,EAAU;4BAC/D,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS;gCACzC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;yBAC7C,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,QAAQ,EAAE,MAAe;4BACzB,OAAO,EACL,+FAA+F;yBAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF;SACF,CAAC,CAAC;QAEH,sFAAsF;QACtF,sFAAsF;QACtF,yCAAyC;QACzC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;gBACtC;;;;;;;;;;;mBAWG;gBACH,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAI,OAA+C,CAAC,OAAO,EAAE,OAAO,CAAC;oBAClF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;4BAC7B,MAAM,CAAC,GAAG,MAA4C,CAAC;4BACvD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gCAC5E,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBACxC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,2BAA2B,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;gBAClF,CAAC;gBACD,qFAAqF;gBACrF,+EAA+E;gBAC/E,0CAA0C;gBAC1C,8EAA8E;gBAC9E,kFAAkF;gBAClF,8CAA8C;gBAC9C,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7E,IAAI,OAAO,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,OAAO,OAAO,CAAC,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,8DAA8D;YAC9D,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,+BAA+B,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAmB,EAAE,KAAc;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,wBAAwB,KAAK,4BAA4B,MAAM,mCAAmC,CAAC;AAC5G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsD;IACtF,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,IAAI,GAAG,KAAK,CAAC,IAAI,CACf,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAA8B,IAAI,GAAG,CAAe;IAChF,aAAa;IACb,OAAO;IACP,UAAU;CACX,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA6B;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"subagenteExterno.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteExterno.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { comentarioDeCierre } from "../../core/gestorDeTareas.js";
2
+ import { cerrarTicket, comentarioDeDescarte, esEstado, hayQueTransicionar, reflejosPendientes, transicionDeDescarte, transicionHacia, vinculoDelTicket, } from "../../core/tareasEnElGestor.js";
3
+ /** El almacén con el `guardar` vigilado: lo demás pasa tal cual. */
4
+ export function conReflejoAlGuardar(disco, reflejar) {
5
+ return {
6
+ ...disco,
7
+ guardar(tareas) {
8
+ const antes = disco.listar();
9
+ disco.guardar(tareas);
10
+ const pendientes = reflejosPendientes(antes, tareas);
11
+ if (pendientes.length > 0)
12
+ reflejar(pendientes);
13
+ },
14
+ /**
15
+ * DESCARTAR borra, y no pasa por `guardar`: sin vigilarlo aquí, el ticket se quedaba en el estado de lanzar y el
16
+ * sondeo creaba la tarea otra vez. Se cierra en el gestor como descartada (estado de terminada). Una terminada no se toca (su ticket ya está cerrado); un borrador de adjuntos
17
+ * (sin tarea en la cola) tampoco.
18
+ */
19
+ borrarTarea(id) {
20
+ const tarea = disco.listar().find((t) => t.id === id);
21
+ disco.borrarTarea(id);
22
+ if (tarea?.ticket !== undefined && tarea.estado !== "terminada") {
23
+ reflejar([{ tarea: tarea, escritura: "descartar" }]);
24
+ }
25
+ },
26
+ };
27
+ }
28
+ /** La función que recibe `conReflejoAlGuardar`: lanza cada reflejo y devuelve el control en el acto. */
29
+ export function crearReflejoEnElGestor(o) {
30
+ /** La cola de cada ticket: un reflejo espera al anterior del mismo ticket. */
31
+ const colas = new Map();
32
+ const aplicar = async ({ tarea, escritura }) => {
33
+ const { ticket } = tarea;
34
+ const g = o.gestorDe(ticket.conector);
35
+ if (g === undefined) {
36
+ o.anotarAviso(tarea.id, `no se pudo escribir en ${ticket.clave}: el conector «${ticket.conector}» no es un gestor de tareas`);
37
+ return;
38
+ }
39
+ const v = vinculoDelTicket(ticket);
40
+ try {
41
+ if (escritura === "empezar") {
42
+ const ficha = await g.ficha(v, ticket.clave);
43
+ // Ya está donde tiene que estar: la movió la persona (es lo que la LANZA, en la puerta 2) o es una reanudación.
44
+ if (esEstado(ficha.estado, ticket.estados?.lanzar) || !hayQueTransicionar("empezar", ficha.categoria))
45
+ return limpiar(tarea);
46
+ const t = transicionHacia(await g.transiciones(v, ticket.clave), "empezar", ticket.estados);
47
+ if (t === undefined) {
48
+ o.anotarAviso(tarea.id, `no se pudo pasar ${ticket.clave} a ${ticket.estados?.lanzar ?? "EN CURSO"}: su flujo no ofrece esa transición ahora`);
49
+ return;
50
+ }
51
+ await g.transicionar(v, ticket.clave, t.id);
52
+ return limpiar(tarea);
53
+ }
54
+ if (escritura === "descartar") {
55
+ // Comentario y LUEGO el estado de terminada, la misma secuencia que cerrar.
56
+ const t = transicionDeDescarte(await g.transiciones(v, ticket.clave));
57
+ const { falloDeTransicion } = await cerrarTicket(g, v, ticket.clave, comentarioDeDescarte(), t?.id, o.motivoDe);
58
+ if (t === undefined || falloDeTransicion !== undefined) {
59
+ o.informar?.(`se comentó el descarte en ${ticket.clave}, pero no se pudo pasar a un estado de terminada${falloDeTransicion === undefined ? "" : `: ${falloDeTransicion}`}`);
60
+ }
61
+ return;
62
+ }
63
+ const comentario = comentarioDeCierre(await o.datosDeCierre(tarea));
64
+ const t = transicionHacia(await g.transiciones(v, ticket.clave), "cerrar", ticket.estados);
65
+ const { falloDeTransicion } = await cerrarTicket(g, v, ticket.clave, comentario, t?.id, o.motivoDe);
66
+ if (falloDeTransicion !== undefined) {
67
+ o.anotarAviso(tarea.id, `se comentó el cierre en ${ticket.clave}, pero no se pudo pasar a ${t?.destino ?? "su estado final"}: ${falloDeTransicion}`);
68
+ }
69
+ else if (t === undefined) {
70
+ o.anotarAviso(tarea.id, `se comentó el cierre en ${ticket.clave}, pero su flujo no ofrece una transición a ${ticket.estados?.terminar ?? "un estado de terminada"}`);
71
+ }
72
+ else {
73
+ limpiar(tarea);
74
+ }
75
+ }
76
+ catch (error) {
77
+ const que = escritura === "empezar" ? `pasar ${ticket.clave} a EN CURSO` : escritura === "descartar" ? `devolver ${ticket.clave} al descartarla` : `cerrar ${ticket.clave}`;
78
+ o.anotarAviso(tarea.id, `no se pudo ${que}: ${o.motivoDe(error)}`);
79
+ // Una descartada ya no está en la cola: el aviso no tiene fila donde quedarse, así que se dice.
80
+ if (escritura === "descartar")
81
+ o.informar?.(`no se pudo ${que}: ${o.motivoDe(error)}`);
82
+ }
83
+ };
84
+ /** Lo que salió bien borra el aviso de la vez anterior; sin aviso no se escribe nada. */
85
+ const limpiar = (tarea) => {
86
+ if (tarea.ticket.aviso !== undefined)
87
+ o.anotarAviso(tarea.id, undefined);
88
+ };
89
+ const reflejar = (pendientes) => {
90
+ for (const p of pendientes) {
91
+ const clave = `${p.tarea.ticket.conector}/${p.tarea.ticket.sitio}/${p.tarea.ticket.clave}`;
92
+ const siguiente = (colas.get(clave) ?? Promise.resolve())
93
+ .then(() => aplicar(p))
94
+ .catch((error) => o.informar?.(`el reflejo de una tarea en su gestor falló sin control (${o.motivoDe(error)})`));
95
+ colas.set(clave, siguiente);
96
+ void siguiente.finally(() => {
97
+ if (colas.get(clave) === siguiente)
98
+ colas.delete(clave);
99
+ });
100
+ }
101
+ };
102
+ /** Para los tests y para un cierre ordenado: espera a lo que esté en marcha. */
103
+ const enCurso = async () => {
104
+ await Promise.all([...colas.values()]);
105
+ };
106
+ return Object.assign(reflejar, { enCurso });
107
+ }
108
+ /** `anotarAviso` sobre el almacén: relee la cola y cambia SOLO `ticket.aviso` de esa tarea (el estado no se toca, así
109
+ * que no vuelve a disparar ningún reflejo). Una tarea que ya no está (descartada) no se resucita. */
110
+ export function anotarAvisoEnElDisco(disco) {
111
+ return (id, aviso) => {
112
+ const lista = disco.listar();
113
+ const t = lista.find((x) => x.id === id);
114
+ if (t?.ticket === undefined)
115
+ return;
116
+ const { aviso: _anterior, ...ticket } = t.ticket;
117
+ disco.guardar(lista.map((x) => (x.id === id ? { ...x, ticket: aviso === undefined ? ticket : { ...ticket, aviso } } : x)));
118
+ };
119
+ }
120
+ //# sourceMappingURL=reflejoEnElGestor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflejoEnElGestor.js","sourceRoot":"","sources":["../../../src/agent/tareas/reflejoEnElGestor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * El SONDEO de la puerta 2: el gestor de tareas DISPARA tareas en background. Cada `INTERVALO_DE_SONDEO_MS`, y con
3
+ * «Mirar ahora», mira los proyectos con el disparo encendido (`VinculoGuardado.automatico`) y, con los tickets ASIGNADOS
4
+ * a la cuenta del conector:
5
+ * - en el estado de PREPARAR y sin encargo → amplía el encargo y lo sube como comentario;
6
+ * - en el estado de LANZAR y sin tarea → crea la tarea con el último encargo (y lo comentado debajo).
7
+ * Ver `docs/superpowers/specs/2026-10-15-tareas-desde-el-gestor-design.md`.
8
+ *
9
+ * La DECISIÓN es pura (`core/tareasEnElGestor.ts#accionesDelSondeo`); aquí solo la red y el disco, todo inyectado. Solo
10
+ * corre en el proceso que EJECUTA las tareas (`esDueño`): dos consolas no crean la misma tarea dos veces. Una pasada no
11
+ * se solapa con otra. Un fallo de un ticket no para los demás: se cuenta en el resultado.
12
+ */
13
+ import { randomUUID } from "node:crypto";
14
+ import { tituloDeTarea } from "../../core/tareas.js";
15
+ import { INTERVALO_DE_SONDEO_MS, accionesDelSondeo, comentarioDeEncargo, encargoConAñadidos, encargoConTicket, encargoDeLosComentarios, esComentarioDeEncargo, esEstado, } from "../../core/tareasEnElGestor.js";
16
+ /** El texto de un ticket como petición: el título y, debajo, su descripción. */
17
+ function peticionDelTicket(titulo, descripcion) {
18
+ return descripcion.trim() === "" ? titulo : `${titulo}\n\n${descripcion.trim()}`;
19
+ }
20
+ export function crearSondeoDelGestor(o) {
21
+ let enMarcha;
22
+ /**
23
+ * Las instancias de gestor a las que ya se preguntaron los sitios. Sin esa pregunta el adaptador de Jira no sabe la url
24
+ * del sitio y el ticket se guardaba SIN enlace (medido: la tarea de MAS-2 nació así). Se marca solo lo que contestó.
25
+ */
26
+ const conSitios = new WeakSet();
27
+ const asegurarSitios = async (g) => {
28
+ if (conSitios.has(g))
29
+ return;
30
+ await g.sitios();
31
+ conSitios.add(g);
32
+ };
33
+ let reloj;
34
+ const pasada = async () => {
35
+ const resultado = { preparadas: [], lanzadas: [], fallos: [] };
36
+ if (!o.esDueño())
37
+ return resultado;
38
+ for (const copia of o.copias()) {
39
+ const { vinculo: v, proyecto } = copia;
40
+ if (v.automatico !== true || (v.estados?.lanzar === undefined && v.estados?.preparar === undefined))
41
+ continue;
42
+ const g = o.gestorDe(v.conector);
43
+ if (g === undefined)
44
+ continue;
45
+ try {
46
+ await pasadaDeUnProyecto(copia, g, resultado);
47
+ }
48
+ catch (error) {
49
+ resultado.fallos.push({ proyecto: proyecto.nombre, motivo: o.motivoDe(error) });
50
+ }
51
+ }
52
+ if (resultado.lanzadas.length > 0)
53
+ o.revisar();
54
+ return resultado;
55
+ };
56
+ const pasadaDeUnProyecto = async ({ proyecto, vinculo: v }, g, resultado) => {
57
+ const estados = v.estados ?? {};
58
+ await asegurarSitios(g).catch(() => { });
59
+ rellenarEnlaces(v, g);
60
+ // Solo los ASIGNADOS a la cuenta del conector: quien mueve un ticket lanza un agente que escribe en esta máquina.
61
+ const tickets = await g.pendientes(v, undefined, { mias: true });
62
+ // Con tarea (no descartada: descartar la borra) en ESTE gestor y ESTE proyecto del gestor.
63
+ const conTarea = new Set(o
64
+ .cola.listar()
65
+ .filter((t) => t.ticket !== undefined && t.ticket.conector === v.conector && t.ticket.sitio === v.sitio && t.ticket.proyecto === v.proyecto)
66
+ .map((t) => t.ticket.clave));
67
+ // Solo se preguntan los comentarios de los que están en PREPARAR: es lo único que decide si ya tienen encargo.
68
+ const conEncargo = new Set();
69
+ if (g.comentarios !== undefined) {
70
+ for (const t of tickets) {
71
+ if (!esEstado(t.estado, estados.preparar) || conTarea.has(t.clave))
72
+ continue;
73
+ const comentarios = await g.comentarios(v, t.clave);
74
+ if (comentarios.some((c) => esComentarioDeEncargo(c.texto)))
75
+ conEncargo.add(t.clave);
76
+ }
77
+ }
78
+ else {
79
+ // Sin poder leer comentarios no se sabe si ya se preparó: no se prepara (se subiría otra vez en cada pasada).
80
+ for (const t of tickets)
81
+ conEncargo.add(t.clave);
82
+ }
83
+ for (const accion of accionesDelSondeo({ tickets, estados, conEncargo, conTarea, revisarEncargo: v.revisarEncargo === true })) {
84
+ try {
85
+ if (accion.tipo === "preparar") {
86
+ await preparar(proyecto, v, g, accion.ticket);
87
+ resultado.preparadas.push(accion.ticket.clave);
88
+ }
89
+ else {
90
+ // Sin revisión: se prepara y se lanza en la misma pasada CON ese encargo (sin releerlo del gestor, que podría no
91
+ // devolver todavía el comentario recién creado).
92
+ let recien;
93
+ if (accion.preparar === true) {
94
+ recien = await preparar(proyecto, v, g, accion.ticket);
95
+ resultado.preparadas.push(accion.ticket.clave);
96
+ }
97
+ await lanzar(proyecto, v, g, accion.ticket, recien);
98
+ resultado.lanzadas.push(accion.ticket.clave);
99
+ }
100
+ }
101
+ catch (error) {
102
+ resultado.fallos.push({ clave: accion.ticket.clave, proyecto: proyecto.nombre, motivo: o.motivoDe(error) });
103
+ }
104
+ }
105
+ };
106
+ /**
107
+ * Las tareas de ESTE vínculo cuyo ticket se guardó sin enlace (antes de este arreglo, o con el sitio sin preguntar):
108
+ * se le pide la ficha al gestor y se completa SOLO `ticket.url`, releyendo la cola (el estado no cambia: no dispara
109
+ * ningún reflejo). En segundo plano y sin parar la pasada.
110
+ */
111
+ const rellenarEnlaces = (v, g) => {
112
+ const sinEnlace = o.cola
113
+ .listar()
114
+ .filter((t) => t.ticket !== undefined && t.ticket.url === undefined && t.ticket.conector === v.conector && t.ticket.sitio === v.sitio);
115
+ for (const t of sinEnlace) {
116
+ void g.ficha(v, t.ticket.clave).then((f) => {
117
+ if (f.url === undefined)
118
+ return;
119
+ const lista = o.cola.listar();
120
+ if (!lista.some((x) => x.id === t.id && x.ticket !== undefined && x.ticket.url === undefined))
121
+ return;
122
+ o.cola.guardar(lista.map((x) => (x.id === t.id && x.ticket !== undefined ? { ...x, ticket: { ...x.ticket, url: f.url } } : x)));
123
+ o.revisar();
124
+ }, () => { });
125
+ }
126
+ };
127
+ /** Ampliar el encargo y subirlo. Sin aumentador no se prepara (y se dice una vez por pasada en el resultado). */
128
+ const preparar = async (proyecto, v, g, t) => {
129
+ if (o.augmentar === undefined)
130
+ throw new Error("esta ejecución no puede preparar encargos");
131
+ const ficha = await g.ficha(v, t.clave);
132
+ const encargo = await o.augmentar({ texto: peticionDelTicket(ficha.titulo, ficha.descripcion), proyecto, adjuntos: [] });
133
+ await g.comentar(v, t.clave, comentarioDeEncargo(encargo));
134
+ o.informar?.(`${t.clave}: encargo preparado y subido`);
135
+ return encargo;
136
+ };
137
+ /** Crear la tarea ligada al ticket, con el último encargo tal como esté en el gestor. */
138
+ const lanzar = async (proyecto, v, g, t,
139
+ /** El encargo recién subido en esta misma pasada (sin revisión): se usa tal cual. */
140
+ recien) => {
141
+ const ficha = await g.ficha(v, t.clave);
142
+ const peticion = peticionDelTicket(ficha.titulo, ficha.descripcion);
143
+ const leido = recien !== undefined || g.comentarios === undefined ? undefined : encargoDeLosComentarios(await g.comentarios(v, t.clave));
144
+ const sinTicket = recien ?? (leido === undefined ? peticion : encargoConAñadidos(leido.encargo, leido.añadidos));
145
+ const ticket = {
146
+ conector: v.conector,
147
+ sitio: v.sitio,
148
+ proyecto: v.proyecto,
149
+ clave: t.clave,
150
+ ...(ficha.url === undefined ? {} : { url: ficha.url }),
151
+ ...(v.estados === undefined ? {} : { estados: v.estados }),
152
+ };
153
+ // Releída justo antes de escribir: otra pasada o la ventana pudieron crear la suya entre medias.
154
+ const lista = o.cola.listar();
155
+ if (lista.some((x) => x.ticket?.conector === v.conector && x.ticket.sitio === v.sitio && x.ticket.clave === t.clave))
156
+ return;
157
+ const nueva = {
158
+ id: randomUUID(),
159
+ proyecto,
160
+ titulo: tituloDeTarea(ficha.titulo),
161
+ peticion,
162
+ // Con la línea del ticket delante: el agente y la conversación saben de qué ticket es y dónde abrirlo.
163
+ encargo: encargoConTicket(sinTicket, ticket),
164
+ adjuntos: [],
165
+ estado: "nuevo",
166
+ creada: (o.ahora?.() ?? new Date()).toISOString(),
167
+ ticket,
168
+ };
169
+ o.cola.guardar([...lista, nueva]);
170
+ o.informar?.(`${t.clave}: tarea en background creada desde el gestor`);
171
+ };
172
+ const mirar = () => {
173
+ if (enMarcha !== undefined)
174
+ return enMarcha;
175
+ enMarcha = pasada().finally(() => {
176
+ enMarcha = undefined;
177
+ });
178
+ return enMarcha;
179
+ };
180
+ return {
181
+ mirar,
182
+ arrancar() {
183
+ if (reloj !== undefined)
184
+ return;
185
+ reloj = setInterval(() => {
186
+ void mirar().then((r) => {
187
+ for (const f of r.fallos)
188
+ o.informar?.(`el gestor de ${f.proyecto}${f.clave === undefined ? "" : ` (${f.clave})`}: ${f.motivo}`);
189
+ }, (error) => o.informar?.(`el sondeo del gestor falló (${o.motivoDe(error)})`));
190
+ }, INTERVALO_DE_SONDEO_MS);
191
+ // No retiene el proceso vivo por sí solo.
192
+ reloj.unref?.();
193
+ },
194
+ parar() {
195
+ if (reloj !== undefined)
196
+ clearInterval(reloj);
197
+ reloj = undefined;
198
+ },
199
+ };
200
+ }
201
+ //# sourceMappingURL=sondeoDelGestor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sondeoDelGestor.js","sourceRoot":"","sources":["../../../src/agent/tareas/sondeoDelGestor.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,7 @@ export async function abrirSesionReal(opciones) {
135
135
  ...(opciones.pedirAprobacion === undefined ? {} : { pedirAprobacion: opciones.pedirAprobacion }),
136
136
  ...(opciones.sinAprobacion === undefined ? {} : { sinAprobacion: opciones.sinAprobacion }),
137
137
  ...(opciones.puedeProponerTareas === true ? { puedeProponerTareas: true } : {}),
138
+ ...(opciones.trabajoSinPersona === true ? { trabajoSinPersona: true } : {}),
138
139
  // SIEMPRE con carpeta, con la MISMA caída que deepagents. Sin ella `/artefactos/` no se
139
140
  // montaba en la consola de terminal ni en `run --real`, y la escritura caía en la raíz del
140
141
  // proyecto sin aprobación (medido: `artefactos/panel.html` en la app del cliente).