Tool types
Tool-related models:ToolSpec: name + optional description + JSON schema parametersToolCall: tool call request (id, name, arguments dict)
Prompt types
Prompt-related models:PromptPayload: prompttextormessages, plus optionalprompt_id,prompt_version,prompt_hash
LLM types
LLM-related models:LLMConfig: model + tools + generation settingsLLMRequest: prompt + configLLMResponse: text + tool calls + raw + usageLLMStreamChunk: streaming delta type
Provider protocols
Protocols (interfaces):LLMProvider:complete(request) -> LLMResponseStreamingLLMProvider: addsstream(request) -> Iterator[LLMStreamChunk]