Ver qué está pasando
Hooks opcionales para saber cuándo EDcheck llama a la IA, qué contestó, o si falló.
EDcheck no escribe en la consola. Si quieres logs o traces, tú los pegas con hooks.
Hay tres: onRequest, onResponse y onError. Cada uno corre una vez por petición al provider. Si un parse no necesita IA (porque Zod ya rechazó todo), no corre ninguno.
Ejemplo simple
const edcheck = createEDcheck({ provider, hooks: { onRequest: (event) => { console.log("preguntando", event.ruleIds); }, onResponse: (event) => { console.log("listo", event.outcomes, event.durationMs); }, onError: (event) => { console.log("falló", event.kind); }, },});Qué trae cada evento
| Campo | Significado |
|---|---|
parseId | Un id por cada safeParse. |
requestId | Un id por cada llamada al provider. |
requestIndex / requestCount | Esta es la petición 1 de N de ese parse. |
provider | El nombre (typesafe, gateway, mock). |
entry | object o node, según cómo validaste. |
ruleIds | Qué reglas iban en esta petición. |
durationMs | Cuánto tardó (en la respuesta o el error). |
outcomes | pasa / aviso / falla por regla, antes de armar issues. |
kind | En onError: provider, abort o unexpected. |
Dos cuidados
- Si tu hook lanza un error, EDcheck lo traga y no te avisa. Prueba tus hooks.
- El evento trae el
requestcompleto, incluidostate. Si exportas esto a un logger, quita datos sensibles antes.
Si un parse abre varias peticiones, espera requestCount eventos finales (onResponse o onError) con el mismo parseId. Ahí sabes que ese parse terminó de hablar con la IA.