-
Notifications
You must be signed in to change notification settings - Fork 352
do not modify the agent tools at runtime, as agent can be used concurrently. #1131
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
Conversation
dd6e475 to
409688b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR removes the SkillsPlugin class to prevent concurrent runtime modifications of agent tools. Instead of using a plugin-based approach that modifies agent tools during callbacks, skills are now added directly to agents at initialization time via the add_skills_tool_to_agent function.
Key changes:
- Removed the
SkillsPluginclass that usedbefore_agent_callbackto modify agent tools at runtime - Replaced plugin usage with direct tool addition via
maybe_add_skillshelper function - Updated dependency versions for
agentsts-adk,agentsts-core, andgoogle-adk
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| python/packages/kagent-adk/src/kagent/adk/skills/skills_plugin.py | Removed the SkillsPlugin class definition |
| python/packages/kagent-adk/src/kagent/adk/skills/init.py | Removed SkillsPlugin from module exports |
| python/packages/kagent-adk/src/kagent/adk/cli.py | Added maybe_add_skills helper and replaced plugin usage with direct tool addition |
| python/packages/kagent-adk/src/kagent/adk/_a2a.py | Removed plugins parameter usage in static command and added token propagation logic |
| python/packages/kagent-adk/pyproject.toml | Updated dependency versions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
3fa7bec to
0879612
Compare
f19dbe2 to
5e9ca9a
Compare
…rently. Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
another (?!) fix to openai converter Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
5e9ca9a to
2876112
Compare
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
3c36488 to
0ce22d6
Compare
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
use failfast in ci so there's less confusion when reading failures logs - only one failure will be presented Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
38c4c90 to
b940cb7
Compare
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
b940cb7 to
86019e6
Compare
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
364a543 to
850e634
Compare
…saving 90s of CI time Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
fb73571 to
353a077
Compare
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
main change is removal of skills plugin as it mutates the agent on every invocation. instead, use add_skills_tool_to_agent when initializing.
In similar fashion - same for STS - apply it on init and not as a plugin. for this to work needed to update ADK to use the new header_provider available in MCPToolSet.
also:
_a2a.pyto make it easier to maintain.main.goto mock llm server. this allows to test e2e scenarios with just an agent and mock llm (without kagent), making it easier to debug. See README.md in the e2e test folder