xonecode 0.35.0 → 0.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/THIRD_PARTY_NOTICES.md +30 -0
  2. package/apps/web/dist/assets/{EditorDeFichero-CGZ6uZPa.js → EditorDeFichero-B9EyiuM6.js} +1 -1
  3. package/apps/web/dist/assets/index-C6MsC7A5.js +506 -0
  4. package/apps/web/dist/assets/index-DRNhZyYF.css +1 -0
  5. package/apps/web/dist/assets/{php-DTPkbJvq.js → php-DCP5mtTp.js} +1 -1
  6. package/apps/web/dist/assets/{ruby-D1wBOK7G.js → ruby-B41ayseU.js} +1 -1
  7. package/apps/web/dist/index.html +2 -2
  8. package/dist/agent/config/settingsEnDisco.js +30 -0
  9. package/dist/agent/config/settingsEnDisco.js.map +1 -1
  10. package/dist/agent/dispositivos/instalacionEnMaquina.js +13 -0
  11. package/dist/agent/dispositivos/instalacionEnMaquina.js.map +1 -1
  12. package/dist/agent/motores/trueforge/sesionTrueforge.js +39 -1
  13. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
  14. package/dist/agent/remoto/ngrokEnMaquina.js +113 -0
  15. package/dist/agent/remoto/ngrokEnMaquina.js.map +1 -0
  16. package/dist/agent/remoto/puenteWebSocket.js +175 -0
  17. package/dist/agent/remoto/puenteWebSocket.js.map +1 -0
  18. package/dist/agent/remoto/tunelNgrok.js +245 -0
  19. package/dist/agent/remoto/tunelNgrok.js.map +1 -0
  20. package/dist/core/dispositivos.js +53 -0
  21. package/dist/core/dispositivos.js.map +1 -1
  22. package/dist/core/idiomaDeLaRespuesta.js +38 -0
  23. package/dist/core/idiomaDeLaRespuesta.js.map +1 -0
  24. package/dist/core/panorama.js +93 -0
  25. package/dist/core/panorama.js.map +1 -0
  26. package/dist/core/ports.js +100 -0
  27. package/dist/core/ports.js.map +1 -1
  28. package/dist/core/remoto.js +117 -0
  29. package/dist/core/remoto.js.map +1 -0
  30. package/dist/core/settings.js +83 -0
  31. package/dist/core/settings.js.map +1 -1
  32. package/dist/core/tunel.js +92 -0
  33. package/dist/core/tunel.js.map +1 -0
  34. package/dist/web/servidor/arranque.js +597 -72
  35. package/dist/web/servidor/arranque.js.map +1 -1
  36. package/dist/web/servidor/consolaWeb.js +52 -2
  37. package/dist/web/servidor/consolaWeb.js.map +1 -1
  38. package/dist/web/servidor/puenteRemoto.js +272 -0
  39. package/dist/web/servidor/puenteRemoto.js.map +1 -0
  40. package/dist/web/servidor/transporte.js.map +1 -1
  41. package/dist/web/servidor/vestibulo.js +39 -1
  42. package/dist/web/servidor/vestibulo.js.map +1 -1
  43. package/node_modules/@xone/xonecode-remoto/dist/base64url.d.ts +2 -0
  44. package/node_modules/@xone/xonecode-remoto/dist/base64url.js +19 -0
  45. package/node_modules/@xone/xonecode-remoto/dist/cifrado.d.ts +25 -0
  46. package/node_modules/@xone/xonecode-remoto/dist/cifrado.js +75 -0
  47. package/node_modules/@xone/xonecode-remoto/dist/contenido.d.ts +121 -0
  48. package/node_modules/@xone/xonecode-remoto/dist/contenido.js +191 -0
  49. package/node_modules/@xone/xonecode-remoto/dist/index.d.ts +6 -0
  50. package/node_modules/@xone/xonecode-remoto/dist/index.js +6 -0
  51. package/node_modules/@xone/xonecode-remoto/dist/servidor/salas.d.ts +46 -0
  52. package/node_modules/@xone/xonecode-remoto/dist/servidor/salas.js +128 -0
  53. package/node_modules/@xone/xonecode-remoto/dist/servidor/servidor.d.ts +31 -0
  54. package/node_modules/@xone/xonecode-remoto/dist/servidor/servidor.js +198 -0
  55. package/node_modules/@xone/xonecode-remoto/dist/sobre.d.ts +53 -0
  56. package/node_modules/@xone/xonecode-remoto/dist/sobre.js +69 -0
  57. package/node_modules/@xone/xonecode-remoto/dist/url.d.ts +12 -0
  58. package/node_modules/@xone/xonecode-remoto/dist/url.js +35 -0
  59. package/node_modules/@xone/xonecode-remoto/dist/version.d.ts +2 -0
  60. package/node_modules/@xone/xonecode-remoto/dist/version.js +2 -0
  61. package/node_modules/@xone/xonecode-remoto/package.json +41 -0
  62. package/node_modules/@xone/xonecode-remoto/web/assets/index-Bfa2gK3J.css +1 -0
  63. package/node_modules/@xone/xonecode-remoto/web/assets/index-qBo9eRDN.js +77 -0
  64. package/node_modules/@xone/xonecode-remoto/web/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  65. package/node_modules/@xone/xonecode-remoto/web/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  66. package/node_modules/@xone/xonecode-remoto/web/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  67. package/node_modules/@xone/xonecode-remoto/web/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  68. package/node_modules/@xone/xonecode-remoto/web/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  69. package/node_modules/@xone/xonecode-remoto/web/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  70. package/node_modules/@xone/xonecode-remoto/web/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  71. package/node_modules/@xone/xonecode-remoto/web/index.html +14 -0
  72. package/node_modules/ws/LICENSE +20 -0
  73. package/node_modules/ws/README.md +548 -0
  74. package/node_modules/ws/browser.js +8 -0
  75. package/node_modules/ws/index.js +22 -0
  76. package/node_modules/ws/lib/buffer-util.js +131 -0
  77. package/node_modules/ws/lib/constants.js +19 -0
  78. package/node_modules/ws/lib/event-target.js +292 -0
  79. package/node_modules/ws/lib/extension.js +203 -0
  80. package/node_modules/ws/lib/limiter.js +55 -0
  81. package/node_modules/ws/lib/permessage-deflate.js +530 -0
  82. package/node_modules/ws/lib/receiver.js +743 -0
  83. package/node_modules/ws/lib/sender.js +607 -0
  84. package/node_modules/ws/lib/stream.js +161 -0
  85. package/node_modules/ws/lib/subprotocol.js +62 -0
  86. package/node_modules/ws/lib/validation.js +152 -0
  87. package/node_modules/ws/lib/websocket-server.js +562 -0
  88. package/node_modules/ws/lib/websocket.js +1407 -0
  89. package/node_modules/ws/package.json +74 -0
  90. package/node_modules/ws/wrapper.mjs +21 -0
  91. package/package.json +6 -1
  92. package/apps/web/dist/assets/index-BBQH-l_3.css +0 -1
  93. package/apps/web/dist/assets/index-DqYXrrxo.js +0 -499
