-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat: wire chat lifecycle hooks into chatd #27429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+8,323
−259
Merged
Changes from all commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
609e842
feat: wire chat lifecycle hooks into chatd
ibetitsmike 4873805
fix(codersdk): skip chat hook timeout validation when no hook URL is set
ibetitsmike 7c287b0
refactor(coderd/x/chatd): use FinishError for idle hook dispatch fail…
ibetitsmike d67b92f
refactor(coderd/x/chatd): rewrite tool-call inputs through Tx.UpdateM…
ibetitsmike cbc1ef6
fix(coderd/x/chatd/chatprompt): keep tool results adjacent to their c…
ibetitsmike 1bda0b9
refactor(coderd/x/chatd): decode hook payloads directly in tests
ibetitsmike b552849
refactor: dispatch a fresh pre_tool_use hook for every tool call
ibetitsmike e623cbb
fix(coderd/x/chatd): fail the turn when subagent spawn hook dispatch …
ibetitsmike fe74536
refactor(coderd/x/chatd): route all lifecycle hook dispatch through o…
ibetitsmike 2ca1287
refactor(coderd/x/chatd): remove redundant hook comment
ibetitsmike 4417f45
style(coderd/x/chatd): trim redundant hook comments
ibetitsmike 1ae7ad4
style: remove redundant hook comments
ibetitsmike cd05821
refactor: adopt coderd/x/hooks import paths
ibetitsmike be688da
refactor(coderd): deduplicate chat hook error handling
ibetitsmike 10a7fec
style: use errors.AsType for hook error matching and rewrap comments
ibetitsmike 3193c91
fix(coderd/x/chatd): make hook tool denials self-explanatory to the m…
ibetitsmike 75ec5cb
refactor(coderd/x/chatd): extract hook integration into chathooks sub…
ibetitsmike 84addb9
refactor: adopt codersdk/x/agenthooks import paths
ibetitsmike fa905f0
chore: hide experimental chat lifecycle hook flags from server help
ibetitsmike 18dbe0d
fix(coderd/x/chatd): clarify that denied tool calls were blocked by e…
ibetitsmike 7aeed00
fix(coderd/x/chatd/chathooks): state that denied tool calls were neve…
ibetitsmike e818587
docs: align chat lifecycle hook docs with dispatch behavior
ibetitsmike 97c8667
fix: keep denied pre_tool_use hook context out of the client transcript
ibetitsmike f1398a3
refactor(coderd/x/chatd): reuse chatstate tool-result validation in t…
ibetitsmike 240c487
docs(docs/admin/setup): frame the chat lifecycle hooks page as a how-to
ibetitsmike 04df968
fix(coderd/x/chatd): keep exclusive-tool batches rejected when a hook…
ibetitsmike 60a2985
docs(docs/admin/setup): describe hook delivery as best-effort
ibetitsmike 4a85e8f
docs(coderd/x/chatd): describe hook delivery as best-effort
ibetitsmike a3a659a
fix(coderd/x/chatd): ignore blank stop-hook model context
ibetitsmike f02e3f0
docs(docs/admin/setup): document the configured hook audience
ibetitsmike c4d01ef
fix(coderd/x/chatd): commit tool results when a spawn hook dispatch f…
ibetitsmike 0b18505
docs(coderd/x/chatd): document that post_compact effects can resume g…
ibetitsmike 90397ca
fix(coderd/x/chatd): reject ambiguous built-in tool input
ibetitsmike dd22942
docs(docs/admin/setup): document built-in tool input validation
ibetitsmike bf3fb4d
fix(coderd/x/chatd): admit tool calls before the step is persisted
ibetitsmike 8c47067
style(coderd/x): simplify chat hook admission cleanup
ibetitsmike f5a680f
fix(coderd/x/chatd): reject invalid tool input JSON before hook dispatch
ibetitsmike 284daa3
fix(coderd/x/chatd): reject duplicate tool-use IDs before filtering t…
ibetitsmike e5ece2b
feat: classify chat lifecycle hook denials with a hook_denied kind
ibetitsmike ba0fd22
test(coderd/x/chatd): drop usage-limit cases from hook admission pref…
ibetitsmike File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.