stefanfeng
140ac20281
fix(avatar): prevent stale deployment images
2026-09-09 10:47:18 +08:00
stefanfeng
b98a2b9507
fix(avatar): index knowledge documents asynchronously
2026-09-04 11:53:56 +08:00
stefanfeng
540edb58c4
fix(avatar): prevent BOXIM polling starvation
2026-09-01 14:03:35 +08:00
stefanfeng
016bc22c05
feat(avatar): add private vision chat support
2026-08-31 15:10:50 +08:00
stefanfeng
ea932f27fb
feat(avatar): rename Token display to points
2026-08-26 14:01:12 +08:00
stefanfeng
699bbbde57
feat(avatar): add user token accounting
2026-08-25 13:24:02 +08:00
stefanfeng
672019830d
fix(avatar): prevent takeover replies blocking across chats
2026-08-21 16:21:00 +08:00
stefanfeng
25fb8fbee5
feat(avatar): add BOXIM chat takeover
2026-08-19 17:56:57 +08:00
stefanfeng
c5bfa47a23
fix: await takeover polling jobs
2026-08-19 14:32:10 +08:00
stefanfeng
f13d488f82
feat: add takeover config API endpoint
...
PUT /api/avatar/{avatar_id}/authorizations/takeover to update authorization
takeover settings (enabled, mode, delay_seconds) with validation.
2026-08-07 17:15:12 +08:00
stefanfeng
8e365e63e1
feat: add scheduled message polling for avatar takeover
...
Add APScheduler BackgroundScheduler to on_startup that polls
takeover_service.poll_and_process_messages every 10 seconds. Added
redis and apscheduler dependencies. Added poll_and_process_messages,
fetch_unread_messages, and process_message methods to TakeoverService.
Scheduler initialization is graceful — Redis/Box IM failures do not
prevent app startup.
2026-08-07 17:01:04 +08:00
stefanfeng
2d9f26a6f0
feat: add avatar chat and knowledge workflow
2026-07-23 17:21:49 +08:00