feat(inference): capture reasoning_content on responses (WIP, provider side)
Adds a nullable `reasoning` field to InferenceResponse and maps the llama.cpp / OpenAI-compat `reasoning_content` field into it, so local models that emit their chain-of-thought have it captured. Provider/model side only — the emit-site event field (reasoningArtifactId) + CAS storage in the orchestrator are still pending (tracked in Vikunja Correx #4).
This commit is contained in:
@@ -11,4 +11,8 @@ data class InferenceResponse(
|
||||
val tokensUsed: TokenUsage,
|
||||
val latencyMs: Long,
|
||||
val toolCalls: List<ToolCallRequest> = emptyList(),
|
||||
// The model's chain-of-thought, when the provider exposes it separately (llama.cpp / OpenAI-compat
|
||||
// `reasoning_content`). Captured for observability/audit — many local models emit their whole plan
|
||||
// here and leave `text` empty, so dropping it hid why a stage behaved as it did (2026-07-05).
|
||||
val reasoning: String? = null,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user