-
Notifications
You must be signed in to change notification settings - Fork 7
feat: capability to override runner #134
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
Signed-off-by: Amitha Dissanayake <[email protected]>
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 introduces the capability for agent developers to integrate their own observability platforms by allowing custom runner overrides for different agentic frameworks.
Key Changes:
- Added optional
runnerparameter to all module constructors (OpenAIModule, LangGraphModule, CrewAIModule, GoogleADKModule) - Updated runner initialization logic to prioritize custom runners over default trace configurations
- Added comprehensive documentation and blog post content explaining how to implement custom tracing platforms
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
docs/docs/advanced/traceability.md |
Added new section documenting how to integrate custom observability platforms with examples |
docs/blog/2025-11-17-observability-support.md |
Updated blog post to reflect simplified custom runner initialization approach |
ak-py/src/agentkernel/openai/openai.py |
Added optional runner parameter to OpenAIModule constructor with priority logic |
ak-py/src/agentkernel/langgraph/langgraph.py |
Added optional runner parameter to LangGraphModule constructor with priority logic |
ak-py/src/agentkernel/crewai/crewai.py |
Added optional runner parameter to CrewAIModule constructor with priority logic |
ak-py/src/agentkernel/adk/adk.py |
Added optional runner parameter to GoogleADKModule constructor with priority logic |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
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
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Comments suppressed due to low confidence (4)
docs/docs/advanced/traceability.md:453
- Spelling error: "supercedes" should be "supersedes".
## Summary
docs/blog/2025-11-17-observability-support.md:395
- Spelling error: "supercedes" should be "supersedes".
docs/blog/2025-11-17-observability-support.md:392 - Remove spaces around the
=operator in keyword arguments. According to PEP 8, keyword arguments should not have spaces around the equals sign. Changerunner = MyCustomOpenAIRunner()torunner=MyCustomOpenAIRunner().
docs/docs/advanced/traceability.md:439 - The parameter order in the
runmethod call is incorrect. According to theOpenAIRunner.runsignature, the correct order is(agent, session, prompt), but this code shows(agent=agent, prompt=prompt, session=session)which haspromptbeforesession. Change to:result = await super().run(agent=agent, session=session, prompt=prompt)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
This feature allows agent developers to plug their own observability platform by overriding AK provided runner for the particualr agentic framework.
Type of Change
Related Issues
Fixes #
Relates to #
Changes Made
Added a new parameter to pass the runner to Module constructor
Testing
Checklist
Screenshots (if applicable)
Additional Notes