ThinkingCapability

Marker interface for thinking capabilities.

This is a tag interface that indicates a prompt runner implementation supports thinking extraction and processing. Similar to StreamingCapability, it enables polymorphic capability detection without defining specific methods.

Implementations that extend this interface can extract thinking blocks (like <think>...</think>) from LLM responses and provide thinking-aware operations that return ThinkingResponse objects.

Note: Thinking and streaming capabilities are mutually exclusive. StreamingPromptRunner implementations should not extend this interface.

See also

Inheritors