feat: add opt-in observability for pre-tool evaluations#20
Merged
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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.
What changed
This PR bumps the plugin to
agent-controlTypeScript SDK2.2.0and adds opt-in observability to the OpenClaw plugin.When
observabilityEnabledis set totrue, the plugin now reconstructsControlExecutionEventpayloads from eachbefore_tool_callevaluation and sends them to Agent Control's observability API. The implementation:agents.init()so emitted events include representative evaluator and selector identityWhy it changed
The Python SDK already emits observability events around SDK-owned evaluation flows, but the OpenClaw plugin had no equivalent path. This meant tool policy decisions could be enforced but not observed in Agent Control's observability system.
The current OpenClaw plugin SDK typings only expose a pre-tool hook, so this PR intentionally implements
pre-stage event emission only.User and developer impact
openclaw config set plugins.entries.agent-control-openclaw-plugin.config.observabilityEnabled trueValidation
Ran locally:
npm run lintnpm run typechecknpm testnpm run coverage