xonecode 0.8.26 → 0.8.36

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 (47) hide show
  1. package/apps/web/dist/assets/{index-LdUr7EoT.js → index-DFnjznH1.js} +34 -34
  2. package/apps/web/dist/assets/{php-Cg-eWGpQ.js → php-CX4yaeUn.js} +1 -1
  3. package/apps/web/dist/assets/{ruby-EcV7Hon3.js → ruby-Dklcf7v6.js} +1 -1
  4. package/apps/web/dist/index.html +1 -1
  5. package/dist/agent/grafo/escriturasEnSerie.js +57 -0
  6. package/dist/agent/grafo/escriturasEnSerie.js.map +1 -0
  7. package/dist/agent/grafo/proyecto.js +84 -3
  8. package/dist/agent/grafo/proyecto.js.map +1 -1
  9. package/dist/agent/grafo/traerDeLaMaquina.js +117 -0
  10. package/dist/agent/grafo/traerDeLaMaquina.js.map +1 -0
  11. package/dist/agent/grafo/validacionXone.js +200 -0
  12. package/dist/agent/grafo/validacionXone.js.map +1 -0
  13. package/dist/agent/grafo/xoneAgent.js +33 -1
  14. package/dist/agent/grafo/xoneAgent.js.map +1 -1
  15. package/dist/agent/subagentes/agentesEnDisco.js +34 -6
  16. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
  17. package/dist/agent/trazaDeErroresEnDisco.js +45 -0
  18. package/dist/agent/trazaDeErroresEnDisco.js.map +1 -0
  19. package/dist/agent/turno/diagnosticoDeTools.js +10 -1
  20. package/dist/agent/turno/diagnosticoDeTools.js.map +1 -1
  21. package/dist/agent/turno/informeDeTraza.js +129 -6
  22. package/dist/agent/turno/informeDeTraza.js.map +1 -1
  23. package/dist/agent/turno/puente.js +89 -5
  24. package/dist/agent/turno/puente.js.map +1 -1
  25. package/dist/agent/turno/resumenDeTool.js +28 -0
  26. package/dist/agent/turno/resumenDeTool.js.map +1 -1
  27. package/dist/agent/turno/turnoReal.js +20 -2
  28. package/dist/agent/turno/turnoReal.js.map +1 -1
  29. package/dist/core/serieDeEscrituras.js +63 -0
  30. package/dist/core/serieDeEscrituras.js.map +1 -0
  31. package/dist/core/traerDeLaMaquina.js +80 -0
  32. package/dist/core/traerDeLaMaquina.js.map +1 -0
  33. package/dist/core/trazaDeErrores.js +108 -0
  34. package/dist/core/trazaDeErrores.js.map +1 -0
  35. package/dist/core/validacionDeEscritura.js +105 -0
  36. package/dist/core/validacionDeEscritura.js.map +1 -0
  37. package/dist/web/servidor/consolaWeb.js +6 -0
  38. package/dist/web/servidor/consolaWeb.js.map +1 -1
  39. package/package.json +3 -2
  40. package/skills/xone-hotswap/SKILL.md +76 -8
  41. package/skills/xone-hotswap/references/comandos.md +33 -0
  42. package/skills/xone-hotswap/references/conexion-y-despliegue.md +61 -1
  43. package/skills/xone-hotswap/scripts/xone-arrancar-ios +1 -1
  44. package/skills/xone-hotswap/scripts/xone-captura-android +91 -3
  45. package/skills/xone-hotswap/scripts/xone-desplegar-android +80 -5
  46. package/skills/xone-hotswap/scripts/xone-hotswap +151 -8
  47. package/skills/xone-project-generator/references/fases-10-12-readmes-y-validacion.md +15 -7
@@ -1,7 +1,7 @@
1
1
  import { normalizar } from "./normalizar.js";
2
2
  import { Mensajes } from "./mensajes.js";
3
3
  import { detalleDe, parametrosDe } from "./resumenDeTool.js";
4
- import { esMensajeDeTool } from "./textoDeTool.js";
4
+ import { aTexto, esMensajeDeTool } from "./textoDeTool.js";
5
5
  /** El texto de un mensaje, venga como venga. */
