Analyzer plugin protocol: name/stage/availability and an ``analyze`` entry point.
| 111 | |
| 112 | |
| 113 | class AnalyzerPlugin(Protocol): |
| 114 | """Analyzer plugin protocol: name/stage/availability and an ``analyze`` entry point.""" |
| 115 | |
| 116 | name: str |
| 117 | stage: str |
| 118 | requires_api_key: bool |
| 119 | |
| 120 | def analyze(self, state: SkillspectorState) -> list[Finding]: |
| 121 | """Analyze graph state and return findings.""" |
| 122 | |
| 123 | def is_available(self) -> bool: |
| 124 | """Return whether the analyzer can run in current environment.""" |
nothing calls this directly
no outgoing calls
no test coverage detected