xonecode 0.33.0 → 0.35.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.
- package/apps/web/dist/assets/{EditorDeFichero-H_kGeZt2.js → EditorDeFichero-CGZ6uZPa.js} +1 -1
- package/apps/web/dist/assets/index-BBQH-l_3.css +1 -0
- package/apps/web/dist/assets/index-DqYXrrxo.js +499 -0
- package/apps/web/dist/assets/{php-CMFQiZgk.js → php-DTPkbJvq.js} +1 -1
- package/apps/web/dist/assets/{ruby-Dj3BOBHc.js → ruby-D1wBOK7G.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/config/fuentesEnRed.js +80 -0
- package/dist/agent/config/fuentesEnRed.js.map +1 -0
- package/dist/agent/dispositivos/cajasDeMaqueta.js +90 -2
- package/dist/agent/dispositivos/cajasDeMaqueta.js.map +1 -1
- package/dist/agent/dispositivos/geometriaEnDisco.js +85 -3
- package/dist/agent/dispositivos/geometriaEnDisco.js.map +1 -1
- package/dist/agent/grafo/criticaVisual.js +43 -37
- package/dist/agent/grafo/criticaVisual.js.map +1 -1
- package/dist/agent/grafo/fuentesDeGoogle.js +133 -0
- package/dist/agent/grafo/fuentesDeGoogle.js.map +1 -0
- package/dist/agent/grafo/incorporarAdjunto.js +52 -42
- package/dist/agent/grafo/incorporarAdjunto.js.map +1 -1
- package/dist/agent/grafo/perfiles.js +2 -0
- package/dist/agent/grafo/perfiles.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +9 -6
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
- package/dist/agent/motores/trueforge/informesDeHijos.js +39 -7
- package/dist/agent/motores/trueforge/informesDeHijos.js.map +1 -1
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js +75 -37
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js.map +1 -1
- package/dist/agent/motores/trueforge/memoriaTrueforge.js +24 -4
- package/dist/agent/motores/trueforge/memoriaTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/modeloLangchain.js +28 -4
- package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
- package/dist/agent/motores/trueforge/proponerTareas.js +67 -0
- package/dist/agent/motores/trueforge/proponerTareas.js.map +1 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js +159 -15
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/sesiones/adjuntosDeSesion.js +68 -1
- package/dist/agent/sesiones/adjuntosDeSesion.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +12 -4
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/tareas/aumentador.js +4 -3
- package/dist/agent/tareas/aumentador.js.map +1 -1
- package/dist/agent/tareas/juezDeTarea.js +53 -1
- package/dist/agent/tareas/juezDeTarea.js.map +1 -1
- package/dist/agent/turno/informeDeTraza.js +2 -1
- package/dist/agent/turno/informeDeTraza.js.map +1 -1
- package/dist/agent/turno/interrupts.js +12 -0
- package/dist/agent/turno/interrupts.js.map +1 -1
- package/dist/agent/turno/resumenDeTool.js +4 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +3 -0
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +4 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tui/transcript.js +5 -0
- package/dist/cli/tui/transcript.js.map +1 -1
- package/dist/core/actos.js.map +1 -1
- package/dist/core/agentes.js +10 -0
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/analisisDeSesion.js +1 -1
- package/dist/core/analisisDeSesion.js.map +1 -1
- package/dist/core/descripcionDePantalla.js +26 -13
- package/dist/core/descripcionDePantalla.js.map +1 -1
- package/dist/core/entrega.js +31 -2
- package/dist/core/entrega.js.map +1 -1
- package/dist/core/estiloMedido.js +21 -1
- package/dist/core/estiloMedido.js.map +1 -1
- package/dist/core/fuentes.js +174 -0
- package/dist/core/fuentes.js.map +1 -0
- package/dist/core/geometriaDePantalla.js +101 -1
- package/dist/core/geometriaDePantalla.js.map +1 -1
- package/dist/core/modoDeEscritura.js +4 -1
- package/dist/core/modoDeEscritura.js.map +1 -1
- package/dist/core/notify.js +4 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/ports.js +35 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/repartoDeEncargo.js +110 -0
- package/dist/core/repartoDeEncargo.js.map +1 -0
- package/dist/core/shellDeAgente.js +23 -0
- package/dist/core/shellDeAgente.js.map +1 -1
- package/dist/core/tareas.js +62 -1
- package/dist/core/tareas.js.map +1 -1
- package/dist/core/turno.js +15 -0
- package/dist/core/turno.js.map +1 -1
- package/dist/web/servidor/arranque.js +171 -14
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/consolaWeb.js +5 -0
- package/dist/web/servidor/consolaWeb.js.map +1 -1
- package/dist/web/servidor/corredorDeTareas.js +15 -2
- package/dist/web/servidor/corredorDeTareas.js.map +1 -1
- package/dist/web/servidor/interrupcion.js +52 -0
- package/dist/web/servidor/interrupcion.js.map +1 -0
- package/dist/web/servidor/pielWeb.js +36 -0
- package/dist/web/servidor/pielWeb.js.map +1 -1
- package/dist/web/servidor/transporte.js +1 -0
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +43 -2
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/package.json +1 -1
- package/skills/xone-development/references/css/de-una-maqueta-a-xone.md +6 -4
- package/skills/xone-development/references/xml-ui/atributos-coll-group-frame.md +4 -4
- package/skills/xone-development/references/xml-ui/nodos-group-y-frame.md +4 -4
- package/apps/web/dist/assets/index-CWBaotdZ.css +0 -1
- package/apps/web/dist/assets/index-DnGuOvbb.js +0 -499
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shellDeAgente.js","sourceRoot":"","sources":["../../src/core/shellDeAgente.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,EAAE,uBAAuB,EAA8B,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,sGAAsG;AACtG,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiE;IAEjE,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,SAAS,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,SAAS;QAAE,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,QAqB9B;IACC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,uFAAuF;QACvF,sCAAsC;QACtC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,SAAS;QACjD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,0FAA0F;QAC1F,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC5F,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IACnF,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC/F,wFAAwF;IACxF,4FAA4F;IAC5F,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,yHAAyH,CAAC;IACnJ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA,oBAAoB,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,0BAA0B,CAAC;IACpD,MAAM,UAAU,GAAG;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,6BAA6B,MAAM,QAAQ,GAAG,EAAE,CAAC;QAC/E,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,yGAAyG,MAAM,QAAQ,GAAG,EAAE,CAAC;QAC3J,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,uDAAuD,MAAM,QAAQ,GAAG,EAAE,CAAC;KAC1G,CAAC;IACF,MAAM,KAAK,GACT,6HAA6H;QAC7H,6HAA6H;QAC7H,oDAAoD,CAAC;IACvD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,CACL,4HAA4H;YAC5H,oBAAoB,KAAK,gGAAgG;YACzH,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,yHAAyH;IACzH,+GAA+G;IAC/G,MAAM,aAAa,GAAG;QACpB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,QAAQ,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,qDAAqD,CAAC;QACpF,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,+CAA+C,CAAC;KAC/E,CAAC;IACF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,uDAAuD,KAAK,gEAAgE,CAAC;IACtI,CAAC;IACD,+FAA+F;IAC/F,+FAA+F;IAC/F,8GAA8G;IAC9G,uDAAuD;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA,kCAAkC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,GAAG,GAAG,oDAAoD,GAAG,GAAG,CAAC,CAAC;IACnH;;;;;OAKG;IACH,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,GAAG,GAAG,4EAA4E,CAAC,CAAC;IACvI,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,CACL,2HAA2H;YAC3H,qHAAqH;YACrH,kHAAkH;YAClH,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,mHAAmH;YACnH,iHAAiH;YACjH,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2FAA2F;AAC3F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/J,0DAA0D;AAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE9D,MAAM,KAAK,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,wDAAwD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,kEAAkE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAElI;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,CAAoC;IACvF,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;IACzC,MAAM,IAAI,GACR,4HAA4H,CAAC;IAC/H,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,qFAAqF;QACrF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;YAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9F,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;YAChH,OAAO,8BAA8B,MAAM,+CAA+C,IAAI,EAAE,CAAC;QACnG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9B,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC5B,IAAI,MAAM,KAAK,IAAI;gBAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5D,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO,8BAA8B,MAAM,iDAAiD,IAAI,EAAE,CAAC;QAC/H,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,CACL,8BAA8B,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,2BAA2B;gBACrH,6BAA6B,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"shellDeAgente.js","sourceRoot":"","sources":["../../src/core/shellDeAgente.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,EAAE,uBAAuB,EAA8B,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,sGAAsG;AACtG,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiE;IAEjE,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,SAAS,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,SAAS;QAAE,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,QAqB9B;IACC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,uFAAuF;QACvF,sCAAsC;QACtC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,SAAS;QACjD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,0FAA0F;QAC1F,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC5F,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IACnF,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC/F,wFAAwF;IACxF,4FAA4F;IAC5F,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,yHAAyH,CAAC;IACnJ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA,oBAAoB,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,0BAA0B,CAAC;IACpD,MAAM,UAAU,GAAG;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,6BAA6B,MAAM,QAAQ,GAAG,EAAE,CAAC;QAC/E,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,yGAAyG,MAAM,QAAQ,GAAG,EAAE,CAAC;QAC3J,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,uDAAuD,MAAM,QAAQ,GAAG,EAAE,CAAC;KAC1G,CAAC;IACF,MAAM,KAAK,GACT,6HAA6H;QAC7H,6HAA6H;QAC7H,oDAAoD,CAAC;IACvD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,CACL,4HAA4H;YAC5H,oBAAoB,KAAK,gGAAgG;YACzH,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,yHAAyH;IACzH,+GAA+G;IAC/G,MAAM,aAAa,GAAG;QACpB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,QAAQ,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,qDAAqD,CAAC;QACpF,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,+CAA+C,CAAC;KAC/E,CAAC;IACF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,uDAAuD,KAAK,gEAAgE,CAAC;IACtI,CAAC;IACD,+FAA+F;IAC/F,+FAA+F;IAC/F,8GAA8G;IAC9G,uDAAuD;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA,kCAAkC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,GAAG,GAAG,oDAAoD,GAAG,GAAG,CAAC,CAAC;IACnH;;;;;OAKG;IACH,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,MAAM,GAAG,GAAG,4EAA4E,CAAC,CAAC;IACvI,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,CACL,2HAA2H;YAC3H,qHAAqH;YACrH,kHAAkH;YAClH,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,MAAM,QAAQ,GAAG,0FAA0F,CAAC;IAC5G,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,uBAAuB,QAAQ,mEAAmE,CAAC,CAAC;IAC7I,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,CACL,2HAA2H;YAC3H,8DAA8D,mBAAmB,8BAA8B;YAC/G,OAAO,sBAAsB,6FAA6F;YAC1H,qGAAqG,CACtG,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,MAAM,aAAa,GAAG,kHAAkH,CAAC;IACzI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,CACL,2HAA2H;YAC3H,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,mHAAmH;YACnH,iHAAiH;YACjH,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2FAA2F;AAC3F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/J,0DAA0D;AAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE9D,MAAM,KAAK,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,wDAAwD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,kEAAkE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAElI;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,CAAoC;IACvF,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;IACzC,MAAM,IAAI,GACR,4HAA4H,CAAC;IAC/H,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,qFAAqF;QACrF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;YAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9F,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;YAChH,OAAO,8BAA8B,MAAM,+CAA+C,IAAI,EAAE,CAAC;QACnG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9B,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC5B,IAAI,MAAM,KAAK,IAAI;gBAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5D,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO,8BAA8B,MAAM,iDAAiD,IAAI,EAAE,CAAC;QAC/H,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,CACL,8BAA8B,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,2BAA2B;gBACrH,6BAA6B,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/core/tareas.js
CHANGED
|
@@ -59,8 +59,13 @@ export const CONCURRENCIA_POR_OMISION = 2;
|
|
|
59
59
|
* — o sea que un tope corto aparca con un motivo VERDADERO en vez de dar por bueno un
|
|
60
60
|
* trabajo a medias. Un número provisional con un fallo honesto se afina luego; lo que no se
|
|
61
61
|
* puede es que al agotarse mienta.
|
|
62
|
+
*
|
|
63
|
+
* **Subido a 50 por una medida**: una tarea que ajustaba una pantalla contra su maqueta (Maset, Entradas/Salidas) gastó
|
|
64
|
+
* las 20 en un solo turno —editar, desplegar, capturar, criticar, volver a editar, una edición por fichero y ronda— y se
|
|
65
|
+
* cortó con tres ediciones sin aplicar y el simulador sin correr, con la ventana casi lista. Ese ciclo de diseño es el
|
|
66
|
+
* trabajo normal de una tarea, no un bucle; a petición de la persona, el mismo 50 que el chat.
|
|
62
67
|
*/
|
|
63
|
-
export const TOPE_DE_RONDAS_DE_TAREA =
|
|
68
|
+
export const TOPE_DE_RONDAS_DE_TAREA = 50;
|
|
64
69
|
/**
|
|
65
70
|
* Qué tareas pueden arrancar AHORA.
|
|
66
71
|
*
|
|
@@ -72,6 +77,8 @@ export const TOPE_DE_RONDAS_DE_TAREA = 20;
|
|
|
72
77
|
* misma pasada: comparten disco, índice de git, checkpointer y `sync`, y dos turnos a la
|
|
73
78
|
* vez sobre eso es una carrera con escrituras de por medio.
|
|
74
79
|
* - **Y GANA LA PERSONA**: ver `bloqueados`.
|
|
80
|
+
* - **Y las ENCADENADAS esperan a su anterior** (`Tarea.tras`) hasta que esté `terminada`, también si quedó en
|
|
81
|
+
* `requiere-atencion`. Igual que un bloqueado: no gasta hueco ni para la cola.
|
|
75
82
|
*/
|
|
76
83
|
export function siguientesAEjecutar(tareas, opciones) {
|
|
77
84
|
const corriendo = tareas.filter((t) => t.estado === "en-proceso");
|
|
@@ -87,6 +94,11 @@ export function siguientesAEjecutar(tareas, opciones) {
|
|
|
87
94
|
for (const t of candidatas) {
|
|
88
95
|
if (elegidas.length >= huecos)
|
|
89
96
|
break;
|
|
97
|
+
if (t.tras !== undefined) {
|
|
98
|
+
const anterior = tareas.find((x) => x.id === t.tras);
|
|
99
|
+
if (anterior !== undefined && anterior.estado !== "terminada")
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
90
102
|
if (ocupados.has(t.proyecto.raiz))
|
|
91
103
|
continue;
|
|
92
104
|
ocupados.add(t.proyecto.raiz);
|
|
@@ -227,4 +239,53 @@ export function conVeredicto(tarea, veredicto) {
|
|
|
227
239
|
export function darPorBuenaAMano(tarea, ahora) {
|
|
228
240
|
return { ...conEstado(tarea, "terminada", undefined, ahora === undefined ? {} : { ahora }), terminadaAMano: true };
|
|
229
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Cuántas veces se reanuda SOLA una tarea cortada a mitad. Una: si vuelve a cortarse, puede ser ella la que tumba el
|
|
244
|
+
* proceso, y reanudarla siempre sería un bucle; entonces se aparca y espera a una persona.
|
|
245
|
+
*/
|
|
246
|
+
export const TOPE_DE_REANUDACIONES = 1;
|
|
247
|
+
/**
|
|
248
|
+
* Lo que recibe el agente al reanudar, como un mensaje más en SU hilo. El trabajo de antes del corte está en el disco
|
|
249
|
+
* (las tareas escriben sin aprobación) y en su memoria hasta el último paso guardado, pero la llamada en curso se perdió:
|
|
250
|
+
* por eso manda MIRAR antes de rehacer.
|
|
251
|
+
*/
|
|
252
|
+
export const TEXTO_DE_REANUDACION = "[harness] El proceso se cortó a mitad de tu turno anterior y se ha vuelto a arrancar. Sigue el encargo donde lo " +
|
|
253
|
+
"dejaste: lo que ya escribiste está en el disco, así que mira el estado de los ficheros (y del plan, si lo hay) antes " +
|
|
254
|
+
"de rehacer nada, y no repitas lo que ya está hecho.";
|
|
255
|
+
/**
|
|
256
|
+
* Una tarea que el proceso dejó «en proceso» al morir, REANUDADA: vuelve a la cola con `TEXTO_DE_REANUDACION` como
|
|
257
|
+
* feedback pendiente, que el corredor manda en su MISMO hilo (`peticionDeFeedback` con `reanudando`). Pasa por las
|
|
258
|
+
* transiciones de siempre —aparcada con su motivo y devuelta con un feedback—, así que no hay un atajo nuevo que vigilar.
|
|
259
|
+
*
|
|
260
|
+
* `undefined` = NO se reanuda y se aparca como hasta ahora: sin hilo que reabrir (empezar de cero sin decírselo a nadie
|
|
261
|
+
* podría rehacer o pisar lo escrito) o con el tope gastado.
|
|
262
|
+
*/
|
|
263
|
+
export function reanudadaTrasCorte(tarea, motivo, ahora) {
|
|
264
|
+
if (tarea.estado !== "en-proceso" || tarea.sesion === undefined)
|
|
265
|
+
return undefined;
|
|
266
|
+
const hechas = tarea.reanudaciones ?? 0;
|
|
267
|
+
if (hechas >= TOPE_DE_REANUDACIONES)
|
|
268
|
+
return undefined;
|
|
269
|
+
const aparcada = conEstado(tarea, "requiere-atencion", motivo, ahora === undefined ? {} : { ahora });
|
|
270
|
+
return conFeedback({ ...aparcada, reanudaciones: hechas + 1 }, TEXTO_DE_REANUDACION, ahora);
|
|
271
|
+
}
|
|
272
|
+
/** El motivo de aparcar una cortada que YA se reanudó sola: lo de siempre, más por qué esta vez no sigue. */
|
|
273
|
+
export const motivoTrasReanudar = (motivo) => `${motivo}; ya se reanudó sola una vez y volvió a cortarse, así que espera a que la mires`;
|
|
274
|
+
/**
|
|
275
|
+
* «Continuar» en una tarea aparcada sin escribir nada: lo que entra en SU hilo como feedback. Sin esto, seguir sin
|
|
276
|
+
* añadir nada era «Reintentar», que vuelve a mandar el encargo entero.
|
|
277
|
+
*/
|
|
278
|
+
export const TEXTO_DE_CONTINUAR = "Continúa donde lo dejaste.";
|
|
279
|
+
/**
|
|
280
|
+
* ¿Se puede «Arrancar ahora»? Una tarea `nuevo` que no espera a ninguna anterior (`tras`): las encadenadas esperan a
|
|
281
|
+
* que la suya termine, y saltárselo sería arrancar sobre trabajo sin aceptar. La MISMA regla que `siguientesAEjecutar`.
|
|
282
|
+
*/
|
|
283
|
+
export function puedeArrancarYa(tarea, lista) {
|
|
284
|
+
if (tarea.estado !== "nuevo")
|
|
285
|
+
return false;
|
|
286
|
+
if (tarea.tras === undefined)
|
|
287
|
+
return true;
|
|
288
|
+
const anterior = lista.find((x) => x.id === tarea.tras);
|
|
289
|
+
return anterior === undefined || anterior.estado === "terminada";
|
|
290
|
+
}
|
|
230
291
|
//# sourceMappingURL=tareas.js.map
|
package/dist/core/tareas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tareas.js","sourceRoot":"","sources":["../../src/core/tareas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkB1C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,YAAY,GAA8D;IACrF;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC1C,YAAY,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAChD,+EAA+E;IAC/E,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAC3C,SAAS,EAAE,EAAE;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"tareas.js","sourceRoot":"","sources":["../../src/core/tareas.ts"],"names":[],"mappings":"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"}
|
package/dist/core/turno.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Bitacora } from "./bitacora.js";
|
|
2
2
|
import { Colapsador } from "./notify.js";
|
|
3
|
+
import { textoDePropuesta } from "./repartoDeEncargo.js";
|
|
3
4
|
import { pideLeerLaMemoria } from "./memoria.js";
|
|
4
5
|
/**
|
|
5
6
|
* Lo que la piel recibe de una línea del colapsador: su tool, su error y su origen. UNA función
|
|
@@ -178,6 +179,20 @@ export async function correrTurno(eventos, piel, opciones = {}) {
|
|
|
178
179
|
}
|
|
179
180
|
piel.consulta?.({ pregunta: ev.pregunta, opciones: ev.opciones });
|
|
180
181
|
break;
|
|
182
|
+
case "propuesta-de-tareas":
|
|
183
|
+
// No ha salido por `token`: sin el método, una línea; con él, la tarjeta (y la respuesta abierta se cierra
|
|
184
|
+
// antes, como con `consulta`, para que no quede pegada a ella).
|
|
185
|
+
if (piel.propuestaDeTareas !== undefined) {
|
|
186
|
+
if (abierta) {
|
|
187
|
+
piel.cerrarLinea();
|
|
188
|
+
abierta = false;
|
|
189
|
+
}
|
|
190
|
+
piel.propuestaDeTareas({ motivo: ev.motivo, tareas: ev.tareas });
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
escribirLinea(textoDePropuesta({ motivo: ev.motivo, tareas: ev.tareas }));
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
181
196
|
case "bloqueado":
|
|
182
197
|
bitacora.anota("bloqueado", ev.motivo);
|
|
183
198
|
escribirLinea(`⛔ bloqueado (${ev.motivo}): ${ev.explicacion}`);
|
package/dist/core/turno.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turno.js","sourceRoot":"","sources":["../../src/core/turno.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"turno.js","sourceRoot":"","sources":["../../src/core/turno.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,CAAc;IAC1C,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AA2FD,2FAA2F;AAC3F,MAAM,aAAa,GAAyB;IAC1C,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,yBAAyB;IACjD,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,8BAA8B;IAC3C,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,yBAAyB;CACxC,CAAC;AAkCF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAmC,EACnC,IAAU,EACV,WAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAA4B,CAAC;IAEjC,kEAAkE;IAClE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,OAAwB,EAAQ,EAAE;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,OAAO;oBACV,IAAI,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBAER,KAAK,cAAc;oBACjB,iFAAiF;oBACjF,gFAAgF;oBAChF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACpC,gFAAgF;wBAChF,+EAA+E;wBAC/E,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBACzC,CAAC;oBACD,MAAM;gBAER,KAAK,SAAS;oBACZ,gFAAgF;oBAChF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC/B,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjF,8EAA8E;oBAC9E,4EAA4E;oBAC5E,sDAAsD;oBACtD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM;oBACT,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;wBAAE,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;oBAC3F,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;wBAChC,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;wBACnB,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;qBAC1D,CAAC,EAAE,CAAC;wBACH,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACrD,aAAa,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;oBAC1D,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM;gBAER,KAAK,OAAO;oBACV,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjD,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBAER,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC;oBACvE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC;wBACzC,KAAK,KAAK,CAAC;wBACX,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,aAAa,CACX,EAAE,CAAC,KAAK;wBACN,CAAC,CAAC,0BAA0B;wBAC5B,CAAC,CAAC,oBAAoB,EAAE,CAAC,OAAO,eAAe,EAAE,CAAC,MAAM,WAAW,CACtE,CAAC;oBACF,0EAA0E;oBAC1E,sEAAsE;oBACtE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBACpF,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC1G,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,yEAAyE;oBACzE,gFAAgF;oBAChF,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;wBAC3D,aAAa,CAAC,SAAS,EAAE,CAAC,aAAa,sDAAsD,CAAC,CAAC;oBACjG,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,YAAY;oBACf,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,aAAa,CAAC,yBAAyB,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;oBACpE,MAAM;gBAER,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,gFAAgF;oBAChF,8EAA8E;oBAC9E,6EAA6E;oBAC7E,yEAAyE;oBACzE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;oBAC7C,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACpC,aAAa,CAAC,kBAAkB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;oBAClG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBAED,KAAK,UAAU;oBACb,wFAAwF;oBACxF,iFAAiF;oBACjF,qFAAqF;oBACrF,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClE,MAAM;gBAER,KAAK,qBAAqB;oBACxB,2GAA2G;oBAC3G,gEAAgE;oBAChE,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBACzC,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5E,CAAC;oBACD,MAAM;gBAER,KAAK,WAAW;oBACd,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;oBACvC,aAAa,CAAC,gBAAgB,EAAE,CAAC,MAAM,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC/D,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAC1B,MAAM;gBAER,KAAK,OAAO;oBACV,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAClC,0EAA0E;oBAC1E,2EAA2E;oBAC3E,yDAAyD;oBACzD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,OAAO,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBAER,KAAK,KAAK;oBACR,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,+DAA+D;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,MAAM;YAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtE,sFAAsF;QACtF,iFAAiF;QACjF,0BAA0B;QAC1B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,wDAAwD;QACxD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,OAAO;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
import { hayMemoriaDeHilo, olvidarMemoriaDeHilo } from "../../agent/sesiones/memoriaDeHilo.js";
|
|
31
31
|
import { existsSync, readFileSync } from "node:fs";
|
|
32
32
|
import { lineaDeVersion } from "../../core/version.js";
|
|
33
|
+
import { esperarInterrupcion } from "./interrupcion.js";
|
|
33
34
|
import { basename, dirname, join } from "node:path";
|
|
34
35
|
import { fileURLToPath } from "node:url";
|
|
35
36
|
import { randomUUID } from "node:crypto";
|
|
@@ -100,10 +101,11 @@ import { SIN_CONSUMO } from "../../agent/subagentes/consumoExterno.js";
|
|
|
100
101
|
import { AumentadorGuionizado } from "../../core/ports.js";
|
|
101
102
|
import { arrancarServidor } from "./servidor.js";
|
|
102
103
|
import { consolaParaTarea, crearCorredorDeTareas, revisionConGit, } from "./corredorDeTareas.js";
|
|
103
|
-
import { CONCURRENCIA_POR_OMISION, conEstado, darPorBuenaAMano, tituloDeTarea, } from "../../core/tareas.js";
|
|
104
|
+
import { CONCURRENCIA_POR_OMISION, conEstado, darPorBuenaAMano, puedeArrancarYa, TEXTO_DE_CONTINUAR, tituloDeTarea, } from "../../core/tareas.js";
|
|
104
105
|
import { aplicarFeedback, TOPE_DE_ADJUNTO } from "../../agent/tareas/tareasEnDisco.js";
|
|
105
106
|
import { nombreDeAdjuntoAceptable } from "../../core/adjuntos.js";
|
|
106
|
-
import { guardarAdjuntoDeSesion, TOPE_DE_ADJUNTO_DE_SESION } from "../../agent/sesiones/adjuntosDeSesion.js";
|
|
107
|
+
import { copiarAdjuntosDeSesion, guardarAdjuntoDeSesion, TOPE_DE_ADJUNTO_DE_SESION, } from "../../agent/sesiones/adjuntosDeSesion.js";
|
|
108
|
+
import { motivoDePropuestaInaceptable, nombreDeAdjuntoPropuesto, propuestaPendiente, tareasEncadenadas, } from "../../core/repartoDeEncargo.js";
|
|
107
109
|
import { rutaMemoriaDeProyecto } from "../../agent/grafo/memoriaDeProyecto.js";
|
|
108
110
|
import { crearAumentador, invocarParaAumentar } from "../../agent/tareas/aumentador.js";
|
|
109
111
|
import { baseDeWorkspaceLegada, baseDeWorkspacePorOmision, conexionDeVestibulo, crearVestibulo, escribirProyectoEnDisco, esProyectoEnDisco, } from "./vestibulo.js";
|
|
@@ -1555,6 +1557,85 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
1555
1557
|
emitir({ clase: "tarea", accion: "augmentado", error: motivoLegible(error) });
|
|
1556
1558
|
}
|
|
1557
1559
|
};
|
|
1560
|
+
/**
|
|
1561
|
+
* La propuesta de tareas `propuestaId` del proyecto `proyectoId`, PENDIENTE, con la consola que la
|
|
1562
|
+
* tiene delante —la abierta en el foco, de ESE proyecto—, o el motivo de que no. Lo que se aumenta
|
|
1563
|
+
* y se encola sale de este acto, nunca del cliente: el cliente solo dice cuál.
|
|
1564
|
+
*/
|
|
1565
|
+
const propuestaDelFoco = (proyectoId, propuestaId) => {
|
|
1566
|
+
const proyecto = proyectoParaTarea(proyectoId);
|
|
1567
|
+
if (proyecto === undefined)
|
|
1568
|
+
return { motivo: `el proyecto «${proyectoId}» no se pudo resolver` };
|
|
1569
|
+
const abierta = vestibulo.proyectoAbierto();
|
|
1570
|
+
if (abierta === undefined || !mismaRuta(abierta.raiz, proyecto.raiz)) {
|
|
1571
|
+
return { motivo: "la conversación de esa propuesta ya no está abierta" };
|
|
1572
|
+
}
|
|
1573
|
+
const propuesta = propuestaPendiente(abierta.actos(), propuestaId);
|
|
1574
|
+
if (propuesta === undefined)
|
|
1575
|
+
return { motivo: "esa propuesta ya no está pendiente (se encoló o se descartó)" };
|
|
1576
|
+
return { proyecto, abierta, propuesta };
|
|
1577
|
+
};
|
|
1578
|
+
/**
|
|
1579
|
+
* Encola una propuesta EN ORDEN: una tarea por cada una de la propuesta, encadenadas por `tras`
|
|
1580
|
+
* (`core/repartoDeEncargo.ts#tareasEncadenadas`), con el encargo que la persona revisó.
|
|
1581
|
+
*
|
|
1582
|
+
* **Crear las tareas es la autorización** para que escriban sin preguntar, y por eso solo pasa por
|
|
1583
|
+
* aquí —el clic de la persona—, también en modo autónomo: la sesión solo PROPONE.
|
|
1584
|
+
*
|
|
1585
|
+
* **Los adjuntos se copian ANTES de guardar**, por lo mismo que el borrador de `atenderCrearTarea`:
|
|
1586
|
+
* guardar dispara `revisarTareas()` y el corredor puede arrancar la primera en el acto. Cada tarea
|
|
1587
|
+
* se lleva los suyos de la carpeta de la SESIÓN que propuso; un nombre que no está no tumba el
|
|
1588
|
+
* encolado, vuelve en `faltan`. Y la propuesta queda RESUELTA con los ids, para no encolarla dos
|
|
1589
|
+
* veces.
|
|
1590
|
+
*/
|
|
1591
|
+
const atenderCrearEncadenadas = (proyectoId, propuestaId, encargos) => {
|
|
1592
|
+
const cola = opciones.colaDeTareas;
|
|
1593
|
+
if (cola === undefined)
|
|
1594
|
+
return { motivo: "no hay cola de tareas" };
|
|
1595
|
+
const hallada = propuestaDelFoco(proyectoId, propuestaId);
|
|
1596
|
+
if ("motivo" in hallada)
|
|
1597
|
+
return hallada;
|
|
1598
|
+
const { proyecto, abierta, propuesta } = hallada;
|
|
1599
|
+
const motivo = motivoDePropuestaInaceptable(propuesta);
|
|
1600
|
+
if (motivo !== undefined)
|
|
1601
|
+
return { motivo };
|
|
1602
|
+
if (encargos.length !== propuesta.tareas.length || encargos.some((e) => typeof e !== "string")) {
|
|
1603
|
+
return { motivo: `hacen falta ${propuesta.tareas.length} encargos, uno por tarea` };
|
|
1604
|
+
}
|
|
1605
|
+
const nuevas = tareasEncadenadas({
|
|
1606
|
+
proyecto,
|
|
1607
|
+
tareas: propuesta.tareas.map((t, i) => ({ titulo: t.titulo, peticion: t.peticion, encargo: encargos[i] })),
|
|
1608
|
+
ahora: new Date(),
|
|
1609
|
+
id: randomUUID,
|
|
1610
|
+
});
|
|
1611
|
+
const faltan = [];
|
|
1612
|
+
for (const [i, nueva] of nuevas.entries()) {
|
|
1613
|
+
const nombres = (propuesta.tareas[i].adjuntos ?? []).map(nombreDeAdjuntoPropuesto);
|
|
1614
|
+
if (nombres.length === 0)
|
|
1615
|
+
continue;
|
|
1616
|
+
const carpeta = cola.carpetaDeAdjuntos?.(nueva.id);
|
|
1617
|
+
if (carpeta === undefined) {
|
|
1618
|
+
faltan.push(...nombres);
|
|
1619
|
+
continue;
|
|
1620
|
+
}
|
|
1621
|
+
faltan.push(...copiarAdjuntosDeSesion(abierta.raiz, abierta.idDeHilo, nombres, carpeta).faltan);
|
|
1622
|
+
// Del DISCO, como al crear una a mano.
|
|
1623
|
+
nueva.adjuntos = cola.listarAdjuntos(nueva.id);
|
|
1624
|
+
}
|
|
1625
|
+
cola.guardar([...cola.listar(), ...nuevas]);
|
|
1626
|
+
const encoladas = nuevas.map((t) => t.id);
|
|
1627
|
+
abierta.anotarActo?.({ tipo: "propuesta-resuelta", propuesta: propuestaId, encoladas });
|
|
1628
|
+
return { encoladas, faltan };
|
|
1629
|
+
};
|
|
1630
|
+
/** Descarta una propuesta pendiente: queda RESUELTA sin tareas, y la tarjeta deja de ofrecerla.
|
|
1631
|
+
* `enChat` = se descartó para hacerlo en esta conversación, y la tarjeta lo dice así. */
|
|
1632
|
+
const atenderDescartarPropuesta = (proyectoId, propuestaId, enChat) => {
|
|
1633
|
+
const hallada = propuestaDelFoco(proyectoId, propuestaId);
|
|
1634
|
+
if ("motivo" in hallada)
|
|
1635
|
+
return hallada.motivo;
|
|
1636
|
+
hallada.abierta.anotarActo?.({ tipo: "propuesta-resuelta", propuesta: propuestaId, ...(enChat ? { enChat: true } : {}) });
|
|
1637
|
+
return undefined;
|
|
1638
|
+
};
|
|
1558
1639
|
/**
|
|
1559
1640
|
* Reintentar, descartar o terminar una tarea existente.
|
|
1560
1641
|
*
|
|
@@ -5696,6 +5777,85 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
5696
5777
|
return;
|
|
5697
5778
|
}
|
|
5698
5779
|
if (typeof mensaje === "object" && mensaje !== null && mensaje.clase === "tarea") {
|
|
5780
|
+
if (mensaje.accion === "crearEncadenadas") {
|
|
5781
|
+
// Contesta en la PROPIA respuesta: la tarjeta tiene que saber si se encoló para cerrarse, y
|
|
5782
|
+
// un 409 con motivo es la negativa de siempre del cable.
|
|
5783
|
+
const resultado = mudandoWorkspace
|
|
5784
|
+
? { motivo: "se está cambiando la carpeta de los proyectos: encola las tareas cuando termine" }
|
|
5785
|
+
: atenderCrearEncadenadas(mensaje.proyecto, mensaje.propuesta, Array.isArray(mensaje.encargos) ? mensaje.encargos : []);
|
|
5786
|
+
if ("motivo" in resultado) {
|
|
5787
|
+
respuesta.writeHead(409, { "content-type": "application/json" });
|
|
5788
|
+
respuesta.end(JSON.stringify({ motivo: resultado.motivo }));
|
|
5789
|
+
return;
|
|
5790
|
+
}
|
|
5791
|
+
opciones.revisarTareas?.();
|
|
5792
|
+
emitirTareas();
|
|
5793
|
+
respuesta.writeHead(200, { "content-type": "application/json" });
|
|
5794
|
+
respuesta.end(JSON.stringify(resultado.faltan.length === 0 ? { encoladas: resultado.encoladas } : resultado));
|
|
5795
|
+
return;
|
|
5796
|
+
}
|
|
5797
|
+
if (mensaje.accion === "continuar" && opciones.colaDeTareas !== undefined) {
|
|
5798
|
+
// Lo mismo que un feedback, con el texto de «sigue» del núcleo: entra en SU hilo, no repite el encargo.
|
|
5799
|
+
const actual = opciones.colaDeTareas.listar().find((t) => t.id === mensaje.id);
|
|
5800
|
+
if (actual === undefined || actual.estado !== "requiere-atencion") {
|
|
5801
|
+
respuesta.writeHead(409, { "content-type": "application/json" });
|
|
5802
|
+
respuesta.end(JSON.stringify({ motivo: "esa tarea ya no está esperando feedback" }));
|
|
5803
|
+
return;
|
|
5804
|
+
}
|
|
5805
|
+
atenderFeedbackDeTarea(mensaje.id, TEXTO_DE_CONTINUAR);
|
|
5806
|
+
opciones.revisarTareas?.();
|
|
5807
|
+
emitirTareas();
|
|
5808
|
+
respuesta.writeHead(204);
|
|
5809
|
+
respuesta.end();
|
|
5810
|
+
return;
|
|
5811
|
+
}
|
|
5812
|
+
if (mensaje.accion === "arrancarAhora" && opciones.colaDeTareas !== undefined) {
|
|
5813
|
+
/**
|
|
5814
|
+
* La persona CEDE el proyecto: se cierra su consola de ahí (si no está trabajando) y la tarea arranca, porque lo
|
|
5815
|
+
* único que la frenaba era «gana la persona». Se niega con motivo si no es la primera de su cadena o si la
|
|
5816
|
+
* conversación de la persona tiene un turno en marcha. Si cerró la del foco, el cable se muda al vestíbulo.
|
|
5817
|
+
*/
|
|
5818
|
+
const lista = opciones.colaDeTareas.listar();
|
|
5819
|
+
const tarea = lista.find((t) => t.id === mensaje.id);
|
|
5820
|
+
const negar = (motivo) => {
|
|
5821
|
+
respuesta.writeHead(409, { "content-type": "application/json" });
|
|
5822
|
+
respuesta.end(JSON.stringify({ motivo }));
|
|
5823
|
+
};
|
|
5824
|
+
if (tarea === undefined)
|
|
5825
|
+
return negar("esa tarea ya no existe");
|
|
5826
|
+
if (!puedeArrancarYa(tarea, lista)) {
|
|
5827
|
+
return negar(tarea.estado === "nuevo" ? "espera a que termine la tarea anterior de su cadena" : "esa tarea no está en la cola");
|
|
5828
|
+
}
|
|
5829
|
+
let cedido;
|
|
5830
|
+
try {
|
|
5831
|
+
cedido = await vestibulo.cederProyecto(tarea.proyecto.raiz);
|
|
5832
|
+
}
|
|
5833
|
+
catch (error) {
|
|
5834
|
+
contar(error);
|
|
5835
|
+
return negar("no se pudo cerrar tu conversación en ese proyecto");
|
|
5836
|
+
}
|
|
5837
|
+
if (cedido.motivo !== undefined)
|
|
5838
|
+
return negar(cedido.motivo);
|
|
5839
|
+
if (cedido.cerroLaAbierta)
|
|
5840
|
+
adjuntar();
|
|
5841
|
+
opciones.revisarTareas?.();
|
|
5842
|
+
await anunciarAlta().catch(contar);
|
|
5843
|
+
emitirTareas();
|
|
5844
|
+
respuesta.writeHead(204);
|
|
5845
|
+
respuesta.end();
|
|
5846
|
+
return;
|
|
5847
|
+
}
|
|
5848
|
+
if (mensaje.accion === "descartarPropuesta") {
|
|
5849
|
+
const motivo = atenderDescartarPropuesta(mensaje.proyecto, mensaje.propuesta, mensaje.enChat === true);
|
|
5850
|
+
if (motivo !== undefined) {
|
|
5851
|
+
respuesta.writeHead(409, { "content-type": "application/json" });
|
|
5852
|
+
respuesta.end(JSON.stringify({ motivo }));
|
|
5853
|
+
return;
|
|
5854
|
+
}
|
|
5855
|
+
respuesta.writeHead(204);
|
|
5856
|
+
respuesta.end();
|
|
5857
|
+
return;
|
|
5858
|
+
}
|
|
5699
5859
|
if (mensaje.accion === "crear" && mudandoWorkspace) {
|
|
5700
5860
|
// Una tarea creada a mitad de la mudanza guardaría la raíz VIEJA, que está a punto de
|
|
5701
5861
|
// borrarse. Se niega con motivo, como cualquier otra negativa del cable.
|
|
@@ -5721,6 +5881,8 @@ export function montarRutas(servidor, vestibulo, opciones = {}) {
|
|
|
5721
5881
|
else if (mensaje.accion !== "crear" &&
|
|
5722
5882
|
mensaje.accion !== "augmentar" &&
|
|
5723
5883
|
mensaje.accion !== "feedback" &&
|
|
5884
|
+
mensaje.accion !== "continuar" &&
|
|
5885
|
+
mensaje.accion !== "arrancarAhora" &&
|
|
5724
5886
|
opciones.colaDeTareas !== undefined) {
|
|
5725
5887
|
/**
|
|
5726
5888
|
* Ya no es `void x(); revisarTareas(); emitirTareas();` seguidas — reintentar y
|
|
@@ -7390,7 +7552,13 @@ export async function arrancarConsolaWeb(opciones) {
|
|
|
7390
7552
|
escribir(`no se pudo abrir el navegador (${error instanceof Error ? error.message : String(error)}); abre la URL a mano\n`);
|
|
7391
7553
|
}
|
|
7392
7554
|
}
|
|
7393
|
-
|
|
7555
|
+
/**
|
|
7556
|
+
* La espera por omisión: hasta que alguien interrumpa. Sin ella `arrancarConsolaWeb`
|
|
7557
|
+
* devolvería en cuanto el servidor está en pie, y `bin.ts` hace `process.exit(codigo)` —
|
|
7558
|
+
* o sea que el servidor recién levantado moriría antes de servir una sola petición. Y una
|
|
7559
|
+
* señal repetida no puede matar el cierre que sigue: ver `interrupcion.ts`.
|
|
7560
|
+
*/
|
|
7561
|
+
await (opciones.esperarCierre ?? (() => esperarInterrupcion({ avisar: escribir })))();
|
|
7394
7562
|
/**
|
|
7395
7563
|
* El corredor PRIMERO, y el orden es load-bearing: `parar()` corta los turnos en vuelo y
|
|
7396
7564
|
* los deja aparcados diciendo que la consola se cerró a mitad. Al revés, el
|
|
@@ -7433,17 +7601,6 @@ export function modoDeProyecto(raiz) {
|
|
|
7433
7601
|
function esProyectoOffline(cwd) {
|
|
7434
7602
|
return modoDeProyecto(cwd) === "offline";
|
|
7435
7603
|
}
|
|
7436
|
-
/**
|
|
7437
|
-
* La espera por omisión: hasta que alguien interrumpa. Sin ella `arrancarConsolaWeb`
|
|
7438
|
-
* devolvería en cuanto el servidor está en pie, y `bin.ts` hace `process.exit(codigo)` —
|
|
7439
|
-
* o sea que el servidor recién levantado moriría antes de servir una sola petición.
|
|
7440
|
-
*/
|
|
7441
|
-
function esperarInterrupcion() {
|
|
7442
|
-
return new Promise((resolver) => {
|
|
7443
|
-
process.once("SIGINT", () => resolver());
|
|
7444
|
-
process.once("SIGTERM", () => resolver());
|
|
7445
|
-
});
|
|
7446
|
-
}
|
|
7447
7604
|
/** El vestíbulo con todas sus piezas reales. Se construye DESPUÉS del servidor porque el
|
|
7448
7605
|
* callback de OAuth necesita saber a qué URL devolver al navegador. */
|
|
7449
7606
|
function vestibuloReal(opciones, servidor, escribir, informar, conectores) {
|