6
6
  export function textoDe(msg) {
7
7
  if (!msg || typeof msg !== "object")
@@ -85,6 +85,8 @@ export function toolsDe(dato) {
85
85
  continue;
86
86
  for (const m of msgs) {
87
87
  const llamadas = m?.tool_calls;
88
+ // El id del MENSAJE que trae estas llamadas: es lo que dice cuáles se pidieron JUNTAS.
89
+ const respuesta = m?.id;
88
90
  if (Array.isArray(llamadas)) {
89
91
  for (const l of llamadas) {
90
92
  const n = l?.name;
@@ -98,6 +100,7 @@ export function toolsDe(dato) {
98
100
  ...(detalle === undefined ? {} : { detalle }),
99
101
  ...(parametros === undefined ? {} : { parametros }),
100
102
  ...(typeof id === "string" && id !== "" ? { id } : {}),
103
+ ...(typeof respuesta === "string" && respuesta !== "" ? { respuesta } : {}),
101
104
  });
102
105
  }
103
106
  }
@@ -106,6 +109,40 @@ export function toolsDe(dato) {
106
109
  }
107
110
  return salida;
108
111
  }
112
+ /**
113
+ * Lo que cada tool DEVOLVIÓ, medido en caracteres, por el id de su llamada.
114
+ *
115
+ * **Contar llamadas no dice a dónde van los tokens.** Un `read_file` y otro `read_file` son
116
+ * una linea igual en la traza y pueden ser doscientos caracteres o veinte mil: lo que se paga
117
+ * es lo que ENTRA en el contexto, no cuántas veces se pidió. Sin esto, la pregunta «¿que me
118
+ * esta costando este turno?» solo se podía contestar por eliminación.
119
+ *
120
+ * **Van los CARACTERES, nunca el contenido** —la misma regla que `core/events.ts`: el
121
+ * resultado de un `read_file` es el fichero entero y el de una tool MCP lleva el bearer—. Un
122
+ * tamaño no es contenido, y es lo único que hace falta para repartir el gasto.
123
+ *
124
+ * No se convierte a tokens: la razón caracteres/token cambia con el modelo y con lo que haya
125
+ * dentro, así que dar una cifra de tokens aquí sería inventarse una precisión que no se tiene.
126
+ */
127
+ export function resultadosDe(dato) {
128
+ if (!dato || typeof dato !== "object")
129
+ return [];
130
+ const salida = [];
131
+ for (const nodo of Object.values(dato)) {
132
+ const msgs = nodo?.messages;
133
+ if (!Array.isArray(msgs))
134
+ continue;
135
+ for (const m of msgs) {
136
+ if (!esMensajeDeTool(m))
137
+ continue;
138
+ const id = m?.tool_call_id;
139
+ if (typeof id !== "string" || id === "")
140
+ continue;
141
+ salida.push({ id, chars: aTexto(m.content).length });
142
+ }
143
+ }
144
+ return salida;
145
+ }
109
146
  /**
110
147
  * ¿Este chunk lo emite el grafo PADRE, o un especialista?
111
148
  *
@@ -152,6 +189,9 @@ export function esDelPadre(ns) {
152
189
  export function origenDeTool(ns) {
153
190
  return ns[0]?.startsWith("tools:") === true ? "especialista" : "orquestador";
154
191
  }
192
+ export function crearMemoriaDelTurno() {
193
+ return { vistas: new Set(), resultados: new Set(), deQuien: new Map() };
194
+ }
155
195
  /**
156
196
  * Convierte el stream del grafo en `DomainEvent`.
157
197
  *
@@ -165,21 +205,45 @@ export function origenDeTool(ns) {
165
205
  * consola en un volcado. Su trabajo se cuenta por `tool`, que es lo que el usuario
166
206
  * necesita ver mientras espera.
167
207
  */
168
- export async function* aEventos(stream, pendientes, alLlamarTool) {
208
+ export async function* aEventos(stream, pendientes, alLlamarTool, memoriaDelTurno, alResponderTool) {
169
209
  const mensajes = new Mensajes();
170
- /** Los `tool_call` ya contados, por id: el stream reenvía los mensajes acumulados. */
171
- const vistas = new Set();
210
+ /**
211
+ * Los `tool_call` ya contados, por id: el stream reenvía los mensajes acumulados.
212
+ *
213
+ * **Y el conjunto tiene que vivir por TURNO, no por RONDA** — por eso entra por parámetro.
214
+ * `turnoReal.ts` llama a `aEventos` DENTRO del bucle de rondas: una aprobación termina la
215
+ * ronda, se reanuda con un `Command` y el stream vuelve a entregar la historia acumulada.
216
+ * Con el conjunto local, cada ronda empezaba en blanco y volvía a contar todas las tools
217
+ * de las rondas anteriores.
218
+ *
219
+ * Medido sobre una sesión real de MyAllXOne: la traza decía OCHO `edit_file` sobre
220
+ * `/funciones.js` con seis "en la misma respuesta", y en la pantalla se había pedido UN
221
+ * permiso y escrito UNA vez. Las reemisiones caían 15 ms despues de cada ronda y con el
222
+ * MISMO id de mensaje — o sea que no eran del modelo, eran del stream. Eso mandó a
223
+ * diagnosticar un problema de escrituras concurrentes que la traza se habia inventado.
224
+ *
225
+ * Sin el parámetro se comporta como antes (un turno de una ronda), así que ningún otro
226
+ * llamador ni ningún doble de los tests cambia: la misma asimetría que los métodos
227
+ * opcionales de `Piel`.
228
+ */
229
+ const { vistas, resultados, deQuien } = memoriaDelTurno ?? crearMemoriaDelTurno();
172
230
  try {
173
231
  for await (const bruto of stream) {
174
232
  const chunk = normalizar(bruto);
175
233
  if (!chunk)
176
234
  continue;
177
235
  if (chunk.modo === "updates") {
178
- for (const { nombre, detalle, parametros, id } of toolsDe(chunk.dato)) {
236
+ for (const { nombre, detalle, parametros, id, respuesta } of toolsDe(chunk.dato)) {
179
237
  // Ya contada: este mismo chunk trae la historia acumulada del subgrafo (ver
180
238
  // `toolsDe`). Sin `id` no se puede afirmar que sea repetida, así que se emite —
181
239
  // la dirección segura es contar de más, no callar una llamada que ocurrió.
182
240
  if (id !== undefined) {
241
+ // El nombre se apunta ANTES del dedupe, y esa precedencia no es de estilo: la
242
+ // llamada se reemite en cada ronda y el `continue` de abajo la salta, así que
243
+ // apuntándolo después el mapa se quedaba vacío a partir de la segunda ronda y el
244
+ // peso de esos resultados salía «(sin nombre)». Medido: 35 resultados sin
245
+ // atribuir, la cuarta parte de todo lo que entró en el contexto.
246
+ deQuien.set(id, { nombre, ...(detalle === undefined ? {} : { detalle }) });
183
247
  if (vistas.has(id))
184
248
  continue;
185
249
  vistas.add(id);
@@ -190,6 +254,7 @@ export async function* aEventos(stream, pendientes, alLlamarTool) {
190
254
  ...(detalle === undefined ? {} : { detalle }),
191
255
  ...(parametros === undefined ? {} : { parametros }),
192
256
  origen: origenDeTool(chunk.ns),
257
+ ...(respuesta === undefined ? {} : { respuesta }),
193
258
  });
194
259
  }
195
260
  catch {
@@ -197,6 +262,25 @@ export async function* aEventos(stream, pendientes, alLlamarTool) {
197
262
  }
198
263
  yield { tipo: "tool", nombre, ...(detalle !== undefined ? { detalle } : {}) };
199
264
  }
265
+ /**
266
+ * **Los resultados van DESPUÉS de las llamadas del mismo chunk, y ese orden es el
267
+ * arreglo.** Se puso al revés con el argumento de que un resultado llega en el chunk
268
+ * SIGUIENTE al de su llamada; es cierto la primera vez y FALSO al reanudar, porque la
269
+ * historia acumulada reentrega los dos JUNTOS. Consecuencia medida: 98.439 caracteres
270
+ * —el 43 % de todo lo que entró en el contexto— repartidos como «(sin nombre)».
271
+ */
272
+ for (const r of resultadosDe(chunk.dato)) {
273
+ if (resultados.has(r.id))
274
+ continue;
275
+ resultados.add(r.id);
276
+ const quien = deQuien.get(r.id);
277
+ try {
278
+ alResponderTool?.({ ...r, ...(quien ?? {}) });
279
+ }
280
+ catch {
281
+ // La observabilidad no puede tumbar ni silenciar el stream.
282
+ }
283
+ }
200
284
  continue;
201
285
  }
202
286
  if (chunk.modo === "messages") {
@@ -1 +1 @@
1
- {"version":3,"file":"puente.js","sourceRoot":"","sources":["../../../src/agent/turno/puente.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puente.js","sourceRoot":"","sources":["../../../src/agent/turno/puente.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,17 @@ export 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 la `description` no sale el TEXTO, sale su HUELLA**, y hace falta por una medida.
42
+ *
43
+ * DeepSeek paraleliza: en un turno real, 37 de 69 tools salieron en ráfagas simultáneas, y
44
+ * una de ellas llevaba TRES `task` a la vez —dos al mismo especialista—. Con solo el nombre
45
+ * en la traza no hay forma de saber si eran tres encargos distintos o el mismo repetido, que
46
+ * es justo la diferencia entre paralelismo útil y trabajo tirado.
47
+ *
48
+ * Un hash corto y la longitud lo contestan sin guardar una línea del encargo, así que la
49
+ * regla de arriba no se toca: lo que no puede salir sigue sin salir.
50
+ */
40
51
  /**
41
52
  * De `xone_navegacion` sale la OPERACIÓN y **no el `nombre`**, que es una colección del
42
53
  * proyecto — o sea contenido, y aquí no entra contenido.
@@ -86,6 +97,13 @@ function objetoDeArgs(args) {
86
97
  : undefined;
87
98
  }
88
99
  /** Argumentos acotados y seguros para la traza opt-in de diagnóstico. */
100
+ /** Huella corta y estable de un texto. No reversible: solo sirve para comparar dos. */
101
+ export function huellaDeTexto(texto) {
102
+ let h = 5381;
103
+ for (let i = 0; i < texto.length; i++)
104
+ h = ((h * 33) ^ texto.charCodeAt(i)) >>> 0;
105
+ return h.toString(36);
106
+ }
89
107
  export function parametrosDe(nombre, args) {
90
108
  const campos = CAMPOS_SEGUROS[nombre];
91
109
  const objeto = objetoDeArgs(args);
@@ -98,6 +116,16 @@ export function parametrosDe(nombre, args) {
98
116
  salida[campo] = valor;
99
117
  }
100
118
  }
119
+ /**
120
+ * La HUELLA del encargo de un `task`, nunca su texto. Ver la nota de `CAMPOS_SEGUROS.task`:
121
+ * es lo que distingue tres delegaciones simultáneas distintas de la misma repetida tres
122
+ * veces, y sin ella el paralelismo de DeepSeek no se puede diagnosticar.
123
+ */
124
+ if (nombre === "task" && typeof objeto["description"] === "string") {
125
+ const encargo = objeto["description"];
126
+ salida["encargoChars"] = encargo.length;
127
+ salida["encargoHuella"] = huellaDeTexto(encargo);
128
+ }
101
129
  return Object.keys(salida).length > 0 ? salida : undefined;
102
130
  }
103
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"resumenDeTool.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,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;;;;;;;;;OASG;IACH,eAAe,EAAE,CAAC,WAAW,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB;;;;OAIG;IACH,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,OAAO,CAAC;CACtB,CAAC;AAEF,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACnE,CAAC,CAAC,MAAiC;QACnC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAa;IACxD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEnE,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACzF,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAa;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,iFAAiF;IACjF,EAAE;IACF,wFAAwF;IACxF,wFAAwF;IACxF,wFAAwF;IACxF,uFAAuF;IACvF,0FAA0F;IAC1F,mFAAmF;IACnF,yBAAyB;IACzB,EAAE;IACF,yFAAyF;IACzF,uFAAuF;IACvF,iBAAiB;IACjB,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,+EAA+E;IAC/E,uCAAuC;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"resumenDeTool.js","sourceRoot":"","sources":["../../../src/agent/turno/resumenDeTool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { readdirSync, lstatSync, statSync, existsSync, readFileSync, realpathSync } from "node:fs";
2
+ import { anotarPaso } from "../../core/trazaDeErrores.js";
2
3
  import { join, sep } from "node:path";
3
4
  import { randomUUID } from "node:crypto";
4
5
  import { HumanMessage, ToolMessage } from "@langchain/core/messages";
@@ -105,9 +106,10 @@ import { relative, resolve as resolverRuta } from "node:path";
105
106
  import { tomarInstantanea } from "./instantanea.js";
106
107
  import { construirAgente } from "../grafo/xoneAgent.js";
107
108
  import { asegurarMemoriaDeProyecto } from "../grafo/memoriaDeProyecto.js";
108
- import { aEventos } from "./puente.js";
109
+ import { aEventos, crearMemoriaDelTurno } from "./puente.js";
109
110
  import { createTokenTracker } from "../../vendor/tokenTracking.js";
110
111
  import { crearDiagnosticoDeTools } from "./diagnosticoDeTools.js";
112
+ import { encenderTrazaDeErrores } from "../trazaDeErroresEnDisco.js";
111
113
  import { indiceEnDisco } from "../navegacion/indiceEnDisco.js";
112
114
  import { hechosDelProyectoDe } from "../navegacion/hechosEnDisco.js";
113
115
  import { conHechosDelProyecto } from "../../core/hechosDelProyecto.js";
@@ -304,6 +306,13 @@ export async function abrirSesionReal(opciones) {
304
306
  const checkpointer = opciones.checkpointer ?? new MemorySaver();
305
307
  const tracker = createTokenTracker();
306
308
  const diagnostico = crearDiagnosticoDeTools(raiz);
309
+ /**
310
+ * Y la traza de EXCEPCIONES e HITOS, con la misma variable de entorno que la de tools y el
311
+ * mismo trato: apagada no cuesta nada. Se enciende aquí, al construir la sesión, porque es
312
+ * el primer sitio donde se conoce la raíz — y el sumidero es global (ver
313
+ * `core/trazaDeErrores.ts`), así que basta una vez.
314
+ */
315
+ encenderTrazaDeErrores(raiz);
307
316
  let modelos = opciones.modelos;
308
317
  let hilo = opciones.hilo ?? `xonecode-${randomUUID()}`;
309
318
  let cancelarEnCurso;
@@ -518,6 +527,12 @@ export async function abrirSesionReal(opciones) {
518
527
  let payload = { messages: [new HumanMessage(payloadInicial)] };
519
528
  let bitacora = null;
520
529
  let ronda = 0;
530
+ /**
531
+ * Lo que el puente recuerda ENTRE RONDAS: qué tools ya se contaron, qué resultados ya se
532
+ * midieron y de quién era cada llamada. Vive fuera del bucle a propósito: ver
533
+ * `MemoriaDelTurno`. Dentro, cada ronda recontaba lo de las anteriores.
534
+ */
535
+ const memoriaDelTurno = crearMemoriaDelTurno();
521
536
  // El bucle de aprobación, tal como está en `correrReal` (`cli/run.ts`): una pausa
522
537
  // TERMINA la ronda, el interrupt queda en el estado, y se reanuda con un `Command`
523
538
  // con las decisiones — también con rejects, que si no se resumen dejan el interrupt
@@ -943,7 +958,7 @@ export async function abrirSesionReal(opciones) {
943
958
  bitacora = await correrTurno(conVerificacion(
944
959
  // El flujo del grafo MÁS lo que el agente externo vaya haciendo en su propio
945
960
  // proceso: sin esto, ni una de sus tools cruza y son minutos de pantalla quieta.
946
- entrelazar(aEventos(stream, async () => (await leerPendientes()).lista, ({ nombre, detalle, parametros, origen }) => diagnostico?.herramienta(nombre, detalle, parametros, tracker, origen)), eventosExternos)), piel, {
961
+ entrelazar(aEventos(stream, async () => (await leerPendientes()).lista, ({ nombre, detalle, parametros, origen, respuesta }) => diagnostico?.herramienta(nombre, detalle, parametros, tracker, origen, respuesta), memoriaDelTurno, ({ nombre, detalle, chars }) => diagnostico?.resultado?.(nombre, detalle, chars)), eventosExternos)), piel, {
947
962
  // El aviso solo si el turno ESCRIBIÓ y aun así no se verificó. Antes saltaba en
948
963
  // todos los turnos, incluido «cuéntame un chiste» — y un aviso que salta cuando
949
964
  // no ha pasado nada enseña a ignorarlo, que es lo contrario de lo que se compra
@@ -976,6 +991,9 @@ export async function abrirSesionReal(opciones) {
976
991
  cancelarEnCurso = undefined;
977
992
  }
978
993
  const { lista, ficheros, diffs } = await leerPendientes();
994
+ // Cada vuelta del bucle deja su hito: es lo que distingue «el turno avanza despacio» de
995
+ // «el turno no avanza», que desde fuera se ven igual.
996
+ anotarPaso("turnoReal#ronda", `ronda ${ronda}, ${lista.length} pendiente(s)`)();
979
997
  if (lista.length === 0)
980
998
  break;
981
999
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"turnoReal.js","sourceRoot":"","sources":["../../../src/agent/turno/turnoReal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAW,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoC,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAiB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAKpC;IACC,OAAO,CACL,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,QAAQ,GAAG,CAAC;QACnB,CAAC,MAAM,CAAC,SAAS;QACjB,MAAM,CAAC,OAAO,GAAG,iBAAiB,CACnC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAsC,EACtC,aAAgC;AAChC,8FAA8F;AAC9F,QAAiB;IAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CACT,gEAAgE,EAChE,EAAE,EACF,QAAQ,CAAC,IAAI,EAAE,EACf,EAAE,EACF,uFAAuF,EACvF,QAAQ,EACR,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,CAAC,IAAI,CACT,8EAA8E,OAAO,aAAa,EAClG,GAAG,SAAS,CAAC,GAAG,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAC9K,CACF,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC;;;;;WAKG;QACH,MAAM,CAAC,IAAI,CACT,sFAAsF,EACtF,mFAAmF,EACnF,0BAA0B,EAC1B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,CACT,EAAE;IACF,kFAAkF;IAClF,kFAAkF;IAClF,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC5B,CAAC,CAAC;YACE,oFAAoF;YACpF,qFAAqF;YACrF,8EAA8E;SAC/E,CAAC,EACN,0DAA0D,EAC1D,iFAAiF,EACjF,sEAAsE,CACvE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAiC,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAqB,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAqB,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAA+C,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAyE9D;;;;;;GAMG;AACH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,mBAAmB;IACpF,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,MAAM;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,+EAA+E;YAC/E,iFAAiF;YACjF,4EAA4E;YAC5E,2EAA2E;YAC3E,oFAAoF;YACpF,gFAAgF;YAChF,4EAA4E;YAC5E,iFAAiF;YACjF,kFAAkF;YAClF,mFAAmF;YACnF,oFAAoF;YACpF,iFAAiF;YACjF,gDAAgD;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YACpE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,2EAA2E;gBAC3E,8EAA8E;gBAC9E,gFAAgF;gBAChF,sBAAsB;gBACtB,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sFAAsF;QACxF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAe,EAAE,IAAY;IAC7E,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;IAClD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,MAAa,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAkB,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAiB,CAAC,YAAY,CAAC,CAC3F,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;aACnC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAe,CAAC,UAAU,IAAI,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,WAAW,CAAC;YACd,OAAO,EACL,sFAAsF;gBACtF,8EAA8E;YAChF,YAAY,EAAE,CAAC,CAAC,EAAG;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,OAAO;SAChB,CAAC,CACL,CAAC;QACF,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAuHrC;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAEnC,wFAAwF;IACxF,0DAA0D;IAC1D,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAElE;;;;OAIG;IACH;;;;;;;OAOG;IACH,MAAM,eAAe,GAAG,IAAI,aAAa,EAAE,CAAC;IAE5C;;;;;;;;;;;;OAYG;IACH,IAAI,4BAA8E,CAAC;IAEnF;;;;;;;;OAQG;IACH,IAAI,cAAc,GAAoB,WAAW,CAAC;IAClD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,iFAAiF;YACjF,oFAAoF;YACpF,gCAAgC;YAChC,IAAI,CAAC;gBACH,CAAC,EAAE,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;YAC/D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,WAAW,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,YAAY,UAAU,EAAE,EAAE,CAAC;IACvD,IAAI,eAAyC,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB;;;;OAIG;IACH,MAAM,oBAAoB,GAAgB,EAAE,CAAC;IAC7C;;;;;;;;;OASG;IACH,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACzF;;;;;;;;;;OAUG;IACH,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,KAAK,IAAsB,EAAE,CAC7C,eAAe,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACnC,UAAU,EAAE,YAAY;QACxB,gFAAgF;QAChF,qFAAqF;QACrF,6EAA6E;QAC7E,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO;QACpC,sFAAsF;QACtF,sFAAsF;QACtF,yDAAyD;QACzD,cAAc,EAAE,eAAe;QAC/B;;;;;;;;;;;;WAYG;QACH,gBAAgB,EAAE,qBAAqB,CACrC,0BAA0B,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;YAClD,gFAAgF;YAChF,+EAA+E;YAC/E,mDAAmD;YACnD,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChB,cAAc,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACjD,eAAe,EAAE,CAAC;YACpB,CAAC;YACD;;;;;;;eAOG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI;gBACvD,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,EAAE,CAAC,KAAK,CAAC;aACxE;SACF,CAAC,CACH;QACD,OAAO;QACP,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,YAAY;QAC1B,OAAO;QACP,WAAW;QACX,UAAU,EAAE;YACV,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChB,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpF,CAAC;SACF;QACD,8EAA8E;QAC9E,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEL,IAAI,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAC/B,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH;;;;;;;OAOG;IACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;QAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3E,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAIzB,EAAE;QACH,8DAA8D;QAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAO,MAAc,CAAC,QAAQ,CAAC;YAC3D,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7B,iFAAiF;YACjF,2EAA2E;YAC3E,EAAE;YACF,sFAAsF;YACtF,gFAAgF;YAChF,qFAAqF;YACrF,sFAAsF;YACtF,qFAAqF;YACrF,wFAAwF;YACxF,qFAAqF;YACrF,sFAAsF;YACtF,+EAA+E;YAC/E,EAAE;YACF,qFAAqF;YACrF,uFAAuF;YACvF,wFAAwF;YACxF,wFAAwF;YACxF,sFAAsF;YACtF,4DAA4D;YAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC,CAAC;IAEF;;;;;OAKG;IACH;;;;;;OAMG;IACH,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,KAAK,EACjB,QAAgB,EAChB,IAAU,EAGV,EAAE;QACF,uFAAuF;QACvF,8EAA8E;QAC9E,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1D,qFAAqF;QACrF,sFAAsF;QACtF,mFAAmF;QACnF,eAAe;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAgB,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3E;;;;;;;;;;;;;;WAcG;QACH,MAAM,cAAc,GAAG,oBAAoB,CACzC,QAAQ,EACR,MAAM,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;QACF,IAAI,OAAO,GAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,GAAG,IAAsD,CAAC;QACtE,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,kFAAkF;QAClF,mFAAmF;QACnF,oFAAoF;QACpF,uEAAuE;QACvE,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B;gEACwD;QACxD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B;;oEAE4D;QAC5D,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,kFAAkF;QAClF,oFAAoF;QACpF,4BAA4B,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAE/E;;;;;;;WAOG;QACH,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,kBAAsC,CAAC;QAC3C;;;;;;;WAOG;QACH,IAAI,SAAS,GAAwB,WAAW,CAAC;QACjD,IAAI,iBAAiB,GAAuB,EAAE,CAAC;QAC/C;;;;;WAKG;QACH,IAAI,qBAAyC,CAAC;QAC9C,sFAAsF;QACtF,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,mEAAmE;QACnE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,wDAAwD;QACxD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,wFAAwF;QACxF,IAAI,gBAAgB,GAAuB,EAAE,CAAC;QAC9C,6EAA6E;QAC7E,IAAI,YAAgC,CAAC;QACrC;;;;;;;;;WASG;QACH,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC;;;;;;;;;;;;;;;;;WAiBG;QACH,KAAK,SAAS,CAAC,CAAC,eAAe,CAAC,OAAmC;YACjE,wFAAwF;YACxF,oFAAoF;YACpF,qDAAqD;YACrD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;YAChF,OAAO,GAAG,KAAK,CAAC;YAEhB,qFAAqF;YACrF,mFAAmF;YACnF,kDAAkD;YAClD,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBACnC;;;;;;;;;;;;;;;;mBAgBG;gBACH,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC;gBACjE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;oBAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,MAAM,CAAC;YACf,CAAC;YAED,8EAA8E;YAC9E,kFAAkF;YAClF,oFAAoF;YACpF,0EAA0E;YAC1E,uCAAuC;YACvC,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;YAE/F;;;;;;;;;;;;eAYG;YACH,KAAK,SAAS,CAAC,CAAC,kBAAkB;gBAChC,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,oFAAoF;oBACpF,kFAAkF;oBAClF,+EAA+E;oBAC/E,4DAA4D;oBAC5D,WAAW,GAAG,CAAC,CAAC,KAAK,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBAEnB,MAAM,OAAO,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAC3F,CAAC;gBACF,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,+EAA+E;oBAC/E,kFAAkF;oBAClF,sEAAsE;oBACtE,kBAAkB,GAAG,kDAAkD,CAAC;oBACxE,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACpC,kBAAkB,GAAG,qCAAqC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC;gBACZ,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mFAAmF;oBACnF,iFAAiF;oBACjF,kBAAkB,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,kBAAkB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBACpG,OAAO;gBACT,CAAC;gBAED,mFAAmF;gBACnF,gFAAgF;gBAChF,iFAAiF;gBACjF,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACvE,CAAC;gBACF,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;gBAEvE,MAAM,SAAS,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1E,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;iBACrD,CAAC,CAAC,CAAC;gBAEJ,6EAA6E;gBAC7E,qFAAqF;gBACrF,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,qFAAqF;gBACrF,iFAAiF;gBACjF,8EAA8E;gBAC9E,qBAAqB,GAAG,aAAa,CAAC;gBACtC,MAAM;oBACJ,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,OAAO,KAAK,CAAC;oBACpB,OAAO;oBACP,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,OAAO;oBACjC,SAAS;oBACT,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBACF;;;;;;;;;;;;;;;;;;;;;mBAqBG;gBACH,IACE,oBAAoB,CAAC;oBACnB,UAAU,EAAE,QAAQ,CAAC,aAAa,KAAK,SAAS;oBAChD,QAAQ,EAAE,gBAAgB,CAAC,MAAM;oBACjC,SAAS,EAAE,eAAe;oBAC1B,OAAO;iBACR,CAAC,EACF,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC;oBACvB,sFAAsF;oBACtF,kDAAkD;oBAClD,MAAM,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;wBACtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAc,CAC1C,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,EACvE,OAAO,CAAC,MAAM,CACf,CAAC;wBACF,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnE,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC;4BAC7C,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,sCAAsC,MAAM,CAAC,aAAa,CAAC,MAAM,yBAAyB;gCACjG,SAAS,EAAE,OAAO;6BACnB,CAAC;4BACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA8BG;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;4BAC5F,SAAS,EAAE,OAAO;yBACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAE1B,mEAAmE;gBACnE,EAAE;gBACF,qFAAqF;gBACrF,qFAAqF;gBACrF,sFAAsF;gBACtF,sFAAsF;gBACtF,yBAAyB;gBACzB,MAAM,MAAM,GAAG,SAAS;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;qBAC3D,IAAI,EAAE;qBACN,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC5B,kFAAkF;oBAClF,+DAA+D;oBAC/D,MAAM;wBACJ,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,aAAa;wBACrB,WAAW,EAAE,cAAc,OAAO,oBAAoB,OAAO,iCAAiC;qBAC/F,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;oBACjC,MAAM;wBACJ,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,mBAAmB;wBAC3B,WAAW,EAAE,QAAQ,OAAO,sBAAsB,OAAO,iDAAiD;qBAC3G,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,oFAAoF;gBACpF,gDAAgD;gBAChD,YAAY,GAAG,MAAM,CAAC;gBACtB,gBAAgB,GAAG,SAAS,CAAC;gBAC7B,OAAO,IAAI,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YAED,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAE5B;;;;;;;;;;;;;;;;;;;;;;;;eAwBG;YACH,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;wBACnD,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,mBAAmB;wBAC9B,MAAM,EAAE;4BACN,iFAAiF;4BACjF,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC3D;qBACF,CAAC,CAAC;oBACH,oFAAoF;oBACpF,6EAA6E;oBAC7E,yEAAyE;oBACzE,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;wBACnG,SAAS,EAAE,OAAO;qBACnB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;;;;;;WAQG;QACH,gFAAgF;QAChF,kFAAkF;QAClF,kFAAkF;QAClF,oDAAoD;QACpD,MAAM,oBAAoB,GAAG,GAAW,EAAE,CACxC,iBAAiB,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAEvE,sFAAsF;QACtF,wFAAwF;QACxF,kFAAkF;QAClF,uEAAuE;QACvE,GAAG,CAAC;YACJ,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC;YACpF,KAAK,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,EAAE,CAAC;gBACZ,KAAK,IAAI,CAAC,CAAC;gBACX,aAAa,GAAG,KAAK,CAAC;gBACtB,kBAAkB,GAAG,SAAS,CAAC;gBAC/B,SAAS,GAAG,WAAW,CAAC;gBACxB,iBAAiB,GAAG,EAAE,CAAC;gBACvB,qBAAqB,GAAG,SAAS,CAAC;gBAClC,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBACrC,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,MAAM,CAAC,OAAO,EAAE;wBACnD,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;wBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;wBACnC,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBAEH,QAAQ,GAAG,MAAM,WAAW,CAC1B,eAAe;oBACb,6EAA6E;oBAC7E,iFAAiF;oBACjF,UAAU,CACR,QAAQ,CACN,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,EAC1C,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAC1C,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CACzE,EACD,eAAe,CAChB,CACF,EACD,IAAI,EACJ;wBACE,gFAAgF;wBAChF,gFAAgF;wBAChF,gFAAgF;wBAChF,0EAA0E;wBAC1E,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;4BACb,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;gCACtC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,+CAA+C,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,kBAAkB,GAAG,EAAE;iCACpH,CAAC;4BACN,6EAA6E;4BAC7E,6EAA6E;4BAC7E,8EAA8E;4BAC9E,8EAA8E;4BAC9E,qCAAqC;4BACrC,GAAG,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC;gCACpC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,KAAK,qBAAqB,CAAC,MAAM,2CAA2C,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wCAC5G,yEAAyE;iCAC5E,CAAC;yBACP;wBACD,6EAA6E;wBAC7E,oEAAoE;wBACpE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW;wBACzB,KAAK,EAAE,EAAE;qBACV,CACF,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,eAAe,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,EAAE,CAAC;gBAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;gBAE9B;;;;;;;;;;;mBAWG;gBACH,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC;gBAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;gBAChD,MAAM,OAAO,GAA4B,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAc,CAAC,CAAC;oBACzD,CAAC;yBAAM,IAAI,cAAc,EAAE,CAAC;wBAC1B,iFAAiF;wBACjF,gFAAgF;wBAChF,0EAA0E;wBAC1E,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAc,CAAC,CAAC;wBACvD,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,mFAAmF;oBACnF,+EAA+E;oBAC/E,oFAAoF;oBACpF,iFAAiF;oBACjF,EAAE;oBACF,mFAAmF;oBACnF,oFAAoF;oBACpF,kFAAkF;oBAClF,iFAAiF;oBACjF,wEAAwE;oBACxE,iBAAiB,IAAI,CAAC,CAAC;oBACvB,IAAI,iBAAiB,GAAG,YAAY,EAAE,CAAC;wBACrC,iFAAiF;wBACjF,gFAAgF;wBAChF,0DAA0D;wBAC1D,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC;wBACxE,IAAI,CAAC,KAAK,CAAC,eAAe,YAAY,cAAc,GAAG,yBAAyB,CAAC,CAAC;wBAClF,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,MAAM,sCAAsC,CAAC,CAAC;wBAC7E,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;oBACR,CAAC;oBACD,KAAK,IAAI,CAAC,CAAC;oBACX,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBAED,qFAAqF;gBACrF,oFAAoF;gBACpF,gDAAgD;gBAChD,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,YAAY,gCAAgC,CAAC,CAAC;oBACxE,IAAI,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,MAAM,sCAAsC,CAAC,CAAC;oBAC/E,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,MAAM,yDAAyD,CAAC,CAAC;oBAC5F,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC5D,MAAM;gBACR,CAAC;gBAED,IAAI,UAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mFAAmF;oBACnF,mFAAmF;oBACnF,qFAAqF;oBACrF,4EAA4E;oBAC5E,gFAAgF;oBAChF,IAAI,CAAC,WAAW;wBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5C,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,oFAAoF;gBACpF,qFAAqF;gBACrF,yDAAyD;gBACzD,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACD,CAAC,QAAQ,OAAO,EAAE;QAElB,yFAAyF;QACzF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5C;;;;;;;;;WASG;QACH,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACzD,sFAAsF;QACtF,sFAAsF;QACtF,uFAAuF;QACvF,uFAAuF;QACvF,OAAO;YACL,QAAQ,EAAE,QAAS;YACnB,OAAO;YACP,cAAc;YACd,WAAW,EAAE,SAAS;YACtB,UAAU;YACV,+EAA+E;YAC/E,uCAAuC;YACvC,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;YAC3E,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;YACxF,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL;;;;;;;;;;;;;;;WAeG;QACH,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE;YACxC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC5B,KAAK;oBACL,QAAQ;oBACR,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;oBAC9B,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE;YACX,OAAO,GAAG,IAAI,CAAC;YACf,eAAe,EAAE,EAAE,CAAC;QACtB,CAAC;QACD,gFAAgF;QAChF,KAAK,CAAC,cAAc,CAAC,MAAmB;YACtC,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,SAAS,CAAC,EAAW;YACnB,IAAI,GAAG,EAAE,IAAI,YAAY,UAAU,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,cAAc,GAAG,WAAW,CAAC;YAC7B,eAAe,EAAE,CAAC;QACpB,CAAC;QACD,OAAO;QACP;;;WAGG;QACH,OAAO,EAAE,GAA6B,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YAChF,OAAO,EAAE,cAAc;YACvB,kFAAkF;YAClF,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,0FAA0F;QAC1F,gBAAgB,EAAE,CAAC,MAAkB,EAAgB,EAAE;YACrD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC;oBAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"turnoReal.js","sourceRoot":"","sources":["../../../src/agent/turno/turnoReal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAe,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAW,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoC,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAiB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAKpC;IACC,OAAO,CACL,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,QAAQ,GAAG,CAAC;QACnB,CAAC,MAAM,CAAC,SAAS;QACjB,MAAM,CAAC,OAAO,GAAG,iBAAiB,CACnC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAsC,EACtC,aAAgC;AAChC,8FAA8F;AAC9F,QAAiB;IAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CACT,gEAAgE,EAChE,EAAE,EACF,QAAQ,CAAC,IAAI,EAAE,EACf,EAAE,EACF,uFAAuF,EACvF,QAAQ,EACR,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,CAAC,IAAI,CACT,8EAA8E,OAAO,aAAa,EAClG,GAAG,SAAS,CAAC,GAAG,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAC9K,CACF,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC;;;;;WAKG;QACH,MAAM,CAAC,IAAI,CACT,sFAAsF,EACtF,mFAAmF,EACnF,0BAA0B,EAC1B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,CACT,EAAE;IACF,kFAAkF;IAClF,kFAAkF;IAClF,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC5B,CAAC,CAAC;YACE,oFAAoF;YACpF,qFAAqF;YACrF,8EAA8E;SAC/E,CAAC,EACN,0DAA0D,EAC1D,iFAAiF,EACjF,sEAAsE,CACvE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAiC,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAqB,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAA+C,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAyE9D;;;;;;GAMG;AACH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,mBAAmB;IACpF,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,MAAM;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,+EAA+E;YAC/E,iFAAiF;YACjF,4EAA4E;YAC5E,2EAA2E;YAC3E,oFAAoF;YACpF,gFAAgF;YAChF,4EAA4E;YAC5E,iFAAiF;YACjF,kFAAkF;YAClF,mFAAmF;YACnF,oFAAoF;YACpF,iFAAiF;YACjF,gDAAgD;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YACpE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,2EAA2E;gBAC3E,8EAA8E;gBAC9E,gFAAgF;gBAChF,sBAAsB;gBACtB,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sFAAsF;QACxF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAe,EAAE,IAAY;IAC7E,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;IAClD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,MAAa,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAkB,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAiB,CAAC,YAAY,CAAC,CAC3F,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;aACnC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAe,CAAC,UAAU,IAAI,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,WAAW,CAAC;YACd,OAAO,EACL,sFAAsF;gBACtF,8EAA8E;YAChF,YAAY,EAAE,CAAC,CAAC,EAAG;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,OAAO;SAChB,CAAC,CACL,CAAC;QACF,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAuHrC;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAEnC,wFAAwF;IACxF,0DAA0D;IAC1D,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAElE;;;;OAIG;IACH;;;;;;;OAOG;IACH,MAAM,eAAe,GAAG,IAAI,aAAa,EAAE,CAAC;IAE5C;;;;;;;;;;;;OAYG;IACH,IAAI,4BAA8E,CAAC;IAEnF;;;;;;;;OAQG;IACH,IAAI,cAAc,GAAoB,WAAW,CAAC;IAClD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,iFAAiF;YACjF,oFAAoF;YACpF,gCAAgC;YAChC,IAAI,CAAC;gBACH,CAAC,EAAE,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;YAC/D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,WAAW,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD;;;;;OAKG;IACH,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,YAAY,UAAU,EAAE,EAAE,CAAC;IACvD,IAAI,eAAyC,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB;;;;OAIG;IACH,MAAM,oBAAoB,GAAgB,EAAE,CAAC;IAC7C;;;;;;;;;OASG;IACH,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACzF;;;;;;;;;;OAUG;IACH,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,KAAK,IAAsB,EAAE,CAC7C,eAAe,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACnC,UAAU,EAAE,YAAY;QACxB,gFAAgF;QAChF,qFAAqF;QACrF,6EAA6E;QAC7E,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO;QACpC,sFAAsF;QACtF,sFAAsF;QACtF,yDAAyD;QACzD,cAAc,EAAE,eAAe;QAC/B;;;;;;;;;;;;WAYG;QACH,gBAAgB,EAAE,qBAAqB,CACrC,0BAA0B,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;YAClD,gFAAgF;YAChF,+EAA+E;YAC/E,mDAAmD;YACnD,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChB,cAAc,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACjD,eAAe,EAAE,CAAC;YACpB,CAAC;YACD;;;;;;;eAOG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI;gBACvD,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,EAAE,CAAC,KAAK,CAAC;aACxE;SACF,CAAC,CACH;QACD,OAAO;QACP,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,YAAY;QAC1B,OAAO;QACP,WAAW;QACX,UAAU,EAAE;YACV,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChB,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpF,CAAC;SACF;QACD,8EAA8E;QAC9E,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEL,IAAI,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAC/B,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH;;;;;;;OAOG;IACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;QAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3E,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAIzB,EAAE;QACH,8DAA8D;QAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAO,MAAc,CAAC,QAAQ,CAAC;YAC3D,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7B,iFAAiF;YACjF,2EAA2E;YAC3E,EAAE;YACF,sFAAsF;YACtF,gFAAgF;YAChF,qFAAqF;YACrF,sFAAsF;YACtF,qFAAqF;YACrF,wFAAwF;YACxF,qFAAqF;YACrF,sFAAsF;YACtF,+EAA+E;YAC/E,EAAE;YACF,qFAAqF;YACrF,uFAAuF;YACvF,wFAAwF;YACxF,wFAAwF;YACxF,sFAAsF;YACtF,4DAA4D;YAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC,CAAC;IAEF;;;;;OAKG;IACH;;;;;;OAMG;IACH,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,KAAK,EACjB,QAAgB,EAChB,IAAU,EAGV,EAAE;QACF,uFAAuF;QACvF,8EAA8E;QAC9E,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1D,qFAAqF;QACrF,sFAAsF;QACtF,mFAAmF;QACnF,eAAe;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAgB,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3E;;;;;;;;;;;;;;WAcG;QACH,MAAM,cAAc,GAAG,oBAAoB,CACzC,QAAQ,EACR,MAAM,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;QACF,IAAI,OAAO,GAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,GAAG,IAAsD,CAAC;QACtE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd;;;;WAIG;QACH,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;QAE/C,kFAAkF;QAClF,mFAAmF;QACnF,oFAAoF;QACpF,uEAAuE;QACvE,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B;gEACwD;QACxD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B;;oEAE4D;QAC5D,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,kFAAkF;QAClF,oFAAoF;QACpF,4BAA4B,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAE/E;;;;;;;WAOG;QACH,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,kBAAsC,CAAC;QAC3C;;;;;;;WAOG;QACH,IAAI,SAAS,GAAwB,WAAW,CAAC;QACjD,IAAI,iBAAiB,GAAuB,EAAE,CAAC;QAC/C;;;;;WAKG;QACH,IAAI,qBAAyC,CAAC;QAC9C,sFAAsF;QACtF,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,mEAAmE;QACnE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,wDAAwD;QACxD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,wFAAwF;QACxF,IAAI,gBAAgB,GAAuB,EAAE,CAAC;QAC9C,6EAA6E;QAC7E,IAAI,YAAgC,CAAC;QACrC;;;;;;;;;WASG;QACH,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC;;;;;;;;;;;;;;;;;WAiBG;QACH,KAAK,SAAS,CAAC,CAAC,eAAe,CAAC,OAAmC;YACjE,wFAAwF;YACxF,oFAAoF;YACpF,qDAAqD;YACrD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;YAChF,OAAO,GAAG,KAAK,CAAC;YAEhB,qFAAqF;YACrF,mFAAmF;YACnF,kDAAkD;YAClD,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBACnC;;;;;;;;;;;;;;;;mBAgBG;gBACH,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC;gBACjE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;oBAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,MAAM,CAAC;YACf,CAAC;YAED,8EAA8E;YAC9E,kFAAkF;YAClF,oFAAoF;YACpF,0EAA0E;YAC1E,uCAAuC;YACvC,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;YAE/F;;;;;;;;;;;;eAYG;YACH,KAAK,SAAS,CAAC,CAAC,kBAAkB;gBAChC,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,oFAAoF;oBACpF,kFAAkF;oBAClF,+EAA+E;oBAC/E,4DAA4D;oBAC5D,WAAW,GAAG,CAAC,CAAC,KAAK,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBAEnB,MAAM,OAAO,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAC3F,CAAC;gBACF,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,+EAA+E;oBAC/E,kFAAkF;oBAClF,sEAAsE;oBACtE,kBAAkB,GAAG,kDAAkD,CAAC;oBACxE,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACpC,kBAAkB,GAAG,qCAAqC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC;gBACZ,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mFAAmF;oBACnF,iFAAiF;oBACjF,kBAAkB,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,kBAAkB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBACpG,OAAO;gBACT,CAAC;gBAED,mFAAmF;gBACnF,gFAAgF;gBAChF,iFAAiF;gBACjF,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACvE,CAAC;gBACF,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;gBAEvE,MAAM,SAAS,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1E,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;iBACrD,CAAC,CAAC,CAAC;gBAEJ,6EAA6E;gBAC7E,qFAAqF;gBACrF,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,qFAAqF;gBACrF,iFAAiF;gBACjF,8EAA8E;gBAC9E,qBAAqB,GAAG,aAAa,CAAC;gBACtC,MAAM;oBACJ,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,OAAO,KAAK,CAAC;oBACpB,OAAO;oBACP,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,OAAO;oBACjC,SAAS;oBACT,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBACF;;;;;;;;;;;;;;;;;;;;;mBAqBG;gBACH,IACE,oBAAoB,CAAC;oBACnB,UAAU,EAAE,QAAQ,CAAC,aAAa,KAAK,SAAS;oBAChD,QAAQ,EAAE,gBAAgB,CAAC,MAAM;oBACjC,SAAS,EAAE,eAAe;oBAC1B,OAAO;iBACR,CAAC,EACF,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC;oBACvB,sFAAsF;oBACtF,kDAAkD;oBAClD,MAAM,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;wBACtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAc,CAC1C,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,EACvE,OAAO,CAAC,MAAM,CACf,CAAC;wBACF,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnE,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC;4BAC7C,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,sCAAsC,MAAM,CAAC,aAAa,CAAC,MAAM,yBAAyB;gCACjG,SAAS,EAAE,OAAO;6BACnB,CAAC;4BACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA8BG;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;4BAC5F,SAAS,EAAE,OAAO;yBACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAE1B,mEAAmE;gBACnE,EAAE;gBACF,qFAAqF;gBACrF,qFAAqF;gBACrF,sFAAsF;gBACtF,sFAAsF;gBACtF,yBAAyB;gBACzB,MAAM,MAAM,GAAG,SAAS;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;qBAC3D,IAAI,EAAE;qBACN,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC5B,kFAAkF;oBAClF,+DAA+D;oBAC/D,MAAM;wBACJ,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,aAAa;wBACrB,WAAW,EAAE,cAAc,OAAO,oBAAoB,OAAO,iCAAiC;qBAC/F,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;oBACjC,MAAM;wBACJ,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,mBAAmB;wBAC3B,WAAW,EAAE,QAAQ,OAAO,sBAAsB,OAAO,iDAAiD;qBAC3G,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,oFAAoF;gBACpF,gDAAgD;gBAChD,YAAY,GAAG,MAAM,CAAC;gBACtB,gBAAgB,GAAG,SAAS,CAAC;gBAC7B,OAAO,IAAI,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YAED,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAE5B;;;;;;;;;;;;;;;;;;;;;;;;eAwBG;YACH,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;wBACnD,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,mBAAmB;wBAC9B,MAAM,EAAE;4BACN,iFAAiF;4BACjF,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC3D;qBACF,CAAC,CAAC;oBACH,oFAAoF;oBACpF,6EAA6E;oBAC7E,yEAAyE;oBACzE,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;wBACnG,SAAS,EAAE,OAAO;qBACnB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;;;;;;WAQG;QACH,gFAAgF;QAChF,kFAAkF;QAClF,kFAAkF;QAClF,oDAAoD;QACpD,MAAM,oBAAoB,GAAG,GAAW,EAAE,CACxC,iBAAiB,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAEvE,sFAAsF;QACtF,wFAAwF;QACxF,kFAAkF;QAClF,uEAAuE;QACvE,GAAG,CAAC;YACJ,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC;YACpF,KAAK,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,EAAE,CAAC;gBACZ,KAAK,IAAI,CAAC,CAAC;gBACX,aAAa,GAAG,KAAK,CAAC;gBACtB,kBAAkB,GAAG,SAAS,CAAC;gBAC/B,SAAS,GAAG,WAAW,CAAC;gBACxB,iBAAiB,GAAG,EAAE,CAAC;gBACvB,qBAAqB,GAAG,SAAS,CAAC;gBAClC,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBACrC,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,MAAM,CAAC,OAAO,EAAE;wBACnD,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;wBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;wBACnC,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBAEH,QAAQ,GAAG,MAAM,WAAW,CAC1B,eAAe;oBACb,6EAA6E;oBAC7E,iFAAiF;oBACjF,UAAU,CACR,QAAQ,CACN,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,EAC1C,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CACrD,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EACnF,eAAe,EACf,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CACjF,EACD,eAAe,CAChB,CACF,EACD,IAAI,EACJ;wBACE,gFAAgF;wBAChF,gFAAgF;wBAChF,gFAAgF;wBAChF,0EAA0E;wBAC1E,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;4BACb,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;gCACtC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,+CAA+C,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,kBAAkB,GAAG,EAAE;iCACpH,CAAC;4BACN,6EAA6E;4BAC7E,6EAA6E;4BAC7E,8EAA8E;4BAC9E,8EAA8E;4BAC9E,qCAAqC;4BACrC,GAAG,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC;gCACpC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,KAAK,qBAAqB,CAAC,MAAM,2CAA2C,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wCAC5G,yEAAyE;iCAC5E,CAAC;yBACP;wBACD,6EAA6E;wBAC7E,oEAAoE;wBACpE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW;wBACzB,KAAK,EAAE,EAAE;qBACV,CACF,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,eAAe,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,EAAE,CAAC;gBAC1D,wFAAwF;gBACxF,sDAAsD;gBACtD,UAAU,CAAC,iBAAiB,EAAE,SAAS,KAAK,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC;gBAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;gBAE9B;;;;;;;;;;;mBAWG;gBACH,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC;gBAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;gBAChD,MAAM,OAAO,GAA4B,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAc,CAAC,CAAC;oBACzD,CAAC;yBAAM,IAAI,cAAc,EAAE,CAAC;wBAC1B,iFAAiF;wBACjF,gFAAgF;wBAChF,0EAA0E;wBAC1E,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAc,CAAC,CAAC;wBACvD,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,mFAAmF;oBACnF,+EAA+E;oBAC/E,oFAAoF;oBACpF,iFAAiF;oBACjF,EAAE;oBACF,mFAAmF;oBACnF,oFAAoF;oBACpF,kFAAkF;oBAClF,iFAAiF;oBACjF,wEAAwE;oBACxE,iBAAiB,IAAI,CAAC,CAAC;oBACvB,IAAI,iBAAiB,GAAG,YAAY,EAAE,CAAC;wBACrC,iFAAiF;wBACjF,gFAAgF;wBAChF,0DAA0D;wBAC1D,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC;wBACxE,IAAI,CAAC,KAAK,CAAC,eAAe,YAAY,cAAc,GAAG,yBAAyB,CAAC,CAAC;wBAClF,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,MAAM,sCAAsC,CAAC,CAAC;wBAC7E,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;oBACR,CAAC;oBACD,KAAK,IAAI,CAAC,CAAC;oBACX,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBAED,qFAAqF;gBACrF,oFAAoF;gBACpF,gDAAgD;gBAChD,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,YAAY,gCAAgC,CAAC,CAAC;oBACxE,IAAI,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,MAAM,sCAAsC,CAAC,CAAC;oBAC/E,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,MAAM,yDAAyD,CAAC,CAAC;oBAC5F,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC5D,MAAM;gBACR,CAAC;gBAED,IAAI,UAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mFAAmF;oBACnF,mFAAmF;oBACnF,qFAAqF;oBACrF,4EAA4E;oBAC5E,gFAAgF;oBAChF,IAAI,CAAC,WAAW;wBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5C,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,oFAAoF;gBACpF,qFAAqF;gBACrF,yDAAyD;gBACzD,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACD,CAAC,QAAQ,OAAO,EAAE;QAElB,yFAAyF;QACzF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5C;;;;;;;;;WASG;QACH,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACzD,sFAAsF;QACtF,sFAAsF;QACtF,uFAAuF;QACvF,uFAAuF;QACvF,OAAO;YACL,QAAQ,EAAE,QAAS;YACnB,OAAO;YACP,cAAc;YACd,WAAW,EAAE,SAAS;YACtB,UAAU;YACV,+EAA+E;YAC/E,uCAAuC;YACvC,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;YAC3E,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;YACxF,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL;;;;;;;;;;;;;;;WAeG;QACH,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE;YACxC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC5B,KAAK;oBACL,QAAQ;oBACR,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;oBAC9B,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE;YACX,OAAO,GAAG,IAAI,CAAC;YACf,eAAe,EAAE,EAAE,CAAC;QACtB,CAAC;QACD,gFAAgF;QAChF,KAAK,CAAC,cAAc,CAAC,MAAmB;YACtC,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,SAAS,CAAC,EAAW;YACnB,IAAI,GAAG,EAAE,IAAI,YAAY,UAAU,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,cAAc,GAAG,WAAW,CAAC;YAC7B,eAAe,EAAE,CAAC;QACpB,CAAC;QACD,OAAO;QACP;;;WAGG;QACH,OAAO,EAAE,GAA6B,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YAChF,OAAO,EAAE,cAAc;YACvB,kFAAkF;YAClF,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,0FAA0F;QAC1F,gBAAgB,EAAE,CAAC,MAAkB,EAAgB,EAAE;YACrD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC;oBAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Una cola por CLAVE: dos tareas con la misma clave nunca se solapan; con claves distintas
3
+ * corren a la vez.
4
+ *
5
+ * **Por qué hace falta.** `write` y `edit` de un backend de ficheros son
6
+ * leer-modificar-escribir: leen el fichero entero, sustituyen y lo escriben entero. Dos a la
7
+ * vez sobre el MISMO fichero se pisan, y el modo de fallo es el peor que hay — las dos
8
+ * devuelven «bien» y una de las dos no está en el disco. Reproducido contra el backend real:
9
+ * cuatro `edit` concurrentes sobre un fichero, cuatro resultados sin error, **una** aplicada.
10
+ *
11
+ * **Y serializar SÍ basta, que era la duda razonable.** La objeción es que la segunda edición
12
+ * se resolvió contra un contenido que la primera acaba de cambiar, así que su `old_string`
13
+ * podría no valer ya. Cierto, y por eso esto va DEBAJO de quien edita y no encima: el backend
14
+ * vuelve a leer el fichero y vuelve a buscar el `old_string` cuando le toca su turno, así que
15
+ * el ancla se comprueba contra lo que hay. Medido con el backend de verdad:
16
+ *
17
+ * | | en paralelo | en serie |
18
+ * |---|---|---|
19
+ * | cuatro ediciones independientes | 1 aplicada, 0 errores | 4 aplicadas, 0 errores |
20
+ * | dos que se pisan | — | 1 aplicada, **1 error** |
21
+ *
22
+ * O sea que la edición que ya no encaja **falla en voz alta** en vez de perderse en silencio,
23
+ * y el modelo recibe su error y reintenta, que es el camino que este harness ya tiene.
24
+ *
25
+ * **Puro a propósito**: no sabe de ficheros ni de backends, solo de claves y de promesas. Así
26
+ * se prueba sin disco (`npm test` no toca la casa de nadie) y el mismo mecanismo sirve el día
27
+ * que haya otro recurso que no admita dos a la vez.
28
+ */
29
+ /**
30
+ * Crea un serializador con su propia cola.
31
+ *
32
+ * Tres decisiones que no son de forma:
33
+ *
34
+ * - **Un fallo NO envenena la cola.** La siguiente se encadena al resultado *saldado* de la
35
+ * anterior, no a su promesa cruda: si la primera rechaza, la segunda corre igual. Lo
36
+ * contrario convertiría un error de una escritura en el bloqueo de todas las siguientes
37
+ * sobre ese fichero, que es un fallo mucho peor que el que esto viene a arreglar.
38
+ * - **La entrada se RETIRA cuando se vacía**, comparando que la cola siga siendo la suya.
39
+ * Sin eso el mapa crece con una entrada por fichero tocado y no se vacía nunca, en un
40
+ * proceso que vive lo que dure la consola.
41
+ * - **Devuelve lo que devuelva la tarea, y relanza lo que lance.** Esto es un turno de espera,
42
+ * no un envoltorio que decide: si además cambiara el resultado, cada sitio que lo use
43
+ * habría que volver a medirlo.
44
+ */
45
+ export function crearSerieDeEscrituras() {
46
+ const colas = new Map();
47
+ return (clave, tarea) => {
48
+ const anterior = colas.get(clave) ?? Promise.resolve();
49
+ // `.then(() => …, () => …)` y no `.finally`: hay que SALDAR el rechazo de la anterior para
50
+ // que no se propague a ésta. Con `.catch` encadenado el valor sería el del catch.
51
+ const mia = anterior.then(() => tarea(), () => tarea());
52
+ // Lo que se guarda como «la cola» es la versión SALDADA: si `mia` rechaza y nadie más la
53
+ // observa, un rechazo sin manejar tumbaría el proceso en Node.
54
+ const saldada = mia.then(() => undefined, () => undefined);
55
+ colas.set(clave, saldada);
56
+ void saldada.then(() => {
57
+ if (colas.get(clave) === saldada)
58
+ colas.delete(clave);
59
+ });
60
+ return mia;
61
+ };
62
+ }
63
+ //# sourceMappingURL=serieDeEscrituras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serieDeEscrituras.js","sourceRoot":"","sources":["../../src/core/serieDeEscrituras.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAElD,OAAO,CAAI,KAAa,EAAE,KAAuB,EAAc,EAAE;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACvD,2FAA2F;QAC3F,kFAAkF;QAClF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CACvB,GAAG,EAAE,CAAC,KAAK,EAAE,EACb,GAAG,EAAE,CAAC,KAAK,EAAE,CACd,CAAC;QACF,yFAAyF;QACzF,+DAA+D;QAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Qué se deja traer de la máquina al área de trabajo, y con qué nombre.
3
+ *
4
+ * La regla, pura. La copia vive en `agent/grafo/traerDeLaMaquina.ts`; el porqué del reparto,
5
+ * ahí también.
6
+ */
7
+ import { basename, isAbsolute } from "node:path";
8
+ import { RUTA_ARTEFACTOS } from "./artefactos.js";
9
+ /**
10
+ * Cuánto se deja traer de una vez.
11
+ *
12
+ * El área de trabajo no es un almacén: lo que cae ahí se anuncia, se puede volver a leer y
13
+ * viaja con la sesión. Un tope es lo que impide que un `.mov` de 800 MB se copie tan callado
14
+ * como un `.png`. 64 MB deja pasar de sobra lo que esto resuelve —una maqueta, un zip de
15
+ * diseño, una captura— y corta lo que ya no es eso.
16
+ */
17
+ export const TOPE_DE_TRAIDA = 64 * 1024 * 1024;
18
+ /**
19
+ * Lo que NO se trae, y son las dos del propio harness.
20
+ *
21
+ * No discute el «cualquier fichero mío» de quien lo pidió: lo que queda fuera no son ficheros
22
+ * suyos, son los de xonecode, por la misma razón por la que «la shell NO hereda las claves de
23
+ * API» (`core/shellDeAgente.ts`). `auth.json` guarda las claves en claro, y cualquier
24
+ * `.xonecode/` lleva la conversación entera y el contenido de cada escritura — copiarlo al
25
+ * área de trabajo lo metería además en el contexto del modelo y en el `.jsonl`.
26
+ *
27
+ * Se mira por SEGMENTO y no con un `includes`, para que un `notas-sobre-.xonecode.md` no caiga
28
+ * por llevar el nombre dentro.
29
+ */
30
+ function esDelHarness(ruta) {
31
+ const segmentos = ruta.split("/");
32
+ return segmentos.includes(".xonecode") || segmentos[segmentos.length - 1] === "auth.json";
33
+ }
34
+ /**
35
+ * Por qué no se puede traer eso, o `undefined` si sí.
36
+ *
37
+ * **Lista BLANCA de forma**: tiene que ser una ruta absoluta de verdad. Una relativa no se
38
+ * resuelve contra nada fiable —el `cwd` de este proceso no es el proyecto— y aceptar `..`
39
+ * sería dejar que el destino lo eligiera quien escribe la ruta.
40
+ */
41
+ export function motivoDeTraidaInaceptable(ruta) {
42
+ if (!isAbsolute(ruta)) {
43
+ return `«${ruta}» no es una ruta absoluta. Escríbela entera, tal y como te la dieron.`;
44
+ }
45
+ if (ruta.split("/").includes("..")) {
46
+ return `«${ruta}» lleva «..». Escribe la ruta ya resuelta.`;
47
+ }
48
+ if (esDelHarness(ruta)) {
49
+ return (`«${ruta}» es del propio xonecode —sus credenciales o su memoria de sesión— y eso no se ` +
50
+ "trae al área de trabajo: acabaría en el contexto y en el registro de la conversación.");
51
+ }
52
+ return undefined;
53
+ }
54
+ /**
55
+ * Con qué nombre queda dentro del área de trabajo.
56
+ *
57
+ * El último segmento y nada más. **Es lo que impide que el destino salga de la carpeta**: sin
58
+ * esto, un `/a/b/../../fuera.txt` escribiría fuera. Y de paso es lo que una persona reconoce
59
+ * en la lista de artefactos, que para eso está.
60
+ */
61
+ export function nombreParaTraer(ruta) {
62
+ return basename(ruta);
63
+ }
64
+ const PREFIJOS_DE_MAQUINA = ["/Users/", "/home/", "/tmp/", "/private/", "/Volumes/", "/opt/", "/etc/", "/var/"];
65
+ /**
66
+ * ¿Es esto una ruta de la MÁQUINA que alguien ha escrito como si fuera del proyecto?
67
+ *
68
+ * Solo se usa para poder CONTESTAR bien, nunca para abrir nada: quien abre es el montaje.
69
+ */
70
+ export function esRutaDeMaquina(ruta) {
71
+ return PREFIJOS_DE_MAQUINA.some((p) => ruta.startsWith(p));
72
+ }
73
+ /** La misma ruta, ya en la forma que el agente puede abrir. */
74
+ export function porQueNoSuelta(ruta) {
75
+ return (`«${ruta}» es una ruta de la MÁQUINA, no del proyecto: tal cual se busca dentro del ` +
76
+ "proyecto y no está ahí. Para usarla, TRÁETELA primero con la tool `traer_de_la_maquina` " +
77
+ `(ruta: "${ruta}"), que la copia a ${RUTA_ARTEFACTOS} y te dice con qué nombre queda. ` +
78
+ "Luego ábrela por esa ruta. No hace falta delegar en nadie para esto.");
79
+ }
80
+ //# sourceMappingURL=traerDeLaMaquina.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traerDeLaMaquina.js","sourceRoot":"","sources":["../../src/core/traerDeLaMaquina.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,IAAI,uEAAuE,CAAC;IACzF,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,IAAI,4CAA4C,CAAC;IAC9D,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,IAAI,IAAI,iFAAiF;YACzF,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEhH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAE/D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,CACL,IAAI,IAAI,6EAA6E;QACrF,0FAA0F;QAC1F,WAAW,IAAI,sBAAsB,eAAe,mCAAmC;QACvF,sEAAsE,CACvE,CAAC;AACJ,CAAC"}