fix: mount the agent preset when /new creates an agent - #2
Merged
Merged
Conversation
ctx.agents.create recorded agentPreset in the session meta but never passed a setup hook, so the preset was never composed: agents published against the empty global layer (no tools, prompt sections, or skill catalog - the harness logs a warning per agent). The model then fakes tool calls as literal <|tool-calls|> text and never receives results. Mirror the Web host's composeAgent: resolve the configured preset (or the deployment default) up front and call agentPresets.mount() from the factory setup hook. Preset resolution errors now surface to the WeChat peer as a creation failure instead of a silent tool-less agent. Two regression tests cover the setup hook and the no-roster fallback.
Merged
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
ctx.agents.create recorded agentPreset in the session meta but never passed a setup hook, so the preset was never composed: agents published against the empty global layer (no tools, prompt sections, or skill catalog - the harness logs a warning per agent). The model then fakes tool calls as literal <|tool-calls|> text and never receives results.
Mirror the Web host's composeAgent: resolve the configured preset (or the deployment default) up front and call agentPresets.mount() from the factory setup hook. Preset resolution errors now surface to the WeChat peer as a creation failure instead of a silent tool-less agent.
Two regression tests cover the setup hook and the no-roster fallback.