core-agent-ide/codex-rs/hooks/BUILD.bazel
Andrei Eternal 244b2d53f4
start of hooks engine (#13276)
(Experimental)

This PR adds a first MVP for hooks, with SessionStart and Stop

The core design is:

- hooks live in a dedicated engine under codex-rs/hooks
- each hook type has its own event-specific file
- hook execution is synchronous and blocks normal turn progression while
running
- matching hooks run in parallel, then their results are aggregated into
a normalized HookRunSummary

On the AppServer side, hooks are exposed as operational metadata rather
than transcript-native items:

- new live notifications: hook/started, hook/completed
- persisted/replayed hook results live on Turn.hookRuns
- we intentionally did not add hook-specific ThreadItem variants

Hooks messages are not persisted, they remain ephemeral. The context
changes they add are (they get appended to the user's prompt)
2026-03-10 04:11:31 +00:00

11 lines
316 B
Text

load("//:defs.bzl", "codex_rust_crate")
SCHEMA_FIXTURES = glob(["schema/generated/*.json"], allow_empty = False)
codex_rust_crate(
name = "hooks",
crate_name = "codex_hooks",
compile_data = SCHEMA_FIXTURES,
integration_compile_data_extra = SCHEMA_FIXTURES,
test_data_extra = SCHEMA_FIXTURES,
)