@@ -1 +1 @@
1
- {"version":3,"file":"vestibulo.js","sourceRoot":"","sources":["../../../src/web/servidor/vestibulo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vestibulo.js","sourceRoot":"","sources":["../../../src/web/servidor/vestibulo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function aBase64url(bytes: Uint8Array): string;
2
+ export declare function deBase64url(texto: string): Uint8Array | undefined;
@@ -0,0 +1,19 @@
1
+ export function aBase64url(bytes) {
2
+ let binario = "";
3
+ for (const b of bytes)
4
+ binario += String.fromCharCode(b);
5
+ return btoa(binario).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
6
+ }
7
+ export function deBase64url(texto) {
8
+ if (!/^[A-Za-z0-9_-]*$/.test(texto))
9
+ return undefined;
10
+ const normal = texto.replace(/-/g, "+").replace(/_/g, "/");
11
+ const relleno = normal + "=".repeat((4 - (normal.length % 4)) % 4);
12
+ try {
13
+ const binario = atob(relleno);
14
+ return Uint8Array.from(binario, (c) => c.charCodeAt(0));
15
+ }
16
+ catch {
17
+ return undefined;
18
+ }
19
+ }
@@ -0,0 +1,25 @@
1
+ export type Rol = "anfitrion" | "movil";
2
+ export interface OpcionesDeCanal {
3
+ secreto: string;
4
+ sala: string;
5
+ rol: Rol;
6
+ /** Id del emisor, fijo por instancia: las secuencias se comprueban POR ORIGEN. Por omisión, aleatorio. */
7
+ origen?: string;
8
+ /** Solo para los vectores de prueba. */
9
+ nonce?: () => Uint8Array<ArrayBuffer>;
10
+ }
11
+ export interface Canal {
12
+ cifrar(mensaje: unknown): Promise<string>;
13
+ /** `undefined` si no se puede descifrar, no es de esta sala/dirección o no sube la secuencia de su origen. */
14
+ descifrar(carga: string): Promise<unknown | undefined>;
15
+ }
16
+ /**
17
+ * Crea el canal cifrado de un extremo.
18
+ *
19
+ * La protección contra repetición (secuencia creciente por origen) solo vale DENTRO de una misma
20
+ * instancia de `Canal`: es ella la que recuerda la última secuencia vista de cada origen. Por eso un
21
+ * anfitrión crea UN canal por encendido y lo conserva a través de las reconexiones del WebSocket;
22
+ * nunca crea un `Canal` nuevo al reconectar. Si lo hiciera, el relé podría reenviarle mensajes
23
+ * anteriores de un móvil y el canal nuevo los aceptaría como frescos.
24
+ */
25
+ export declare function crearCanal(opciones: OpcionesDeCanal): Promise<Canal>;
@@ -0,0 +1,75 @@
1
+ import { aBase64url, deBase64url } from "./base64url.js";
2
+ import { VERSION_DEL_PROTOCOLO } from "./version.js";
3
+ const BYTES_DE_NONCE = 12;
4
+ const codificar = new TextEncoder();
5
+ const decodificar = new TextDecoder();
6
+ async function derivar(base, sala, direccion) {
7
+ return crypto.subtle.deriveKey({
8
+ name: "HKDF",
9
+ hash: "SHA-256",
10
+ salt: codificar.encode(`xonecode-remoto/v${VERSION_DEL_PROTOCOLO}/${sala}`),
11
+ info: codificar.encode(direccion),
12
+ }, base, { name: "AES-GCM", length: 256 }, false, ["encrypt", "decrypt"]);
13
+ }
14
+ /**
15
+ * Crea el canal cifrado de un extremo.
16
+ *
17
+ * La protección contra repetición (secuencia creciente por origen) solo vale DENTRO de una misma
18
+ * instancia de `Canal`: es ella la que recuerda la última secuencia vista de cada origen. Por eso un
19
+ * anfitrión crea UN canal por encendido y lo conserva a través de las reconexiones del WebSocket;
20
+ * nunca crea un `Canal` nuevo al reconectar. Si lo hiciera, el relé podría reenviarle mensajes
21
+ * anteriores de un móvil y el canal nuevo los aceptaría como frescos.
22
+ */
23
+ export async function crearCanal(opciones) {
24
+ const bytes = deBase64url(opciones.secreto);
25
+ if (bytes === undefined || bytes.length !== 32)
26
+ throw new Error("secreto inválido");
27
+ const base = await crypto.subtle.importKey("raw", bytes.slice(), "HKDF", false, ["deriveKey"]);
28
+ const envio = opciones.rol === "anfitrion" ? "a2m" : "m2a";
29
+ const recepcion = envio === "a2m" ? "m2a" : "a2m";
30
+ const claveDeEnvio = await derivar(base, opciones.sala, envio);
31
+ const claveDeRecepcion = await derivar(base, opciones.sala, recepcion);
32
+ const aad = (d) => codificar.encode(`v${VERSION_DEL_PROTOCOLO}|${opciones.sala}|${d}`);
33
+ const origen = opciones.origen ?? aBase64url(crypto.getRandomValues(new Uint8Array(12)));
34
+ const nonce = opciones.nonce ?? (() => crypto.getRandomValues(new Uint8Array(BYTES_DE_NONCE)));
35
+ let secuencia = 0;
36
+ const ultimaPorOrigen = new Map();
37
+ return {
38
+ async cifrar(mensaje) {
39
+ secuencia += 1;
40
+ const iv = nonce();
41
+ const claro = codificar.encode(JSON.stringify({ o: origen, s: secuencia, m: mensaje }));
42
+ const cifrado = new Uint8Array(await crypto.subtle.encrypt({ name: "AES-GCM", iv, additionalData: aad(envio) }, claveDeEnvio, claro));
43
+ const junto = new Uint8Array(iv.length + cifrado.length);
44
+ junto.set(iv, 0);
45
+ junto.set(cifrado, iv.length);
46
+ return aBase64url(junto);
47
+ },
48
+ async descifrar(carga) {
49
+ const junto = deBase64url(carga);
50
+ if (junto === undefined || junto.length <= BYTES_DE_NONCE)
51
+ return undefined;
52
+ let claro;
53
+ try {
54
+ claro = await crypto.subtle.decrypt({ name: "AES-GCM", iv: junto.slice(0, BYTES_DE_NONCE), additionalData: aad(recepcion) }, claveDeRecepcion, junto.slice(BYTES_DE_NONCE));
55
+ }
56
+ catch {
57
+ return undefined;
58
+ }
59
+ let sobre;
60
+ try {
61
+ sobre = JSON.parse(decodificar.decode(claro));
62
+ }
63
+ catch {
64
+ return undefined;
65
+ }
66
+ if (typeof sobre.o !== "string" || typeof sobre.s !== "number")
67
+ return undefined;
68
+ const ultima = ultimaPorOrigen.get(sobre.o) ?? 0;
69
+ if (sobre.s <= ultima)
70
+ return undefined;
71
+ ultimaPorOrigen.set(sobre.o, sobre.s);
72
+ return sobre.m;
73
+ },
74
+ };
75
+ }
@@ -0,0 +1,121 @@
1
+ /**
2
+ * El contenido cifrado: un SUBCONJUNTO en lista blanca del cable de la consola web de xonecode.
3
+ * Las formas copian las de xonecode (`apps/web/src/tipos.ts`): si cambian allí, cambia aquí y
4
+ * sube `VERSION_DEL_PROTOCOLO`.
5
+ */
6
+ export type LineaDeDiff = {
7
+ tipo: "igual" | "anadido" | "quitado";
8
+ texto: string;
9
+ };
10
+ export type Acto = {
11
+ tipo: "usuario";
12
+ texto: string;
13
+ cuando?: string;
14
+ } | {
15
+ tipo: "asistente";
16
+ texto: string;
17
+ cuando?: string;
18
+ } | {
19
+ tipo: "sistema";
20
+ texto: string;
21
+ clase?: string;
22
+ } | {
23
+ tipo: "herramientas";
24
+ lineas: string[];
25
+ } | {
26
+ tipo: "consulta";
27
+ pregunta: string;
28
+ opciones: string[];
29
+ } | {
30
+ tipo: string;
31
+ [campo: string]: unknown;
32
+ };
33
+ export interface PendienteDeAprobacion {
34
+ id: string;
35
+ origen: string;
36
+ descripcion: string;
37
+ decisionesPermitidas: string[];
38
+ remota?: true;
39
+ }
40
+ export type EstadoDeConsola = "trabajando" | "esperando-aprobacion" | "esperando-respuesta" | "parada";
41
+ export type EstadoDeTarea = "nuevo" | "en-proceso" | "requiere-atencion" | "terminada";
42
+ export interface AprobacionDeConsola {
43
+ pendientes: PendienteDeAprobacion[];
44
+ ficheros: Record<string, string>;
45
+ diffs: Record<string, LineaDeDiff[]>;
46
+ recortada?: true;
47
+ }
48
+ export interface ConsolaDelPanorama {
49
+ id: string;
50
+ proyecto: string;
51
+ sesion?: string;
52
+ foco: boolean;
53
+ estado: EstadoDeConsola;
54
+ ultimaActividad?: string;
55
+ aprobacion?: AprobacionDeConsola;
56
+ }
57
+ export interface TareaDelPanorama {
58
+ id: string;
59
+ titulo: string;
60
+ proyecto: string;
61
+ estado: EstadoDeTarea;
62
+ tras?: string;
63
+ motivo?: string;
64
+ creada: string;
65
+ acabada?: string;
66
+ }
67
+ export type MensajeDelAnfitrion = {
68
+ clase: "acto";
69
+ acto: Acto;
70
+ } | {
71
+ clase: "sustitucion";
72
+ acto: Acto;
73
+ } | {
74
+ clase: "reemision";
75
+ actos: Acto[];
76
+ } | {
77
+ clase: "aprobacion";
78
+ pendientes: PendienteDeAprobacion[];
79
+ ficheros: Record<string, string>;
80
+ diffs: Record<string, LineaDeDiff[]>;
81
+ } | {
82
+ clase: "pregunta";
83
+ texto: string;
84
+ } | {
85
+ clase: "turno";
86
+ activo: boolean;
87
+ detenible?: true;
88
+ } | {
89
+ clase: "remoto.estado";
90
+ proyecto?: string;
91
+ sesion?: string;
92
+ } | {
93
+ clase: "panorama";
94
+ consolas: ConsolaDelPanorama[];
95
+ tareas: TareaDelPanorama[];
96
+ esperando: number;
97
+ };
98
+ export type Decision = "approve" | "reject";
99
+ export type MensajeDelMovil = {
100
+ clase: "prosa";
101
+ texto: string;
102
+ detener?: true;
103
+ } | {
104
+ clase: "decision";
105
+ decisiones: Record<string, Decision>;
106
+ consola?: string;
107
+ } | {
108
+ clase: "respuesta";
109
+ texto: string;
110
+ } | {
111
+ clase: "cancelar";
112
+ } | {
113
+ clase: "feedback";
114
+ tarea: string;
115
+ texto: string;
116
+ } | {
117
+ clase: "continuar";
118
+ tarea: string;
119
+ };
120
+ export declare function validarDelMovil(m: unknown): MensajeDelMovil | undefined;
121
+ export declare function validarDelAnfitrion(m: unknown): MensajeDelAnfitrion | undefined;
@@ -0,0 +1,191 @@
1
+ /**
2
+ * El contenido cifrado: un SUBCONJUNTO en lista blanca del cable de la consola web de xonecode.
3
+ * Las formas copian las de xonecode (`apps/web/src/tipos.ts`): si cambian allí, cambia aquí y
4
+ * sube `VERSION_DEL_PROTOCOLO`.
5
+ */
6
+ const objeto = (x) => typeof x === "object" && x !== null && !Array.isArray(x);
7
+ const texto = (x) => typeof x === "string";
8
+ const noVacio = (x) => texto(x) && x.length > 0;
9
+ const esActo = (x) => objeto(x) && texto(x.tipo);
10
+ export function validarDelMovil(m) {
11
+ if (!objeto(m))
12
+ return undefined;
13
+ switch (m.clase) {
14
+ case "prosa":
15
+ if (!texto(m.texto) || m.adjuntos !== undefined)
16
+ return undefined;
17
+ if (m.detener === undefined)
18
+ return { clase: "prosa", texto: m.texto };
19
+ return m.detener === true ? { clase: "prosa", texto: m.texto, detener: true } : undefined;
20
+ case "decision": {
21
+ if (!objeto(m.decisiones))
22
+ return undefined;
23
+ const decisiones = {};
24
+ for (const [id, valor] of Object.entries(m.decisiones)) {
25
+ if (id === "__proto__")
26
+ continue;
27
+ if (valor !== "approve" && valor !== "reject")
28
+ return undefined;
29
+ decisiones[id] = valor;
30
+ }
31
+ if (m.consola === undefined)
32
+ return { clase: "decision", decisiones };
33
+ return noVacio(m.consola) ? { clase: "decision", decisiones, consola: m.consola } : undefined;
34
+ }
35
+ case "respuesta":
36
+ return texto(m.texto) && m.seleccion === undefined ? { clase: "respuesta", texto: m.texto } : undefined;
37
+ case "cancelar":
38
+ return { clase: "cancelar" };
39
+ case "feedback":
40
+ return noVacio(m.tarea) && texto(m.texto) && m.texto.trim() !== "" ? { clase: "feedback", tarea: m.tarea, texto: m.texto } : undefined;
41
+ case "continuar":
42
+ return noVacio(m.tarea) ? { clase: "continuar", tarea: m.tarea } : undefined;
43
+ default:
44
+ return undefined;
45
+ }
46
+ }
47
+ /** Pendientes, ficheros y diffs de una aprobación: la validación es UNA, la del mensaje `aprobacion` y la de cada consola del panorama. */
48
+ function validarAprobacion(m) {
49
+ // Un anfitrión autenticado es de fiar en el CONTENIDO, no en la FORMA: se valida y se reconstruye.
50
+ if (!Array.isArray(m.pendientes) || !objeto(m.ficheros) || !objeto(m.diffs))
51
+ return undefined;
52
+ const pendientes = [];
53
+ for (const p of m.pendientes) {
54
+ if (!objeto(p) || !texto(p.id) || !texto(p.origen) || !texto(p.descripcion))
55
+ return undefined;
56
+ if (!Array.isArray(p.decisionesPermitidas) || !p.decisionesPermitidas.every(texto))
57
+ return undefined;
58
+ pendientes.push({
59
+ id: p.id,
60
+ origen: p.origen,
61
+ descripcion: p.descripcion,
62
+ decisionesPermitidas: [...p.decisionesPermitidas],
63
+ ...(p.remota === true ? { remota: true } : {}),
64
+ });
65
+ }
66
+ const ficheros = {};
67
+ for (const [k, v] of Object.entries(m.ficheros)) {
68
+ if (!texto(v))
69
+ return undefined;
70
+ ficheros[k] = v;
71
+ }
72
+ const diffs = {};
73
+ for (const [k, v] of Object.entries(m.diffs)) {
74
+ if (!Array.isArray(v))
75
+ return undefined;
76
+ const lineas = [];
77
+ for (const l of v) {
78
+ if (!objeto(l) || !texto(l.texto))
79
+ return undefined;
80
+ if (l.tipo !== "igual" && l.tipo !== "anadido" && l.tipo !== "quitado")
81
+ return undefined;
82
+ lineas.push({ tipo: l.tipo, texto: l.texto });
83
+ }
84
+ diffs[k] = lineas;
85
+ }
86
+ return { pendientes, ficheros, diffs };
87
+ }
88
+ const ESTADOS_DE_CONSOLA = ["trabajando", "esperando-aprobacion", "esperando-respuesta", "parada"];
89
+ const ESTADOS_DE_TAREA = ["nuevo", "en-proceso", "requiere-atencion", "terminada"];
90
+ /** Un campo de texto OPCIONAL: ausente vale, presente tiene que ser texto. `false` = forma mala. */
91
+ const opcional = (x) => x === undefined || texto(x);
92
+ function validarConsola(c) {
93
+ if (!objeto(c) || !texto(c.id) || !texto(c.proyecto) || typeof c.foco !== "boolean")
94
+ return undefined;
95
+ if (!texto(c.estado) || !ESTADOS_DE_CONSOLA.includes(c.estado))
96
+ return undefined;
97
+ if (!opcional(c.sesion) || !opcional(c.ultimaActividad))
98
+ return undefined;
99
+ let aprobacion;
100
+ if (c.aprobacion !== undefined) {
101
+ if (!objeto(c.aprobacion))
102
+ return undefined;
103
+ const a = validarAprobacion(c.aprobacion);
104
+ if (!a)
105
+ return undefined;
106
+ if (c.aprobacion.recortada !== undefined && c.aprobacion.recortada !== true)
107
+ return undefined;
108
+ aprobacion = { ...a, ...(c.aprobacion.recortada === true ? { recortada: true } : {}) };
109
+ }
110
+ return {
111
+ id: c.id,
112
+ proyecto: c.proyecto,
113
+ ...(texto(c.sesion) ? { sesion: c.sesion } : {}),
114
+ foco: c.foco,
115
+ estado: c.estado,
116
+ ...(texto(c.ultimaActividad) ? { ultimaActividad: c.ultimaActividad } : {}),
117
+ ...(aprobacion ? { aprobacion } : {}),
118
+ };
119
+ }
120
+ function validarTarea(t) {
121
+ if (!objeto(t) || !texto(t.id) || !texto(t.titulo) || !texto(t.proyecto) || !texto(t.creada))
122
+ return undefined;
123
+ if (!texto(t.estado) || !ESTADOS_DE_TAREA.includes(t.estado))
124
+ return undefined;
125
+ if (!opcional(t.tras) || !opcional(t.motivo) || !opcional(t.acabada))
126
+ return undefined;
127
+ return {
128
+ id: t.id,
129
+ titulo: t.titulo,
130
+ proyecto: t.proyecto,
131
+ estado: t.estado,
132
+ ...(texto(t.tras) ? { tras: t.tras } : {}),
133
+ ...(texto(t.motivo) ? { motivo: t.motivo } : {}),
134
+ creada: t.creada,
135
+ ...(texto(t.acabada) ? { acabada: t.acabada } : {}),
136
+ };
137
+ }
138
+ export function validarDelAnfitrion(m) {
139
+ if (!objeto(m))
140
+ return undefined;
141
+ switch (m.clase) {
142
+ // El contenido de los actos pasa tal cual lo mandó el anfitrión, a propósito: la interfaz lo pinta como texto.
143
+ case "acto":
144
+ case "sustitucion":
145
+ return esActo(m.acto) ? { clase: m.clase, acto: m.acto } : undefined;
146
+ case "reemision":
147
+ return Array.isArray(m.actos) && m.actos.every(esActo) ? { clase: "reemision", actos: m.actos } : undefined;
148
+ case "aprobacion": {
149
+ const a = validarAprobacion(m);
150
+ return a ? { clase: "aprobacion", ...a } : undefined;
151
+ }
152
+ case "pregunta":
153
+ // El móvil solo contesta TEXTO: una pregunta con forma de decisión (plan, casillas, selector) no se le reenvía.
154
+ if (m.decision !== undefined || m.seleccionable !== undefined || m.selector !== undefined)
155
+ return undefined;
156
+ return texto(m.texto) ? { clase: "pregunta", texto: m.texto } : undefined;
157
+ case "turno":
158
+ if (typeof m.activo !== "boolean")
159
+ return undefined;
160
+ return m.detenible === true ? { clase: "turno", activo: m.activo, detenible: true } : { clase: "turno", activo: m.activo };
161
+ case "remoto.estado":
162
+ return {
163
+ clase: "remoto.estado",
164
+ ...(texto(m.proyecto) ? { proyecto: m.proyecto } : {}),
165
+ ...(texto(m.sesion) ? { sesion: m.sesion } : {}),
166
+ };
167
+ case "panorama": {
168
+ if (!Array.isArray(m.consolas) || !Array.isArray(m.tareas))
169
+ return undefined;
170
+ if (typeof m.esperando !== "number" || !Number.isFinite(m.esperando) || m.esperando < 0)
171
+ return undefined;
172
+ const consolas = [];
173
+ for (const c of m.consolas) {
174
+ const v = validarConsola(c);
175
+ if (!v)
176
+ return undefined;
177
+ consolas.push(v);
178
+ }
179
+ const tareas = [];
180
+ for (const t of m.tareas) {
181
+ const v = validarTarea(t);
182
+ if (!v)
183
+ return undefined;
184
+ tareas.push(v);
185
+ }
186
+ return { clase: "panorama", consolas, tareas, esperando: m.esperando };
187
+ }
188
+ default:
189
+ return undefined;
190
+ }
191
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./version.js";
2
+ export * from "./base64url.js";
3
+ export * from "./url.js";
4
+ export * from "./sobre.js";
5
+ export * from "./cifrado.js";
6
+ export * from "./contenido.js";
@@ -0,0 +1,6 @@
1
+ export * from "./version.js";
2
+ export * from "./base64url.js";
3
+ export * from "./url.js";
4
+ export * from "./sobre.js";
5
+ export * from "./cifrado.js";
6
+ export * from "./contenido.js";