feat(claude-code-hooks): add PreCompact hook support #139
+166
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
experimental.session.compactingeventChanges
types.ts: AddedPreCompacthook event type,PreCompactInput,PreCompactOutputinterfacespre-compact.ts: New PreCompact hook executor implementationindex.ts: Addedexperimental.session.compactingevent handlerconfig.ts&config-loader.ts: Added PreCompact to hook config loadingUsage Example
{ "hooks": { "PreCompact": [ { "matcher": "*", "hooks": [ { "type": "command", "command": "~/.claude/hooks/pre-compact/inject-context.sh" } ] } ] } }Hook scripts can output
{ "context": ["additional context string"] }to inject context into the compaction prompt.🤖 Generated with assistance of OhMyOpenCode