Commit graph

4011 commits

Author SHA1 Message Date
ec4fcc094a Fix: Use bot_id instead of user_id in suggestion Redis keys
All checks were successful
BotServer CI / build (push) Successful in 12m46s
- Changed all suggestion key formats from suggestions:user_id:session_id to suggestions:bot_id:session_id
- Fixes bug where suggestions were stored under wrong key, preventing frontend from retrieving them
- Affects: CLEAR SUGGESTIONS, ADD SUGGESTION, ADD SUGGESTION TEXT, ADD_SUGGESTION_TOOL
- Impact: Suggestions now correctly associated with bot, not user
2026-03-18 10:39:27 -03:00
346c83871a Fix Vault TLS certificate to include Subject Alternative Name for modern client compatibility
All checks were successful
BotServer CI / build (push) Successful in 10m53s
2026-03-18 09:30:27 -03:00
ed2a1d83f0 fix: include server epoch in start_bas_executed key to invalidate after restart
All checks were successful
BotServer CI / build (push) Successful in 17m16s
2026-03-17 15:45:02 -03:00
492530ee77 Fix panic: Cannot start a runtime from within a runtime in secrets module
Removed tokio::runtime::Handle::block_on() calls that were causing panics
when called from within async contexts. Now uses direct fallback to
environment variables instead.
2026-03-17 15:04:40 -03:00
282f3487c0 ci: deploy via SSH instead of lxc device mounts
All checks were successful
BotServer CI / build (push) Successful in 18m20s
2026-03-17 13:12:41 -03:00
af7441ebcb fix: generate mcp.json for tools without PARAM declarations
Some checks failed
BotServer CI / build (push) Failing after 3m45s
Tools using only USE KB or other keywords without PARAM were not
getting .mcp.json generated, causing USE TOOL to silently skip them.
2026-03-17 12:20:47 -03:00
7906a9bf32 security: add CoreDNS ACL hardening and fail2ban proxy jail
Some checks failed
BotServer CI / build (push) Failing after 4m55s
- dns_hardener.rs: apply ACL (anti-amplification) + errors plugin to Corefile via lxc
- fail2ban.rs: add apply_proxy() for caddy-http-flood jail in pragmatismo-proxy container
- security_fix.rs: integrate dns and fail2ban_proxy steps into run_security_fix/status
- mod.rs: export dns_hardener module
2026-03-17 11:18:19 -03:00
c340f95da1 security: bind MinIO and Valkey to 127.0.0.1 only
Some checks failed
BotServer CI / build (push) Failing after 6m44s
2026-03-17 01:32:21 -03:00
9fc38b80d3 Fix clippy type complexity warnings 2026-03-17 01:12:05 -03:00
ab1f2df476 Read Drive config from Vault at runtime with fallback defaults
Some checks failed
BotServer CI / build (push) Failing after 7m26s
2026-03-17 00:00:36 -03:00
b57c53e2ff Remove WORKFLOW_PLAN.md (moved to gb/prompts)
Some checks failed
BotServer CI / build (push) Failing after 7m22s
2026-03-16 23:40:56 -03:00
7849031ffe Move WORKFLOW_PLAN.md to src/basic/
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 23:38:35 -03:00
91a79bbe82 WORKFLOW_PLAN: add keyword compatibility matrix and compilation without Rhai
Some checks failed
BotServer CI / build (push) Failing after 7m47s
2026-03-16 23:24:34 -03:00
a24347b0f8 WORKFLOW_PLAN: add open source alternatives comparison (Restate, Rhythm, Temporal)
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 23:22:48 -03:00
38e21431ed Add WORKFLOW_PLAN.md: durable BASIC execution via step engine
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 23:20:01 -03:00
ec1e203859 HEAR: add configurable timeout (hear-timeout-secs, default 1h)
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 23:12:45 -03:00
dae78479d2 Fix HEAR: block thread on channel instead of throw+re-run from top
Some checks failed
BotServer CI / build (push) Failing after 6m54s
- Add hear_channels: HashMap<Uuid, SyncSender<String>> to AppState
- HEAR now blocks the spawn_blocking thread via sync_channel recv()
- deliver_hear_input() called at top of stream_response() to unblock
- Script continues from exact HEAR position, no side-effect re-execution
- All three HEAR variants (basic, AS TYPE, AS MENU) use same mechanism
2026-03-16 23:00:17 -03:00
35b793d29c Add interactive vault put - prompt for secrets instead of CLI args
All checks were successful
BotServer CI / build (push) Successful in 10m50s
2026-03-16 22:27:06 -03:00
c0b619b58f Fix: add FromRequestParts impl for security AuthenticatedUser extractor
All checks were successful
BotServer CI / build (push) Successful in 11m32s
2026-03-16 22:04:59 -03:00
49e9f419f3 Fix: export observability module from llm/mod.rs
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 22:00:55 -03:00
5ca5e98f8b Fix: add missing async_trait on AuthenticatedUser extractor, type annotation on analytics router, import ObservabilityManager
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-16 21:54:29 -03:00
7326413ea8 Add security audit script
Some checks failed
BotServer CI / build (push) Failing after 7m38s
2026-03-16 21:42:02 -03:00
16394aef01 Fix LXD IPv4: retry DHCP 30s, fallback to static IP for privileged containers
Some checks failed
BotServer CI / build (push) Failing after 6m46s
2026-03-16 21:34:59 -03:00
03fe5bc94d Fix LXD container install: PATH, socket proxy, DNS
Some checks failed
BotServer CI / build (push) Failing after 7m36s
2026-03-16 21:24:04 -03:00
6c139fdf63 fix: suggestion and talk keyword improvements
All checks were successful
BotServer CI / build (push) Successful in 13m59s
2026-03-16 13:29:14 -03:00
0db08fbf39 fix: fallback to get_or_create_user_session when session_id not found in start.bas 2026-03-16 13:25:45 -03:00
c87536d24a fix: reuse existing user/session in auth_handler via user_id param 2026-03-16 13:15:48 -03:00
f062cc4a3e Add THINK KB keyword for explicit knowledge base reasoning
- Implement think_kb.rs with structured search results
- Add keyword registration in mod.rs files
- Include confidence scoring and multi-KB support
2026-03-16 08:15:21 -03:00
7ef1efa047 feat: add setup-env command to generate .env from vault container 2026-03-15 21:15:48 -03:00
dfe5162f66 feat(install): add --container-only flag to install command
- Add --container-only flag to create container without completing full installation
- Exit immediately after container creation
- Useful for manual setup or debugging installation issues
2026-03-15 20:49:08 -03:00
d1cb6b758c Fix LXD container mode: PATH, socket proxy, exec
All checks were successful
BotServer CI / build (push) Successful in 10m54s
2026-03-15 20:00:06 -03:00
ba53a0c178 Fix LXD socket handling in container mode
All checks were successful
BotServer CI / build (push) Successful in 11m6s
2026-03-15 18:58:21 -03:00
bf5ee0bef2 Remove botui SVG dependency - use None for svg_content
All checks were successful
BotServer CI / build (push) Successful in 15m48s
2026-03-15 16:20:41 -03:00
749db895bb CI: copy botui instead of symlink
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-15 16:18:55 -03:00
321d744922 CI: fix botui symlink path
Some checks failed
BotServer CI / build (push) Failing after 17s
2026-03-15 16:16:38 -03:00
4f214f3d98 CI: add botui submodule for SVG assets
Some checks are pending
BotServer CI / build (push) Waiting to run
2026-03-15 16:16:18 -03:00
ef426b7a50 LXD proxy and container improvements
Some checks failed
BotServer CI / build (push) Failing after 7m5s
2026-03-15 15:50:02 -03:00
eb586cf4f9 refactor(secrets): add tenant/org hierarchy with fallback support 2026-03-15 11:38:50 -03:00
7fb73e683f feat: add campaigns, attendance SLA, and marketing modules 2026-03-14 16:35:42 -03:00
13892b3157 Fix tenant-org-bot relationship and CRM lead form 2026-03-12 18:19:18 -03:00
ad4aca21ff feat: implement WhatsApp bursting rate limit and consume activation tokens
All checks were successful
BotServer CI / build (push) Successful in 11m4s
2026-03-10 21:18:14 -03:00
e98de24fe6 chore: update submodules
All checks were successful
BotServer CI / build (push) Successful in 9m56s
2026-03-10 19:39:31 -03:00
1053c86a73 fix: whatsapp dynamic routing and openai tool call accumulation
All checks were successful
BotServer CI / build (push) Successful in 13m40s
2026-03-10 17:19:17 -03:00
786d404938 feat: handle 429 rate limit in OpenAI non-stream generate
All checks were successful
BotServer CI / build (push) Successful in 11m7s
2026-03-10 15:26:10 -03:00
f34d401c2e feat: handle 429 rate limit in OpenAI client
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-10 15:21:40 -03:00
260a13e77d refactor: apply various fixes across botserver
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-10 15:15:21 -03:00
82bfd0a443 Fix Bedrock config for OpenAI GPT-OSS models
All checks were successful
BotServer CI / build (push) Successful in 12m35s
2026-03-10 12:36:24 -03:00
c523cee177 Use Redis to track last sent time per WhatsApp recipient
All checks were successful
BotServer CI / build (push) Successful in 13m37s
- Store last_sent timestamp in Redis (whatsapp:last_sent:<phone>)
- Always wait 6 seconds between messages to same recipient
- Persists across restarts
2026-03-09 21:00:45 -03:00
4bda4ba897 Fix WhatsApp streaming: add response content to buffer
All checks were successful
BotServer CI / build (push) Successful in 8m50s
2026-03-09 20:23:38 -03:00
9f35863bff Simplify hallucination detector: only stop if 50+ repetitions
All checks were successful
BotServer CI / build (push) Successful in 9m8s
- Simple: count pattern repetitions, stop at 50
- Async API with Redis-backed counting
- 60-second window for cleanup
2026-03-09 20:02:29 -03:00