Skip to main content

hackagent.router.types

SDK-specific types for HackAgent router.

These types are used internally by the SDK and are not part of the API models. The API uses plain strings for agent_type, but the SDK provides enums for type safety.

AgentTypeEnum Objects

class AgentTypeEnum(str, Enum)

Enumeration of supported agent types in the HackAgent SDK.

These values correspond to the string values used in the API's agent_type field.

Recommended choice for chat-completion targets: - LITELLM is the general-purpose path. It speaks OpenAI, Anthropic, Google Gemini, AWS Bedrock, Azure, Cohere, Mistral, Groq, OpenRouter, Together, vLLM, LM Studio, Hugging Face Inference, NVIDIA NIM, and ~140 other providers out of the box. Pass the model with a provider prefix in adapter_operational_config["name"] — e.g. "anthropic/claude-3-5-sonnet-20241022", "gemini/gemini-2.0-flash", "bedrock/anthropic.claude-3-sonnet-20240229-v1:0", "groq/llama-3.1-70b-versatile".

Convenience aliases (same behaviour as LITELLM with the right provider prefix; kept for ergonomics and back-compat): - OPENAI_SDK: OpenAI-compatible endpoint (the official API or a local server exposing /v1/chat/completions). - OLLAMA: targets ollama_chat/<model> via LiteLLM (default endpoint http://localhost:11434). - LANGCHAIN: LangServe endpoints (treated as OpenAI-compat).

Custom protocols (gap-fillers that LiteLLM doesn't speak natively): - GOOGLE_ADK: deployed Google ADK agent server (POST /run with session + event protocol). Implemented as a per-instance litellm.CustomLLM provider. - MCP: Model Context Protocol endpoint (placeholder). - A2A: Agent-to-Agent protocol endpoint (placeholder).

  • UNKNOWN: fallback used when the agent type can't be inferred.

See hackagent/examples/litellm_multi_provider/ for a working demo that runs the same attack against several providers by only changing the model string.

_missing_

@classmethod
def _missing_(cls, value: object) -> "AgentTypeEnum"

Allow case-insensitive lookup and common shorthand aliases.

For example AgentTypeEnum("openai") resolves to AgentTypeEnum.OPENAI_SDK.