035e6ff8c2
Fixes race condition where chat.message runs after experimental.chat.messages.transform, preventing keyword-detected context from being injected. Moves detection logic inline into the transform hook for atomic detection and injection. Changes: - Add detectKeywordsWithType and extractPromptText utilities to injector - Detect keywords inline within messages transform hook - Create synthetic message with merged context before last user message - Add 4 comprehensive test cases for keyword detection scenarios 🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)