1. Fix channelId priority: use ctx.channelId > conv.chat_id > conv.channel_id 2. Add sessionAllowed state: track if session was allowed (true) or forced no-reply (false) 3. Add sessionInjected Set: implement one-time prependContext injection 4. Add before_message_write hook: detect NO_REPLY and handle turn advancement - forced no-reply: don't advance turn - allowed + NO_REPLY: advance turn + handoff - dormant state: don't trigger handoff 5. message_sent: continues to handle real messages with end symbols
39 KiB
39 KiB