#pragma once #include "whetstone_rsa/probe.h" #include #include namespace whetstone::rsa { class ProbeRegistry { public: void register_probe(ProbePtr probe); [[nodiscard]] ProbePtr find(const std::string& probe_id) const; [[nodiscard]] std::vector applicable_probes(const GateDefinition& gate_definition, const GateEvidence& evidence) const; [[nodiscard]] std::vector ids() const; private: std::unordered_map probes_; }; } // namespace whetstone::rsa