xonecode 0.6.0 → 0.8.1
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/{index-rqecK6s2.css → index-Boak51UP.css} +1 -1
- package/apps/web/dist/assets/index-Cg28x6nG.js +477 -0
- package/apps/web/dist/assets/{php-BBij3Lhc.js → php-Cu6F_QCJ.js} +1 -1
- package/apps/web/dist/assets/{ruby-Dq2YEaLo.js → ruby-BiqQPoC6.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/cloudstudio/cloudstudioClient.js +10 -0
- package/dist/agent/cloudstudio/cloudstudioClient.js.map +1 -1
- package/dist/agent/cloudstudio/cloudstudioMcp.js +84 -8
- package/dist/agent/cloudstudio/cloudstudioMcp.js.map +1 -1
- package/dist/agent/cloudstudio/descarga.js +14 -4
- package/dist/agent/cloudstudio/descarga.js.map +1 -1
- package/dist/agent/cloudstudio/ramaActiva.js +11 -0
- package/dist/agent/cloudstudio/ramaActiva.js.map +1 -0
- package/dist/agent/cloudstudio/subida.js +13 -4
- package/dist/agent/cloudstudio/subida.js.map +1 -1
- package/dist/agent/config/catalogoModelos.js +45 -0
- package/dist/agent/config/catalogoModelos.js.map +1 -1
- package/dist/agent/config/modelos.js +103 -12
- package/dist/agent/config/modelos.js.map +1 -1
- package/dist/agent/config/mudanzaEnDisco.js +121 -0
- package/dist/agent/config/mudanzaEnDisco.js.map +1 -0
- package/dist/agent/config/selectorEnMaquina.js +45 -0
- package/dist/agent/config/selectorEnMaquina.js.map +1 -0
- package/dist/agent/config/settingsEnDisco.js +35 -0
- package/dist/agent/config/settingsEnDisco.js.map +1 -1
- package/dist/agent/dispositivos/juezVisual.js +152 -0
- package/dist/agent/dispositivos/juezVisual.js.map +1 -0
- package/dist/agent/dispositivos/sensorDeArranque.js +154 -0
- package/dist/agent/dispositivos/sensorDeArranque.js.map +1 -0
- package/dist/agent/exportarPdf.js +140 -0
- package/dist/agent/exportarPdf.js.map +1 -0
- package/dist/agent/grafo/criticaVisual.js +115 -0
- package/dist/agent/grafo/criticaVisual.js.map +1 -0
- package/dist/agent/grafo/navegacionXone.js +37 -4
- package/dist/agent/grafo/navegacionXone.js.map +1 -1
- package/dist/agent/grafo/perfiles.js +52 -9
- package/dist/agent/grafo/perfiles.js.map +1 -1
- package/dist/agent/grafo/proyecto.js +74 -7
- package/dist/agent/grafo/proyecto.js.map +1 -1
- package/dist/agent/grafo/skills.js +32 -0
- package/dist/agent/grafo/skills.js.map +1 -1
- package/dist/agent/grafo/xoneAgent.js +103 -13
- package/dist/agent/grafo/xoneAgent.js.map +1 -1
- package/dist/agent/navegacion/estilosEnDisco.js +110 -0
- package/dist/agent/navegacion/estilosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/hechosEnDisco.js +26 -0
- package/dist/agent/navegacion/hechosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/indiceEnDisco.js +15 -0
- package/dist/agent/navegacion/indiceEnDisco.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +85 -24
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/subagentes/escrituraExterna.js +53 -0
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
- package/dist/agent/subagentes/pluginDeSkills.js +99 -0
- package/dist/agent/subagentes/pluginDeSkills.js.map +1 -0
- package/dist/agent/subagentes/subagenteExterno.js +48 -0
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
- package/dist/agent/subagentes/subagenteOpencode.js +53 -1
- package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
- package/dist/agent/tareas/juezDeTarea.js +1 -1
- package/dist/agent/tareas/juezDeTarea.js.map +1 -1
- package/dist/agent/tareas/tareasEnDisco.js +49 -0
- package/dist/agent/tareas/tareasEnDisco.js.map +1 -1
- package/dist/agent/turno/diagnosticoDeTools.js +5 -1
- package/dist/agent/turno/diagnosticoDeTools.js.map +1 -1
- package/dist/agent/turno/informeDeTraza.js +27 -4
- package/dist/agent/turno/informeDeTraza.js.map +1 -1
- package/dist/agent/turno/puente.js +24 -1
- package/dist/agent/turno/puente.js.map +1 -1
- package/dist/agent/turno/resumenDeContexto.js +88 -4
- package/dist/agent/turno/resumenDeContexto.js.map +1 -1
- package/dist/agent/turno/resumenDeTool.js +18 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/rubrica.js +91 -0
- package/dist/agent/turno/rubrica.js.map +1 -0
- package/dist/agent/turno/turnoReal.js +172 -11
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/consola.js +63 -0
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +51 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/run.js +8 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/core/agentes.js +111 -9
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/esfuerzo.js +141 -0
- package/dist/core/esfuerzo.js.map +1 -0
- package/dist/core/estilos.js +78 -0
- package/dist/core/estilos.js.map +1 -0
- package/dist/core/exportacion.js +140 -0
- package/dist/core/exportacion.js.map +1 -0
- package/dist/core/hechosDelProyecto.js +87 -0
- package/dist/core/hechosDelProyecto.js.map +1 -0
- package/dist/core/logDeDispositivo.js +143 -0
- package/dist/core/logDeDispositivo.js.map +1 -0
- package/dist/core/modelos.js +32 -0
- package/dist/core/modelos.js.map +1 -1
- package/dist/core/mudanzaDeWorkspace.js +93 -0
- package/dist/core/mudanzaDeWorkspace.js.map +1 -0
- package/dist/core/planes.js +70 -0
- package/dist/core/planes.js.map +1 -0
- package/dist/core/ports.js +4 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/rubrica.js +90 -0
- package/dist/core/rubrica.js.map +1 -0
- package/dist/core/selectorDeCarpeta.js +87 -0
- package/dist/core/selectorDeCarpeta.js.map +1 -0
- package/dist/core/settings.js +54 -5
- package/dist/core/settings.js.map +1 -1
- package/dist/core/shellDeAgente.js +45 -0
- package/dist/core/shellDeAgente.js.map +1 -1
- package/dist/core/topeAgotado.js +69 -0
- package/dist/core/topeAgotado.js.map +1 -0
- package/dist/web/servidor/arranque.js +324 -9
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/sesiones.js +30 -2
- package/dist/web/servidor/sesiones.js.map +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +55 -6
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/package.json +2 -1
- package/skills/xone-hotswap/SKILL.md +31 -9
- package/skills/xone-hotswap/scripts/xone-arrancar-android +202 -0
- package/skills/xone-hotswap/scripts/xone-captura-android +93 -0
- package/skills/xone-hotswap/scripts/xone-desplegar-android +28 -0
- package/skills/xone-hotswap/scripts/xone-hotswap +39 -9
- package/skills/xone-hotswap/scripts/xone-reiniciar-android +28 -0
- package/skills/xone-plan-builder/SKILL.md +22 -4
- package/skills/xone-spec-builder/SKILL.md +37 -7
- package/apps/web/dist/assets/index-DBZTodio.js +0 -477
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"informeDeTraza.js","sourceRoot":"","sources":["../../../src/agent/turno/informeDeTraza.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"informeDeTraza.js","sourceRoot":"","sources":["../../../src/agent/turno/informeDeTraza.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyEH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAqD;IACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAQD;;;;;GAKG;AACH,SAAS,OAAO,CAAC,UAAmB;IAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAwB;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,IAAI,MAAkC,CAAC;IACvC;;;;OAIG;IACH,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAkB,EAAE;QAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAmB;YAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YACtI,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;QAC5C,iBAAiB,GAAG,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAClC,IAAI,MAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpF,MAAM,GAAG,KAAgC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,MAAM,KAAK,SAAS;gBAAE,iBAAiB,IAAI,CAAC,CAAC;;gBAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC;QAEhB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;YAEtD,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEpE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC7H,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YACpB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;YACrB,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;YACvB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;YACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,sFAAsF;YACtF,oFAAoF;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC7H,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;YACtD,sFAAsF;YACtF,sFAAsF;YACtF,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,aAAa;gBAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;gBAC5C,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;gBACpD,OAAO,EAAE,IAAI,GAAG,EAAwB;aACzC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,GAAG,OAAO,SAAS,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,EAAE,KAAK,SAAS;oBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;;oBAC9G,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,mFAAmF;IACnF,IAAI,iBAAiB,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,MAAM;QACT,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,GAAG,GAAG;YACN,oFAAoF;YACpF,8DAA8D;YAC9D,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAChE,SAAS,EAAE,OAAO,CAAC,IAAI;SACxB,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,oEAAoE;AACpE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,SAAS,iBAAiB,CAAC,GAAqC;IAC9D,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CACT,KAAK,MAAM,CAAC,QAAQ,yBAAyB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;QACpG,SAAS,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,kBAAkB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC5H,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACpH,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBAC5H,SAAS,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI;gBACnF,sFAAsF;gBACtF,sFAAsF;gBACtF,wDAAwD;gBACxD,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,uFAAuF;QACvF,2EAA2E;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvC,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC;YACP,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,wBAAwB,GAAG,OAAO,KAAK,kCAAkC,CAC9E,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,kFAAkF;YAClF,oFAAoF;YACpF,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACrG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzH,CAAC;YACD,mFAAmF;YACnF,0EAA0E;YAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;YACjD,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,kCAAkC,CAAC,CAAC;IAC/F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,OAAiC,EAAE,QAAgB;IAC7E,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,CAAkB,EAAE,IAAa,EAAU,EAAE,CACzE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI;QACjG,WAAW,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM;QAChI,aAAa,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;IAE9F,MAAM,MAAM,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;IAC/G,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -134,6 +134,24 @@ export function toolsDe(dato) {
|
|
|
134
134
|
export function esDelPadre(ns) {
|
|
135
135
|
return ns.length <= 1;
|
|
136
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* De quién es esta tool, por el namespace del chunk.
|
|
139
|
+
*
|
|
140
|
+
* **No usa `esDelPadre`, y equivocarme con eso costó una medida falsa.** Aquel predicado es la
|
|
141
|
+
* LONGITUD del namespace y está medido para `messages`, donde el padre llega como
|
|
142
|
+
* `["model_request:<uuid>"]` — longitud 1. En `updates`, que es el modo por el que llegan los
|
|
143
|
+
* `tool_calls`, el padre llega con `[]` y un especialista con `["tools:<id>"]`, también
|
|
144
|
+
* longitud 1. Aplicar allí la regla de la longitud imputaba al orquestador TODAS las tools:
|
|
145
|
+
* el informe decía «orquestador 70 de 70» en un turno donde un especialista hizo 16 llamadas
|
|
146
|
+
* y se comió su tope.
|
|
147
|
+
*
|
|
148
|
+
* La regla buena es la que el propio comentario de `esDelPadre` ya declaraba: **un
|
|
149
|
+
* especialista SIEMPRE lleva un segmento `tools:` delante**, porque se le invoca con la tool
|
|
150
|
+
* `task`. Eso vale en los dos modos y no depende de cuántos segmentos haya.
|
|
151
|
+
*/
|
|
152
|
+
export function origenDeTool(ns) {
|
|
153
|
+
return ns[0]?.startsWith("tools:") === true ? "especialista" : "orquestador";
|
|
154
|
+
}
|
|
137
155
|
/**
|
|
138
156
|
* Convierte el stream del grafo en `DomainEvent`.
|
|
139
157
|
*
|
|
@@ -167,7 +185,12 @@ export async function* aEventos(stream, pendientes, alLlamarTool) {
|
|
|
167
185
|
vistas.add(id);
|
|
168
186
|
}
|
|
169
187
|
try {
|
|
170
|
-
alLlamarTool?.({
|
|
188
|
+
alLlamarTool?.({
|
|
189
|
+
nombre,
|
|
190
|
+
...(detalle === undefined ? {} : { detalle }),
|
|
191
|
+
...(parametros === undefined ? {} : { parametros }),
|
|
192
|
+
origen: origenDeTool(chunk.ns),
|
|
193
|
+
});
|
|
171
194
|
}
|
|
172
195
|
catch {
|
|
173
196
|
// La observabilidad no puede tumbar ni silenciar el stream.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puente.js","sourceRoot":"","sources":["../../../src/agent/turno/puente.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,gDAAgD;AAChD,MAAM,UAAU,OAAO,CAAC,GAAY;IAClC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACpB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,+EAA+E;IAC/E,qFAAqF;IACrF,yCAAyC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,CAA4B,CAAC;YAC5C,sEAAsE;YACtE,mFAAmF;YACnF,kFAAkF;YAClF,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,EAAE,CAAC;YACrE,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAI,GAA+B,CAAC,OAAO,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAA4B,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;QAC9F,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,MAAM,GAA6D,EAAE,CAAC;IAC5E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAA+B,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAI,IAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAI,CAA6B,EAAE,UAAU,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAI,CAA6B,EAAE,IAAI,CAAC;oBAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAI,CAA6B,CAAC,IAAI,CAAC;wBACjD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACnC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACzC,MAAM,EAAE,GAAI,CAA6B,EAAE,EAAE,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC;4BACV,MAAM,EAAE,CAAC;4BACT,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;4BAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;4BACnD,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACvD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,UAAU,CAAC,EAAqB;IAC9C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;AACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"puente.js","sourceRoot":"","sources":["../../../src/agent/turno/puente.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,gDAAgD;AAChD,MAAM,UAAU,OAAO,CAAC,GAAY;IAClC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACpB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,+EAA+E;IAC/E,qFAAqF;IACrF,yCAAyC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,CAA4B,CAAC;YAC5C,sEAAsE;YACtE,mFAAmF;YACnF,kFAAkF;YAClF,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,EAAE,CAAC;YACrE,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAI,GAA+B,CAAC,OAAO,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAA4B,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;QAC9F,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,MAAM,GAA6D,EAAE,CAAC;IAC5E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAA+B,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAI,IAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAI,CAA6B,EAAE,UAAU,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAI,CAA6B,EAAE,IAAI,CAAC;oBAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAI,CAA6B,CAAC,IAAI,CAAC;wBACjD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACnC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACzC,MAAM,EAAE,GAAI,CAA6B,EAAE,EAAE,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC;4BACV,MAAM,EAAE,CAAC;4BACT,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;4BAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;4BACnD,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACvD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,UAAU,CAAC,EAAqB;IAC9C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;AACxB,CAAC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,EAAqB;IAChD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;AAC/E,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,MAA8B,EAC9B,UAAmD,EACnD,YAA2B;IAE3B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,sFAAsF;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,4EAA4E;oBAC5E,gFAAgF;oBAChF,2EAA2E;oBAC3E,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,SAAS;wBAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjB,CAAC;oBACD,IAAI,CAAC;wBACH,YAAY,EAAE,CAAC;4BACb,MAAM;4BACN,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;4BAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;4BACnD,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;yBAC/B,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,4DAA4D;oBAC9D,CAAC;oBACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,SAAS,CAAC,yCAAyC;gBAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAA0B,CAAC;gBAC/C;;;;;;;;;;;;mBAYG;gBACH,IAAI,eAAe,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,EAAE,GAAI,GAAsC,EAAE,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,mFAAmF;gBACnF,kFAAkF;gBAClF,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACvG,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,GAAG,EAAE,CAAC;QAEf,6EAA6E;QAC7E,iFAAiF;QACjF,kFAAkF;QAClF,oCAAoC;QACpC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,2EAA2E;oBAC3E,+EAA+E;oBAC/E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,yEAAyE;gBACzE,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,iEAAiE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACpH,SAAS,EAAE,OAAO;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* Este umbral es independiente del proveedor: limita el coste sin borrar el trabajo reciente.
|
|
7
7
|
*/
|
|
8
8
|
import { createSummarizationMiddleware } from "deepagents";
|
|
9
|
-
import { createMiddleware,
|
|
10
|
-
import {
|
|
9
|
+
import { createMiddleware, toolCallLimitMiddleware } from "langchain";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { AIMessage, HumanMessage } from "@langchain/core/messages";
|
|
12
|
+
import { mensajeDeTopeAgotado } from "../../core/topeAgotado.js";
|
|
11
13
|
import { RUTA_HISTORIAL_RESUMIDO } from "../grafo/memoriaDeProyecto.js";
|
|
12
14
|
export const UMBRAL_RESUMEN_TOKENS = 32_000;
|
|
13
15
|
export const CONTEXTO_RECIENTE_TOKENS = 8_000;
|
|
@@ -136,8 +138,64 @@ export const TOPE_DE_LLAMADAS_DEL_ESPECIALISTA = 15;
|
|
|
136
138
|
* `EXCLUDED_STATE_KEYS` a propósito, «each agent counts its own calls, so they never cross the
|
|
137
139
|
* boundary». O sea que el tope de un especialista no toca el del padre.
|
|
138
140
|
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
+
const ESTADO_DEL_TOPE = z.object({ llamadasDelEspecialista: z.number().default(0) });
|
|
142
|
+
/**
|
|
143
|
+
* El tope, NUESTRO y no el de la librería.
|
|
144
|
+
*
|
|
145
|
+
* `modelCallLimitMiddleware` cuenta bien y corta bien, pero lo que deja como respuesta es un
|
|
146
|
+
* `AIMessage` con su frase en inglés —«Model call limits exceeded: …»—, y el `task` de
|
|
147
|
+
* deepagents devuelve SOLO el último mensaje (`extractLastMessage`). O sea que quien delegó
|
|
148
|
+
* recibe esa frase y **las quince llamadas de trabajo se pierden**: medido el 19-09-2026,
|
|
149
|
+
* 100-160k de entrada por especialista devolviendo menos de 900 tokens. Esa es la razón de que
|
|
150
|
+
* el orquestador encadene al siguiente — no enruta mal, es que no recibe nada con lo que seguir.
|
|
151
|
+
*
|
|
152
|
+
* No se pudo arreglar por fuera: su `jumpTo: "end"` **cortocircuita todos los middlewares
|
|
153
|
+
* posteriores**, incluidos `afterAgent` y su propio reset del contador (medido contra la
|
|
154
|
+
* librería real con `FakeToolCallingModel` y `runLimit: 0`, ver el test). No hay dónde
|
|
155
|
+
* engancharse. Así que el contador, la decisión y el mensaje son de aquí: uno de cada, y el
|
|
156
|
+
* mensaje se compone en `core/` donde se puede probar sin librería.
|
|
157
|
+
*
|
|
158
|
+
* `exitBehavior` sigue siendo «terminar» y no «lanzar», por el argumento de siempre: con un
|
|
159
|
+
* error la delegación entera se cae y el orquestador se queda sin nada, que es como empieza el
|
|
160
|
+
* bucle de reintentos que costó 1,5M de tokens.
|
|
161
|
+
*/
|
|
162
|
+
export function topeDeLlamadas(limite = TOPE_DE_LLAMADAS_DEL_ESPECIALISTA, alCortar) {
|
|
163
|
+
return createMiddleware({
|
|
164
|
+
name: "TopeDeLlamadasMiddleware",
|
|
165
|
+
stateSchema: ESTADO_DEL_TOPE,
|
|
166
|
+
beforeModel: {
|
|
167
|
+
canJumpTo: ["end"],
|
|
168
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
169
|
+
hook: (state) => {
|
|
170
|
+
if ((state?.llamadasDelEspecialista ?? 0) < limite)
|
|
171
|
+
return undefined;
|
|
172
|
+
// Que el corte se VEA. Sin esto el único sitio donde consta es el mensaje que recibe
|
|
173
|
+
// quien delegó, y la traza sigue diciendo «15 llamadas» como si hubiera terminado.
|
|
174
|
+
alCortar?.();
|
|
175
|
+
const parcial = ultimoTextoSustancial(state?.messages);
|
|
176
|
+
return {
|
|
177
|
+
jumpTo: "end",
|
|
178
|
+
messages: [
|
|
179
|
+
new AIMessage(mensajeDeTopeAgotado({ limite, ...(parcial === undefined ? {} : { parcial }) })),
|
|
180
|
+
],
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
185
|
+
afterModel: (state) => ({
|
|
186
|
+
llamadasDelEspecialista: (state?.llamadasDelEspecialista ?? 0) + 1,
|
|
187
|
+
}),
|
|
188
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/** Lo último que el especialista dijo con contenido: el trabajo que el corte iba a tirar. */
|
|
192
|
+
function ultimoTextoSustancial(mensajes) {
|
|
193
|
+
if (!Array.isArray(mensajes))
|
|
194
|
+
return undefined;
|
|
195
|
+
return [...mensajes]
|
|
196
|
+
.reverse()
|
|
197
|
+
.map((m) => textoPlano(m))
|
|
198
|
+
.find((texto) => texto.trim() !== "");
|
|
141
199
|
}
|
|
142
200
|
/**
|
|
143
201
|
* Cuántas TOOLS puede gastar un especialista en un encargo.
|
|
@@ -170,6 +228,32 @@ export const TOPE_DE_TOOLS_DEL_ESPECIALISTA = 20;
|
|
|
170
228
|
* y cuyo choque solo se ve corriendo. Por eso el test las ata juntas.
|
|
171
229
|
*/
|
|
172
230
|
export const SALIDA_DEL_TOPE_DE_TOOLS = "continue";
|
|
231
|
+
/**
|
|
232
|
+
* Cuántas TOOLS puede gastar el ORQUESTADOR, y **es un guarda, no una economía**.
|
|
233
|
+
*
|
|
234
|
+
* ## Por qué NO lleva tope de LLAMADAS, y esto sí
|
|
235
|
+
*
|
|
236
|
+
* El argumento contra caparle las llamadas sigue en pie y es bueno: **el que contesta al
|
|
237
|
+
* usuario no puede quedarse a medias**. Pero ese argumento es sobre no cortarle la VOZ, y el
|
|
238
|
+
* tope de tools con `exitBehavior: "continue"` no corta nada — se queda sin más tools y
|
|
239
|
+
* contesta con lo que tenga. Le quita la pala, no la palabra.
|
|
240
|
+
*
|
|
241
|
+
* ## Por qué el número es ALTO, y qué NO es
|
|
242
|
+
*
|
|
243
|
+
* **No está puesto para ahorrar.** Medido el 19-09-2026 sobre turnos reales, el orquestador
|
|
244
|
+
* gasta 41 tools en un encargo visual normal —18 lecturas, 15 `grep`, 5 de navegación y 3
|
|
245
|
+
* delegaciones— y sus llamadas al modelo van de 14 a 49 según el turno. Esas lecturas SON el
|
|
246
|
+
* trabajo: recortarlas no abarata el turno, empeora la respuesta. Lo que abarata es quitarle la
|
|
247
|
+
* NECESIDAD de leer, que es lo que hacen `conHechosDelProyecto` y la operación `estilos` — y se
|
|
248
|
+
* está moviendo: la navegación pasó de 1-2 usos por turno a 5.
|
|
249
|
+
*
|
|
250
|
+
* Así que esto se sitúa POR ENCIMA de lo observado a propósito: no muerde en ningún turno
|
|
251
|
+
* medido y solo para uno desbocado. Es el mismo papel que `topeDeRondas` y el tope propio de
|
|
252
|
+
* los artefactos — «aquí no hay humano que frene el bucle»—, y por eso vive aquí y no en una
|
|
253
|
+
* medida de coste. Si algún día muerde en un turno normal, lo que hay que mirar es por qué ese
|
|
254
|
+
* turno necesitó 60 tools, no subir el número.
|
|
255
|
+
*/
|
|
256
|
+
export const TOPE_DE_TOOLS_DEL_ORQUESTADOR = 60;
|
|
173
257
|
export function topeDeTools(limite = TOPE_DE_TOOLS_DEL_ESPECIALISTA) {
|
|
174
258
|
return toolCallLimitMiddleware({ runLimit: limite, exitBehavior: SALIDA_DEL_TOPE_DE_TOOLS });
|
|
175
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumenDeContexto.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeContexto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,6BAA6B,EAA0B,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"resumenDeContexto.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeContexto.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,17 @@ const CAMPOS_SEGUROS = {
|
|
|
37
37
|
* minutos en otro proceso, sin una sola tool que cruce.
|
|
38
38
|
*/
|
|
39
39
|
task: ["subagent_type"],
|
|
40
|
+
/**
|
|
41
|
+
* De `xone_navegacion` sale la OPERACIÓN y **no el `nombre`**, que es una colección del
|
|
42
|
+
* proyecto — o sea contenido, y aquí no entra contenido.
|
|
43
|
+
*
|
|
44
|
+
* Hace falta por un fallo de instrumento medido el 19-09-2026: al añadir la operación
|
|
45
|
+
* `estilos` no se pudo comprobar si el modelo llegaba a usarla, porque la traza registraba
|
|
46
|
+
* «xone_navegacion» a secas. Siete operaciones bajo un solo nombre es no poder contestar
|
|
47
|
+
* cuál de las siete se usa, que es justo lo que se quería saber. La operación es un enum
|
|
48
|
+
* cerrado de siete valores: no hay nada del proyecto dentro.
|
|
49
|
+
*/
|
|
50
|
+
xone_navegacion: ["operacion"],
|
|
40
51
|
/**
|
|
41
52
|
* **El comando ENTERO**, y es la única entrada de esta tabla que no es una ruta ni un
|
|
42
53
|
* patrón. Está aquí a propósito: a un agente con `ejecucion: true` no se le pregunta antes
|
|
@@ -52,6 +63,13 @@ const CAMPOS_SEGUROS = {
|
|
|
52
63
|
* silencio, que es peor que un límite escrito.
|
|
53
64
|
*/
|
|
54
65
|
execute: ["command"],
|
|
66
|
+
/**
|
|
67
|
+
* De un motor externo: QUÉ skill se carga y QUÉ se busca. Nunca los `args` con que se
|
|
68
|
+
* invoca una skill, que pueden llevar contenido del proyecto dentro — el mismo trato que
|
|
69
|
+
* la `description` de `task`.
|
|
70
|
+
*/
|
|
71
|
+
Skill: ["skill"],
|
|
72
|
+
ToolSearch: ["query"],
|
|
55
73
|
};
|
|
56
74
|
function objetoDeArgs(args) {
|
|
57
75
|
let objeto = args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumenDeTool.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;GAMG;AACH,MAAM,cAAc,GAAsC;IACxD,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC3C,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,EAAE,EAAE,CAAC,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC;IAC7D,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;IAC/D;;;;;;;;;;OAUG;IACH,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"resumenDeTool.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { createMiddleware } from "langchain";
|
|
2
|
+
import { AIMessage, HumanMessage } from "@langchain/core/messages";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { avisoDeNoSatisfecho, esTerminal, mensajeDeRevision, TOPE_DE_VUELTAS, } from "../../core/rubrica.js";
|
|
5
|
+
const ESTADO_DE_RUBRICA = z.object({
|
|
6
|
+
/** La rúbrica de ESTE encargo. Sin ella el middleware no hace nada. */
|
|
7
|
+
rubrica: z.string().optional(),
|
|
8
|
+
vueltasDeRubrica: z.number().default(0),
|
|
9
|
+
estadoDeRubrica: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
/**
|
|
12
|
+
* El bucle de rúbrica, portado del `RubricMiddleware` de deepagents (que está en su SDK de
|
|
13
|
+
* Python y no en el de JS).
|
|
14
|
+
*
|
|
15
|
+
* En la parada natural del agente —el modelo contesta sin pedir más tools— se juzga lo hecho
|
|
16
|
+
* contra la rúbrica. `necesita-revision` mete el comentario como mensaje y **salta de vuelta al
|
|
17
|
+
* modelo** (`jumpTo: "model"`, que el langchain de JS admite desde `afterAgent`); cualquier otro
|
|
18
|
+
* veredicto cierra.
|
|
19
|
+
*
|
|
20
|
+
* **Sin rúbrica no hace NADA**, igual que el original, y por eso se puede montar siempre: un
|
|
21
|
+
* turno normal no paga ni una llamada. Lo que decide si hay bucle es el dato, no una bandera.
|
|
22
|
+
*
|
|
23
|
+
* **Y a diferencia del original, un final no satisfecho SE DICE**: allí el estado vive en un
|
|
24
|
+
* campo privado y la última respuesta sigue siendo la del modelo —que puede estar afirmando que
|
|
25
|
+
* terminó—. Aquí se apila el aviso, que es la misma regla que hizo falta en el tope de llamadas.
|
|
26
|
+
*
|
|
27
|
+
* `alEvaluar` existe para que el harness pueda enseñarlo donde una persona lo vea: un mensaje
|
|
28
|
+
* apilado llega al transcript, pero no a la pantalla.
|
|
29
|
+
*/
|
|
30
|
+
export function middlewareDeRubrica(opciones) {
|
|
31
|
+
const tope = opciones.tope ?? TOPE_DE_VUELTAS;
|
|
32
|
+
return createMiddleware({
|
|
33
|
+
name: "RubricaMiddleware",
|
|
34
|
+
stateSchema: ESTADO_DE_RUBRICA,
|
|
35
|
+
afterAgent: {
|
|
36
|
+
canJumpTo: ["model"],
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
hook: async (state) => {
|
|
39
|
+
const rubrica = typeof state?.rubrica === "string" ? state.rubrica.trim() : "";
|
|
40
|
+
if (rubrica === "")
|
|
41
|
+
return undefined;
|
|
42
|
+
// Un estado ya terminal significa que este turno ya se juzgó y se cerró. Sin esta
|
|
43
|
+
// guarda, volver a pasar por aquí reabriría un bucle que ya había decidido.
|
|
44
|
+
const previo = state?.estadoDeRubrica;
|
|
45
|
+
if (previo !== undefined && esTerminal(previo))
|
|
46
|
+
return undefined;
|
|
47
|
+
const vuelta = (state?.vueltasDeRubrica ?? 0) + 1;
|
|
48
|
+
if (vuelta > tope)
|
|
49
|
+
return cerrar("tope-de-vueltas", vuelta - 1, opciones.alEvaluar);
|
|
50
|
+
let calificacion;
|
|
51
|
+
try {
|
|
52
|
+
calificacion = await opciones.calificar(state?.messages ?? [], rubrica);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Que el calificador no conteste es fallo del ENTORNO, no del trabajo. Se distingue
|
|
56
|
+
// a propósito de `fallido`, que culpa a la rúbrica: mezclarlos manda a arreglar lo
|
|
57
|
+
// que no estaba roto.
|
|
58
|
+
return cerrar("error-del-calificador", vuelta, opciones.alEvaluar);
|
|
59
|
+
}
|
|
60
|
+
opciones.alEvaluar?.(calificacion.veredicto, vuelta);
|
|
61
|
+
if (calificacion.veredicto === "satisfecho") {
|
|
62
|
+
return { vueltasDeRubrica: vuelta, estadoDeRubrica: "satisfecho" };
|
|
63
|
+
}
|
|
64
|
+
if (calificacion.veredicto === "fallido") {
|
|
65
|
+
return {
|
|
66
|
+
vueltasDeRubrica: vuelta,
|
|
67
|
+
estadoDeRubrica: "fallido",
|
|
68
|
+
messages: [new AIMessage(avisoDeNoSatisfecho("fallido", calificacion.comentario) ?? "")],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
vueltasDeRubrica: vuelta,
|
|
73
|
+
estadoDeRubrica: "necesita-revision",
|
|
74
|
+
messages: [new HumanMessage(mensajeDeRevision(calificacion.comentario, vuelta, tope))],
|
|
75
|
+
jumpTo: "model",
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/** Cierra el bucle diciéndolo: un final no satisfecho que se calla es el fallo del original. */
|
|
83
|
+
function cerrar(estado, vuelta, alEvaluar) {
|
|
84
|
+
alEvaluar?.(estado, vuelta);
|
|
85
|
+
return {
|
|
86
|
+
vueltasDeRubrica: vuelta,
|
|
87
|
+
estadoDeRubrica: estado,
|
|
88
|
+
messages: [new AIMessage(avisoDeNoSatisfecho(estado) ?? "")],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=rubrica.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubrica.js","sourceRoot":"","sources":["../../../src/agent/turno/rubrica.ts"],"names":[],"mappings":"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"}
|