Adds a codex-json watcher kind that parses codex exec --json JSONL terminal events (turn.completed / turn.failed / error) instead of matching the human-facing tokens used line.
Why: a retrieved document or the model's final answer can contain the text marker, producing a false DONE even with tail-only matching. Structured events are authoritative.
The legacy codex kind is unchanged and still works for older Codex versions. Thanks to @ooocooc for the suggestion.