30 Commits

Author SHA1 Message Date
7665af0268 feat(bot): quiet finance topics and support purchase payers 2026-03-22 20:27:43 +04:00
afbda43c0e fix(bot): localize topic processor responses and allow optional payment amounts 2026-03-15 02:27:44 +04:00
8de8419028 feat(bot): enhance topic processor logging for diagnosis
Added comprehensive logging to topic-processor.ts to capture API errors, parsing failures, and silent decisions. Also added result logging to purchase and payment ingestion handlers to trace the processor's output.
2026-03-14 14:54:49 +04:00
b44b3bde93 fix(bot): silence topic processor failure messages unless explicitly mentioned
Previously, the bot would reply with a 'Zzz...' message to every message in a topic if the topic processor failed or was missing. This change ensures the bot remains silent unless it is explicitly mentioned by the user.
2026-03-14 14:33:29 +04:00
f38ee499ae feat(bot): unified topic processor replacing router+interpreter stack
Replace 3-layer architecture (gpt-5-nano router + gpt-4o-mini interpreter) with
single unified topic processor (gpt-4o-mini) for simplified message handling.

New components:
- HouseholdContextCache: TTL-based caching (5 min) for household config data
- TopicProcessor: Unified classification + parsing with structured JSON output

Key changes:
- Renamed ASSISTANT_ROUTER_MODEL → TOPIC_PROCESSOR_MODEL
- Added TOPIC_PROCESSOR_TIMEOUT_MS (default 10s)
- Refactored save() → saveWithInterpretation() for pre-parsed interpretations
- Removed deprecated createOpenAiTopicMessageRouter and ~300 lines legacy code
- Fixed typing indicator to only start when needed (purchase routes)
- Fixed amount formatting: convert minor units to major for rawText

Routes: silent, chat_reply, purchase, purchase_clarification, payment,
payment_clarification, topic_helper, dismiss_workflow

All 212 bot tests pass. Typecheck, lint, format, build clean.
2026-03-14 13:33:57 +04:00
f1670c521f Refine topic workflow followups 2026-03-13 02:21:08 +04:00
88b50d2cb7 Refine topic assistant conversation context 2026-03-12 22:00:31 +04:00
b7fa489d24 Fix topic message history persistence 2026-03-12 19:21:37 +04:00
23faeef738 feat(bot): add topic history-aware assistant replies 2026-03-12 19:06:51 +04:00
5ebae7714c fix(bot): improve purchase-topic conversation flow 2026-03-12 18:23:26 +04:00
8374d18189 feat(bot): add shared topic router 2026-03-12 17:12:26 +04:00
014d791bdc fix(bot): improve calculated purchase confirmation flow 2026-03-12 15:35:02 +04:00
ca61085179 Fix purchase topic engagement gating 2026-03-12 14:44:55 +04:00
4e7400e908 feat(bot): add configurable household assistant behavior 2026-03-12 03:22:43 +04:00
8401688032 feat(purchase): add per-purchase participant splits 2026-03-11 14:34:27 +04:00
fce2d30beb feat(bot): support tagged assistant replies in topics 2026-03-11 12:15:56 +04:00
dd243d7edd feat(bot): route purchase dms through confirmation flow 2026-03-11 06:19:14 +04:00
ac5f11f8da fix(bot): harden webhook processing and purchase defaults 2026-03-11 03:25:16 +04:00
dc09a07e21 feat(bot): show processing replies during llm work 2026-03-11 03:10:23 +04:00
a63c702037 feat(bot): add confirmed purchase proposals in topic ingestion 2026-03-11 01:32:47 +04:00
fb85219409 feat(finance): add settlement currency and cycle fx rates 2026-03-10 16:46:59 +04:00
2d8e0491cc feat(bot): persist locale preferences across mini app and replies 2026-03-09 13:17:46 +04:00
bebff07ee8 feat(bot): localize household flows and finance replies 2026-03-09 07:34:59 +04:00
29f6d788e7 refactor(time): migrate runtime time handling to Temporal 2026-03-09 07:18:09 +04:00
7c602900ee feat(bot): cut over multi-household member flows 2026-03-09 06:14:57 +04:00
e63d81cda2 feat(bot): add multi-household setup flow 2026-03-09 03:40:20 +04:00
8645a0a096 feat(observability): add structured pino logging 2026-03-09 01:03:08 +04:00
3152858aac feat(test): add local billing smoke test 2026-03-08 20:14:36 +04:00
ebb6ce4ce6 feat(WHE-23): add hybrid purchase parser with persisted parse metadata 2026-03-05 04:43:57 +04:00
67e9e2dee2 feat(WHE-22): ingest configured topic messages with idempotent persistence 2026-03-05 04:32:58 +04:00