xonecode 0.37.0 → 0.38.2
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-DoFEF88O.js → EditorDeFichero-x5qYcQEQ.js} +1 -1
- package/apps/web/dist/assets/index-BE1a4adS.css +1 -0
- package/apps/web/dist/assets/index-DZea9YBh.js +506 -0
- package/apps/web/dist/assets/{php-D_qKPndv.js → php-BNj56OOc.js} +1 -1
- package/apps/web/dist/assets/{ruby-Dbo7pTDa.js → ruby-BtHXxdlK.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/sesiones/gitSync.js +10 -4
- package/dist/agent/sesiones/gitSync.js.map +1 -1
- package/dist/agent/sesiones/parcheEnTexto.js +31 -0
- package/dist/agent/sesiones/parcheEnTexto.js.map +1 -0
- package/dist/agent/sesiones/sesionGit.js +7 -2
- package/dist/agent/sesiones/sesionGit.js.map +1 -1
- package/dist/core/actos.js +3 -2
- package/dist/core/actos.js.map +1 -1
- package/dist/core/codificacion.js +24 -0
- package/dist/core/codificacion.js.map +1 -1
- package/dist/core/notify.js +19 -2
- package/dist/core/notify.js.map +1 -1
- package/dist/core/remoto.js +38 -1
- package/dist/core/remoto.js.map +1 -1
- package/dist/core/turno.js +4 -0
- package/dist/core/turno.js.map +1 -1
- package/dist/web/servidor/arranque.js +42 -1
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/puenteRemoto.js +1 -1
- package/dist/web/servidor/puenteRemoto.js.map +1 -1
- package/node_modules/@xone/xonecode-remoto/dist/contenido.d.ts +21 -0
- package/node_modules/@xone/xonecode-remoto/dist/contenido.js +15 -0
- package/node_modules/@xone/xonecode-remoto/web/assets/{index-qBo9eRDN.js → index-CGpR8WL1.js} +33 -33
- package/node_modules/@xone/xonecode-remoto/web/assets/{index-Bfa2gK3J.css → index-DDmoyp5d.css} +1 -1
- package/node_modules/@xone/xonecode-remoto/web/index.html +2 -2
- package/package.json +1 -1
- package/apps/web/dist/assets/index-DRNhZyYF.css +0 -1
- package/apps/web/dist/assets/index-WcouJw-n.js +0 -506
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MOTIVOS_DEL_TUNEL } from "../../core/tunel.js";
|
|
2
|
-
import { ajustarATope, filtrarSalida, TOPE_DE_SALIDA_BYTES, validarEntradaDelMovil } from "../../core/remoto.js";
|
|
2
|
+
import { ajustarATope, filtrarSalida, TOPE_DE_SALIDA_BYTES, validarEntradaDelMovil, } from "../../core/remoto.js";
|
|
3
3
|
export const MOTIVO_NO_ABRIO = "no se pudo abrir la sesión remota";
|
|
4
4
|
/** Lo que puede llegar al terminal de la clase de un mensaje rechazado del móvil. */
|
|
5
5
|
const CLASE_LEGIBLE = /^[a-zA-Z.]{1,32}$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puenteRemoto.js","sourceRoot":"","sources":["../../../src/web/servidor/puenteRemoto.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"puenteRemoto.js","sourceRoot":"","sources":["../../../src/web/servidor/puenteRemoto.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,sBAAsB,GAGvB,MAAM,sBAAsB,CAAC;AAmD9B,MAAM,CAAC,MAAM,eAAe,GAAG,mCAAmC,CAAC;AACnE,qFAAqF;AACrF,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAErF,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC/F,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE,CAC3D,OAAO,KAAK,KAAK,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAEnG,MAAM,UAAU,iBAAiB,CAAC,CAAyB;IACzD,IAAI,MAAM,GAAyB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzD,IAAI,KAA8B,CAAC;IACnC,IAAI,GAAuB,CAAC;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,gGAAgG;IAChG,IAAI,KAA+B,CAAC;IACpC,IAAI,cAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,8EAA8E;IAC9E,IAAI,eAA0C,CAAC;IAC/C,MAAM,WAAW,GAAG,GAAkB,EAAE;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC;QAChB,KAAK,GAAG,SAAS,CAAC;QAClB,IAAI,CAAC,KAAK,SAAS;YAAE,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,CAAuB,EAAE,EAAE;QACxC,MAAM,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,6FAA6F;QAC7F,wEAAwE;aACnE,IAAI,YAAY;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC;IACF,uFAAuF;IACvF,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAgB,EAAQ,EAAE;QACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACnC,uFAAuF;QACvF,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,qEAAsE,QAA8B,CAAC,KAAK,GAAG,CAAC,CAAC;YAC1H,OAAO;QACT,CAAC;QACD,KAAK,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,8FAA8F;IAC9F,qFAAqF;IACrF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB;kGAC8F;IAC9F,MAAM,MAAM,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAiB,EAAE;QAChD,UAAU,IAAI,CAAC,CAAC;QAChB,QAAQ,GAAG,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,MAAM,cAAc,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvD,KAAK,GAAG,SAAS,CAAC;QAClB,GAAG,GAAG,SAAS,CAAC;QAChB,YAAY,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;;YACtC,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpC,0FAA0F;QAC1F,IAAI,CAAC,QAAQ;YAAE,OAAO,cAAc,CAAC;QACrC,4FAA4F;QAC5F,2FAA2F;QAC3F,4FAA4F;QAC5F,MAAM,CAAC,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,WAAW,EAAE,CAAC;QAC1E,KAAK,GAAG,SAAS,CAAC;QAClB,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvE,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;QAC1D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,KAAK,GAAG,SAAS,CAAC;QAClB,UAAU,IAAI,CAAC,CAAC;QAChB,QAAQ,GAAG,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,KAAK,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,KAAK,GAAG,SAAS,CAAC;QAClB,GAAG,GAAG,SAAS,CAAC;QAChB,YAAY,GAAG,KAAK,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,0FAA0F;QAC1F,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ;YAAE,OAAO;QAC5C,MAAM,GAAG,GAAG,EAAE,UAAU,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,GAAG,KAAK,UAAU;gBAAE,OAAO;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,GAAG,KAAK,CAAC;gBACjB,KAAK,WAAW,EAAE,CAAC;gBACnB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,IAAI,QAAgB,CAAC;YACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,oFAAoF;gBACpF,KAAK,WAAW,EAAE,CAAC;gBACnB,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,gFAAgF;gBAChF,0FAA0F;gBAC1F,4FAA4F;gBAC5F,+DAA+D;gBAC/D,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,eAAe,CAAC;oBAC9B,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,KAAK,CAAC;oBACrC,MAAM,cAAc,CAAC;oBACrB,IAAI,GAAG,KAAK,UAAU;wBAAE,OAAO;oBAC/B,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM;gBACjC,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,QAAqB,CAAC;oBAC1B,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvD,eAAe,GAAG,KAAK,CAAC;oBACxB,MAAM,MAAM,GAAG,GAAG,EAAE;wBAClB,IAAI,eAAe,KAAK,KAAK;4BAAE,eAAe,GAAG,SAAS,CAAC;wBAC3D,QAAQ,EAAE,CAAC;oBACb,CAAC,CAAC;oBACF,IAAI,KAAmB,CAAC;oBACxB,IAAI,CAAC;wBACH,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,EAAE,CAAC;wBACT,IAAI,GAAG,KAAK,UAAU;4BAAE,OAAO;wBAC/B,QAAQ,GAAG,KAAK,CAAC;wBACjB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAE,KAAsC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;wBACzG,OAAO;oBACT,CAAC;oBACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;wBACvB,wFAAwF;wBACxF,mFAAmF;wBACnF,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAChD,MAAM,EAAE,CAAC;wBACT,OAAO;oBACT,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM,EAAE,CAAC;oBACT,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,GAAG,KAAK,UAAU;wBAAE,OAAO;oBAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC3B,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;wBACZ,YAAY,GAAG,KAAK,CAAC;wBACrB,WAAW,EAAE,CAAC;oBAChB,CAAC;yBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;wBACvC,YAAY,GAAG,IAAI,CAAC;wBACpB,WAAW,EAAE,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,oFAAoF;wBACpF,gEAAgE;wBAChE,UAAU,IAAI,CAAC,CAAC;wBAChB,QAAQ,GAAG,KAAK,CAAC;wBACjB,WAAW,EAAE,CAAC;wBACd,KAAK,GAAG,SAAS,CAAC;wBAClB,GAAG,GAAG,SAAS,CAAC;wBAChB,KAAK,WAAW,EAAE,CAAC;wBACnB,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;gBACD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;oBACnB,IAAI,GAAG,KAAK,UAAU;wBAAE,OAAO;oBAC/B,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;wBAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;4BACtB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACnB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;oBACD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;wBACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,SAAS;wBAC9B,MAAM,QAAQ,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;wBAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAC1B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC7B,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;4BACtB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,QAAQ;gCAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBACnD,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,WAAW,EAAE,CAAC;gBAChB,CAAC;gBACD,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;oBACzB,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,OAAO;oBACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,oFAAoF;wBACpF,6FAA6F;wBAC7F,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnH,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;wBAC7F,CAAC,CAAC,QAAQ,CAAC,yDAAyD,KAAK,GAAG,CAAC,CAAC;wBAC9E,OAAO;oBACT,CAAC;oBACD,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,oEAAoE;gBACpE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,GAAG,KAAK,UAAU;gBAAE,OAAO;YAC/B,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,SAAS,CAAC;YAClB,KAAK,WAAW,EAAE,CAAC;YACnB,oFAAoF;YACpF,MAAM,MAAM,GAAI,KAAmC,EAAE,IAAI,CAAC;YAC1D,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;QACtB,KAAK,CAAC,OAAO;YACX,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAClC,QAAQ,CAAC,OAAO;YACd,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -94,6 +94,20 @@ export type MensajeDelAnfitrion = {
|
|
|
94
94
|
consolas: ConsolaDelPanorama[];
|
|
95
95
|
tareas: TareaDelPanorama[];
|
|
96
96
|
esperando: number;
|
|
97
|
+
}
|
|
98
|
+
/** Un trozo de un artefacto pedido desde el móvil (una captura): base64 partido para caber en un
|
|
99
|
+
* sobre, numerado para juntarlo. Solo imágenes: el anfitrión no manda otra cosa, y esto lo vuelve a exigir. */
|
|
100
|
+
| {
|
|
101
|
+
clase: "artefacto.trozo";
|
|
102
|
+
ruta: string;
|
|
103
|
+
mime: string;
|
|
104
|
+
indice: number;
|
|
105
|
+
total: number;
|
|
106
|
+
datos: string;
|
|
107
|
+
} | {
|
|
108
|
+
clase: "artefacto.error";
|
|
109
|
+
ruta: string;
|
|
110
|
+
motivo: string;
|
|
97
111
|
};
|
|
98
112
|
export type Decision = "approve" | "reject";
|
|
99
113
|
export type MensajeDelMovil = {
|
|
@@ -116,6 +130,13 @@ export type MensajeDelMovil = {
|
|
|
116
130
|
} | {
|
|
117
131
|
clase: "continuar";
|
|
118
132
|
tarea: string;
|
|
133
|
+
}
|
|
134
|
+
/** Ver un artefacto del hilo: su ruta virtual, la del acto `artefacto`. */
|
|
135
|
+
| {
|
|
136
|
+
clase: "artefacto";
|
|
137
|
+
ruta: string;
|
|
119
138
|
};
|
|
139
|
+
/** Los tipos de artefacto que la web móvil enseña: imágenes (la misma lista que el anfitrión). */
|
|
140
|
+
export declare const MIMES_DE_ARTEFACTO: ReadonlySet<string>;
|
|
120
141
|
export declare function validarDelMovil(m: unknown): MensajeDelMovil | undefined;
|
|
121
142
|
export declare function validarDelAnfitrion(m: unknown): MensajeDelAnfitrion | undefined;
|
|
@@ -7,6 +7,8 @@ const objeto = (x) => typeof x === "object" && x !== null && !Array.isArray(x);
|
|
|
7
7
|
const texto = (x) => typeof x === "string";
|
|
8
8
|
const noVacio = (x) => texto(x) && x.length > 0;
|
|
9
9
|
const esActo = (x) => objeto(x) && texto(x.tipo);
|
|
10
|
+
/** Los tipos de artefacto que la web móvil enseña: imágenes (la misma lista que el anfitrión). */
|
|
11
|
+
export const MIMES_DE_ARTEFACTO = new Set(["image/png", "image/jpeg", "image/webp", "image/gif"]);
|
|
10
12
|
export function validarDelMovil(m) {
|
|
11
13
|
if (!objeto(m))
|
|
12
14
|
return undefined;
|
|
@@ -40,6 +42,8 @@ export function validarDelMovil(m) {
|
|
|
40
42
|
return noVacio(m.tarea) && texto(m.texto) && m.texto.trim() !== "" ? { clase: "feedback", tarea: m.tarea, texto: m.texto } : undefined;
|
|
41
43
|
case "continuar":
|
|
42
44
|
return noVacio(m.tarea) ? { clase: "continuar", tarea: m.tarea } : undefined;
|
|
45
|
+
case "artefacto":
|
|
46
|
+
return noVacio(m.ruta) && m.ruta.length <= 300 ? { clase: "artefacto", ruta: m.ruta } : undefined;
|
|
43
47
|
default:
|
|
44
48
|
return undefined;
|
|
45
49
|
}
|
|
@@ -164,6 +168,17 @@ export function validarDelAnfitrion(m) {
|
|
|
164
168
|
...(texto(m.proyecto) ? { proyecto: m.proyecto } : {}),
|
|
165
169
|
...(texto(m.sesion) ? { sesion: m.sesion } : {}),
|
|
166
170
|
};
|
|
171
|
+
case "artefacto.trozo": {
|
|
172
|
+
const entero = (x) => typeof x === "number" && Number.isInteger(x) && x >= 0;
|
|
173
|
+
if (!noVacio(m.ruta) || !texto(m.datos) || !entero(m.indice) || !entero(m.total) || m.indice >= m.total)
|
|
174
|
+
return undefined;
|
|
175
|
+
// Solo imágenes: lo que se pinta con este trozo es un `<img>`, nunca un documento.
|
|
176
|
+
if (!texto(m.mime) || !MIMES_DE_ARTEFACTO.has(m.mime))
|
|
177
|
+
return undefined;
|
|
178
|
+
return { clase: "artefacto.trozo", ruta: m.ruta, mime: m.mime, indice: m.indice, total: m.total, datos: m.datos };
|
|
179
|
+
}
|
|
180
|
+
case "artefacto.error":
|
|
181
|
+
return noVacio(m.ruta) && texto(m.motivo) ? { clase: "artefacto.error", ruta: m.ruta, motivo: m.motivo } : undefined;
|
|
167
182
|
case "panorama": {
|
|
168
183
|
if (!Array.isArray(m.consolas) || !Array.isArray(m.tareas))
|
|
169
184
|
return undefined;
|