(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)
26 lines
863 B
JSON
26 lines
863 B
JSON
{
|
|
"name": "codex-monorepo",
|
|
"private": true,
|
|
"description": "Tools for repo-wide maintenance.",
|
|
"scripts": {
|
|
"format": "prettier --check *.json *.md docs/*.md .github/workflows/*.yml **/*.js",
|
|
"format:fix": "prettier --write *.json *.md docs/*.md .github/workflows/*.yml **/*.js",
|
|
"write-hooks-schema": "cargo run --manifest-path ./codex-rs/Cargo.toml -p codex-hooks --bin write_hooks_schema_fixtures"
|
|
},
|
|
"devDependencies": {
|
|
"prettier": "^3.5.3"
|
|
},
|
|
"resolutions": {
|
|
"braces": "^3.0.3",
|
|
"micromatch": "^4.0.8",
|
|
"semver": "^7.7.1"
|
|
},
|
|
"overrides": {
|
|
"punycode": "^2.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=22",
|
|
"pnpm": ">=10.29.3"
|
|
},
|
|
"packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc"
|
|
}
|