- Cat 2 y cat 3: greeting '' (no null) para que greeting_flow: ask_finca
se dispare en el primer mensaje y el usuario seleccione su finca
- nlu_enabled: true en config root activa el routing inteligente
- NormalBot: step 6 llama AiBot::routeOrChat() antes del fallback_flow;
si retorna 'route' ejecuta el flow; si 'chat' responde en texto libre
- reset_finca: nuevo flow+función que limpia el meta de finca y relanza
ask_finca; el NLU puede enrutar "quiero cambiar de finca" aquí
- nlu_description en todos los flows consultables por el NLU; nlu_skip
en menus de navegación interna para no exponerlos al modelo
- AiBot::buildFlowCatalog: agrega upload_ciclo a isUpload para que cat 2
no vea flujos de subida en el catálogo del NLU
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
api_key contiene el token ERP de PALMAS360 configurado manualmente.
Se retira del ON DUPLICATE KEY UPDATE para que cada seed run no lo pise.
Solo aplica al INSERT inicial de una empresa nueva.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
La fecha que pasan estos nodos al endpoint es un punto de corte (hoy),
no un rango mensual. current_month enviaba fecha_desde=primer-día-mes
que el controller pasaba al modelo como referencia de días.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Eliminada entrada duplicada 'ciclo_mantenimiento' tipo menu (reemplazada
por el dynamic_list de abajo en el mismo array)
- Eliminado endpoint 'mantenimiento_top_texto_bot_dn' (nunca referenciado
por ningún nodo de flujo)
- Eliminado endpoint duplicado 'mantenimiento_todos_dn' (URL idéntica a
mantenimiento_todos_bot_dn, sin usos)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ciclo_mantenimiento → dynamic_list top 3 grupos más usados + "Otro grupo"
- "Otro grupo" → lista grupos 4-13 (append_options redirect)
- Tras seleccionar grupo → menú 3 botones: más largos, todos, histórico 30d
- Endpoints con {grupo_id} dinámico en URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Cada ciclo (cosecha, polinización, plagas, censo, palmarum,
tratamientos, mantenimiento) ahora presenta un menú de botones con:
1. Más largos — texto top 10 con fecha actual
2. Todos los lotes — PDF filtrado por finca
3. Histórico 30d — PDF matriz (excepto mantenimiento)
Se agregan endpoints *_todos_dn apuntando a ciclos_*_dn (PDF).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ask_finca como dynamic_list con meta_group=finca
- ciclos usan api_report con next_endpoint_key para texto+PDF
- produccion_total encadena texto → PDF
- ausentismos usan date_mode en vez de funcion inexistente
- URLs de endpoints sin {fecha_desde}/{fecha_hasta} (date_mode los agrega)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>