Adapters — swarph_mesh.adapters¶
Per-provider implementations of LLMAdapter plus the registry surface (get_adapter, register_adapter).
Canonical adapter names (Tier 1 stability — reserved across major versions):
geminideepseekclaudeopenaigrok
The registry is intentionally global and singleton. Tests must wrap fixture-driven registrations in reset_registry() try/finally to avoid singleton pollution across test boundaries.
Provider adapters — registry + dispatch.
Phase 1 shipped Gemini (PLAN.md §3 ship-order #1). Phase 4 adds DeepSeek (#2); subsequent Phase 4 PRs add Claude (#3), OpenAI (#4), Grok (#5).
Adapters are singletons per provider — instantiated on first request, reused for the rest of the process. This matches the “adapter registry” shape from PLAN.md §4.
- swarph_mesh.adapters.get_adapter(provider, *, api_key=None)[source]¶
Return the adapter for
provider, instantiating on first request.v0.3.0 ships
"gemini"(Phase 1) and"deepseek"(Phase 4). Other providers raiseUnknownProvider; subsequent Phase 4 PRs add Claude / OpenAI / Grok.- Parameters:
- Return type:
- swarph_mesh.adapters.register_adapter(provider, adapter)[source]¶
Programmatic adapter registration. Test fixtures use this to inject mocks; production consumers normally don’t need it.
- Parameters:
provider (str)
adapter (LLMAdapter)
- Return type:
None