Problem
Writing a custom bigfoot plugin requires importing from private modules:
from bigfoot._base_plugin import BasePlugin
from bigfoot._timeline import Interaction
from bigfoot._context import _GuardPassThrough, _get_verifier_or_raise
from bigfoot._registry import GUARD_ELIGIBLE_PREFIXES
Some related types are already public (StrictVerifier, UnmockedInteractionError, GuardedCallError are all importable from bigfoot directly), but the core plugin authoring types are not.
Requested public exports
Everything a plugin author needs should be importable from bigfoot (or bigfoot.plugins):
| Type |
Current path |
Used for |
BasePlugin |
bigfoot._base_plugin |
Subclassing to create plugins |
Interaction |
bigfoot._timeline |
Type hint for matches(), format_interaction(), etc. |
_GuardPassThrough |
bigfoot._context |
Catching guard passthrough in interceptors |
_get_verifier_or_raise |
bigfoot._context |
Getting active verifier in interceptors |
GUARD_ELIGIBLE_PREFIXES |
bigfoot._registry |
Registering custom source_id prefixes for guard mode |
Timeline |
bigfoot._timeline |
Creating bare verifiers in test fixtures |
Context
We built custom bigfoot plugins for claude-agent-sdk and openai-agents SDK. The plugins work great but rely on private imports that could break between releases.
A bigfoot.authoring or simply exporting from bigfoot would make plugin development a first-class use case.
Problem
Writing a custom bigfoot plugin requires importing from private modules:
Some related types are already public (
StrictVerifier,UnmockedInteractionError,GuardedCallErrorare all importable frombigfootdirectly), but the core plugin authoring types are not.Requested public exports
Everything a plugin author needs should be importable from
bigfoot(orbigfoot.plugins):BasePluginbigfoot._base_pluginInteractionbigfoot._timelinematches(),format_interaction(), etc._GuardPassThroughbigfoot._context_get_verifier_or_raisebigfoot._contextGUARD_ELIGIBLE_PREFIXESbigfoot._registryTimelinebigfoot._timelineContext
We built custom bigfoot plugins for claude-agent-sdk and openai-agents SDK. The plugins work great but rely on private imports that could break between releases.
A
bigfoot.authoringor simply exporting frombigfootwould make plugin development a first-class use case.