"""Stub registrar for development without a real IdP.""" import logging from .base import AgentCredentials logger = logging.getLogger(__name__) class StubRegistrar: """AgentRegistrar stub — returns dev credentials without calling any IdP.""" async def register_agent( self, delegation_id: str, agent_type: str, delegator_id: str, display_name: str, expires_at: str, metadata: dict | None = None, ) -> AgentCredentials: logger.info("Stub registrar: register %s for delegation %s", agent_type, delegation_id) return AgentCredentials( client_id=f"stub-agent-{agent_type}-{delegation_id}", client_secret=f"stub-secret-{delegation_id}", agent_display_name=display_name, idp_backend="stub", ) async def delete_agent(self, client_id: str) -> bool: logger.info("Stub registrar: delete %s", client_id) return True async def get_agent_token(self, client_id: str) -> str | None: return f"stub-token-{client_id}"