-
673c15dae3
fix: los lotes para abrir ciclo salian en orden alfabetico
main

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-11 21:09:51 -05:00
-
d6bedfba54
chore: el seed crea las columnas del perfil por numero

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-11 20:27:09 -05:00
-
724179a3c6
feat: perfil por numero — trabajador vinculado y modulos permitidos

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-11 20:21:32 -05:00
-
94d4dcd26a
refactor: el alcance de fincas lo resuelve el ERP, no el bot

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:59:35 -05:00
-
478ba3ea73
feat: cada numero ve solo las fincas que el ERP le asigno

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:53:34 -05:00
-
eb0ae1f208
feat: los informes mandan el numero de quien pregunta

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:39:05 -05:00
-
6a6f2ef44a
fix: decir una categoria a secas devolvia el menu principal

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:20:25 -05:00
-
2d92867431
feat: los motivos de ausentismo mas usados aparecen primero

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:12:49 -05:00
-
6ff2914162
fix: el saludo de cat 1 nombra los tres flujos que puede usar

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:05:41 -05:00
-
18c759e80d
fix: dejar en el menu de envio solo los tres flujos de Fase 1

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:05:05 -05:00
-
25a6ce7b1e
fix: subir_ciclo_cosecha no respondia nada; marcar los que seran formulario

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 23:01:26 -05:00
-
d4325ce037
docs: dejar en FLOWS-META.txt solo los dos JSON

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 09:13:39 -05:00
-
8b9029a017
docs: verificar los Flows contra la documentacion de Meta

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 08:47:50 -05:00
-
598c3b4fda
docs: especificacion de los dos Flows de WhatsApp para el admin de Meta

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 08:45:44 -05:00
-
e5326bda8c
feat: carga de ciclos — apertura y cierre de lotes con seleccion multiple

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-05 07:56:04 -05:00
-
576ea7de40
fix: 7 de las 17 novedades de ausentismo eran inalcanzables

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-04 22:16:17 -05:00
-
f06a400d16
fix: pluviometria se quedaba muda tras elegir la fecha

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-04 20:38:40 -05:00
-
c0fb2dc089
fix: rechazar rangos de fecha invertidos en ausentismo

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-04 20:33:00 -05:00
-
76ee42b96e
feat: flujo de registro de pluviometria (Fase 1, carga de datos)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-04 20:22:03 -05:00
-
0e72aa3d5a
feat: flujo de registro de ausentismo (Fase 1, carga de datos)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-04 19:37:16 -05:00
-
0bb1d3447e
feat: bienvenida diaria; fix: el NLU filtraba JSON crudo al usuario

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 11:06:35 -05:00
-
8825f4e821
fix: el selector de empresas se comia los comandos de navegacion

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 11:01:30 -05:00
-
a64421c527
feat: finca visible en cada menu, entities por campo y aviso de comandos

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 10:55:55 -05:00
-
693623e10c
fix: el seed ya no borra la configuracion de IA del admin

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 10:46:07 -05:00
-
c8909e75db
fix(nlu): no adivinar cual informe de mantenimiento quiere el usuario

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 10:44:17 -05:00
-
ce5d4ef2b2
fix: el NLU nunca atendia texto libre tras un informe; api_base_url apunta al ERP

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 10:39:10 -05:00
-
1b797df2f0
fix: PhoneSync usa company_endpoints en vez de api_base_url

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 10:36:32 -05:00
-
0e89258f67
feat: navegacion por niveles, intencion pendiente y NLU que aterriza en el informe

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 09:59:30 -05:00
-
671fccd6b2
fix: mantenimiento PDF vacio — conservar grupo_mant y detectar placeholders

Lizandro GuarnizoandClaude Sonnet 4.6
2026-08-01 09:42:39 -05:00
-
09db466fa6
fix: navegación — atras/cancelar/regresar + NLU desde menús activos

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 23:50:09 -05:00
-
79d2399ddf
fix: agregar comando 'salir' y limpiar __api_vars en reset de comandos

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 23:47:12 -05:00
-
fe048f53a3
refactor: simplificar Por Categoría — sin toggle, greeting_flow directo

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 23:19:50 -05:00
-
909c6be32f
feat: expandir tab Por Categoría en bot-config

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 23:14:49 -05:00
-
0ddab6adcf
feat: NLU routing + fix greeting para cat2/cat3 + nlu_descriptions

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 23:03:25 -05:00
-
7fc36f1ebf
fix: renombrar Rincofurus → Palmarum en menú sanidad vegetal

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 22:28:29 -05:00
-
e223438f36
fix: timezone America/Bogota en punto de entrada del bot

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 22:24:10 -05:00
-
93a33de819
fix: restaurar finca_id en mantenimiento; filtro correcto por finca

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 22:02:25 -05:00
-
fbd48b2781
fix: mantenimiento no filtra por finca (grupos son de toda la empresa)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 21:58:05 -05:00
-
855fe25159
feat: mantenimiento top muestra texto; quita opción histórico 30d

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 21:24:47 -05:00
-
fd907c8cc0
fix: __valid_ids usa strval para evitar mismatch int vs string

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 21:03:05 -05:00
-
620ae3a1b3
fix: dynamic_list next_node busca en menus si no está en flows

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 20:55:40 -05:00
-
db46ced033
feat: PDF producción cambia caption y filename a 'año'

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 20:45:37 -05:00
-
b0462a7675
fix: seed no sobreescribe api_key en companies existentes

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 20:38:12 -05:00
-
591b29b966
feat: menú producción cambia 'Total del mes' a 'Totales facturados'

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 20:17:58 -05:00
-
5dda66d27f
fix: ciclo_*_todos usa date_mode=today en vez de current_month

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 20:07:16 -05:00
-
fc23448509
chore: limpiar seed — eliminar clave y endpoints huérfanos

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 18:09:29 -05:00
-
f23283124a
fix: preservar finca_id al resetear contexto tras generar reporte

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 17:58:10 -05:00
-
5b0bd3b8b8
fix: al seleccionar id=0 en lista se activaba reset del multi-company

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-30 16:43:07 -05:00
-
c5955160bb
feat(bot): mantenimiento con selección dinámica de grupo

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 20:22:32 -05:00
-
bc4b589d93
fix(bot): reordenar sanidad vegetal y renombrar Palmarum→Rincofurus

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:57:18 -05:00
-
7120bd9675
feat(bot): sub-menú de 3 opciones por cada ciclo

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:55:47 -05:00
-
6572b9fcf6
feat(menus): reorganizar ciclos con sub-menú de sanidad

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:45:04 -05:00
-
2d98a9e7e0
fix(bot): enviar texto via WhatsAppSender antes de retornar PDF encadenado

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:36:09 -05:00
-
bd8544fce4
fix(seed): corregir flows y URLs de endpoints

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:23:00 -05:00
-
2329df6ac9
feat(seed): agregar endpoint numeros_dn para sincronización de teléfonos WhatsApp

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:09:56 -05:00
-
eb296ee078
fix(migrate): agregar columnas params y body_fields en company_endpoints

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 16:05:10 -05:00
-
26b11d99e2
fix(migrate): agregar columna name en company_endpoints

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 15:58:30 -05:00
-
0c82348641
fix(migrate): agregar tabla sessions faltante para DbSessionHandler

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 15:35:54 -05:00
-
f378d02768
feat(setup): seed completo de companies, endpoints y menus restaurados

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-29 15:14:04 -05:00
-
4b710ef33b
test: script de validación endpoints ROSABLANCA

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-28 22:21:27 -05:00
-
fe4e638667
feat(sync): cron de sincronización automática de números WhatsApp desde PALMAS360

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-28 22:10:04 -05:00
-
e3d9aac26d
feat(bot): add last_7 date_mode y next_endpoint_key para texto+PDF en cadena

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-28 21:59:16 -05:00
-
0df08bf953
feat: append_options en dynamic_list con redirect a otro flow

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-28 20:29:51 -05:00
-
91dd84cc8d
feat: auto-select finca cuando la lista tiene un solo ítem

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-28 20:12:35 -05:00
-
060041c855
fix: apply-menus hace merge en vez de reemplazar config completo

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-14 15:36:20 -05:00
-
976f61b682
fix: match fuzzy de label en dynamic_list y collecting mid-flow

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 22:03:57 -05:00
-
3d04be14bc
feat: auto-selección en dynamic_list cuando NLU extrae el grupo/filtro

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 21:57:22 -05:00
-
54a93adea9
feat: one-shot audio entity extraction y pre-fill de formularios

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 21:48:48 -05:00
-
d0c1b1d3be
feat: mid-flow audio — transcribed text goes to NormalBot, not NLU

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 21:38:25 -05:00
-
1114c52df4
fix: wrap collected values in __ep_vars_combined for URL substitution

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 21:30:50 -05:00
-
eed8116c66
feat: support nlu_skip flag to exclude intermediate flows from NLU catalog

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 21:13:34 -05:00
-
09342fa786
feat: pass collected values to fetchDynamicList for dependent selects

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:57:18 -05:00
-
2bdbde50f5
fix: add response_format=json to self-hosted Whisper request

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:39:13 -05:00
-
79eda71c5a
fix: whisper_url takes priority over ai_provider for audio transcription

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:19:28 -05:00
-
816c6d27c8
feat: show whisper-own in ai-logs filter and badge

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:16:18 -05:00
-
fc54ec992b
feat: self-hosted Whisper server support

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:07:49 -05:00
-
9509c3b4fc
feat: add skip_if support to collect_and_post flow fields

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 20:07:44 -05:00
-
497743ceb1
feat: NLU fallback — route unrecognized text to AI in hybrid+NLU mode

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 09:09:49 -05:00
-
54d778783e
fix: use Layout::open/close in aiLogs() — page() does not exist

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 09:06:50 -05:00
-
9852a749e6
fix: remove broken duplicate query in aiLogs()

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 09:05:05 -05:00
-
5506ebd2af
feat: AI usage logging (AiLogger, ai_logs table, admin view)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 09:03:21 -05:00
-
1d9484a1e0
Fix NLU flow: media_id, upload perm, catalog filter, nlu_description field

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 08:51:13 -05:00
-
bb4b5dab10
Fix AI tab save: dedicated AJAX endpoint /save-ai

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-05 08:28:41 -05:00
-
5afa846b4e
Add per-tab save buttons in bot-config page

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 22:16:04 -05:00
-
eb436638fb
fix: AI tab settings not saving — read from DOM in bot-config save JS

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 22:04:52 -05:00
-
9e36a965c9
feat: NLU routing + audio/image transcription via AI

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 21:50:01 -05:00
-
2b859e3dc0
feat: multi-provider AI with per-company override and Claude support

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 19:06:51 -05:00
-
b82fcf6aaa
feat: add Gemini 2.5 Flash as default model option

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 18:52:08 -05:00
-
5883801989
fix: prepend api_base_url to relative endpoint URLs in NormalBot

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 16:25:10 -05:00
-
f06be3584f
feat: two-message post-selection flow in multi-company pre-menu

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 16:18:41 -05:00
-
8f43ccf4c2
feat: pre-menú de selección de empresa para números multi-empresa

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 16:07:52 -05:00
-
b349230362
chore: script de migración para quitar base URL de endpoints

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 15:35:58 -05:00
-
43933bfe3a
feat: endpoints usan api_base_url como base, rutas relativas en UI

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 15:19:46 -05:00
-
bfbc70451d
feat: clonar endpoints desde otra empresa en pestaña Endpoints API

Lizandro GuarnizoandClaude Sonnet 4.6
2026-07-04 13:50:39 -05:00
-
34322ae3dc
Change "Reporte enviado" to "Reporte generado"

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 20:10:09 -05:00
-
97a48d0fe4
Validate dynamic_list input and fix cosecha button IDs

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 20:07:52 -05:00
-
0ce766a9eb
feat: kilos por lotes con selección de período (mes actual/anterior/personalizado)

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:35:12 -05:00
-
601169525e
fix: dedicated save button for categories + preserve all extra DB keys

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:16:36 -05:00
-
ae5b7266d4
fix: per_type is DB-only, main form save never touches it

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:11:54 -05:00
-
3c79fac8d7
fix: preserve per_type from DB on main form save

Lizandro GuarnizoandClaude Sonnet 4.6
2026-06-30 19:09:43 -05:00