fix: stop enforcing <final> for ollama (#16191) (thanks @Glucksberg)

This commit is contained in:
Peter Steinberger 2026-02-14 14:13:18 +01:00
parent 74193ff754
commit 7d3e5788e8
3 changed files with 3 additions and 2 deletions

View File

@ -8,6 +8,7 @@ Docs: https://docs.openclaw.ai
- Security/Hooks: restrict hook transform modules to `~/.openclaw/hooks/transforms` (prevents path traversal/escape module loads via config). Config note: `hooks.transformsDir` must now be within that directory. Thanks @akhmittra.
- Security/Hooks: ignore hook package manifest entries that point outside the package directory (prevents out-of-tree handler loads during hook discovery).
- Ollama/Agents: avoid forcing `<final>` tag enforcement for Ollama models, which could suppress all output as `(no output)`. (#16191) Thanks @Glucksberg.
## 2026.2.13

View File

@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest";
import { isReasoningTagProvider } from "./provider-utils.js";
describe("isReasoningTagProvider", () => {
it("returns false for ollama native reasoning field, no tags needed (#2279)", () => {
it("returns false for ollama - native reasoning field, no tags needed (#2279)", () => {
expect(isReasoningTagProvider("ollama")).toBe(false);
expect(isReasoningTagProvider("Ollama")).toBe(false);
});

View File

@ -14,7 +14,7 @@ export function isReasoningTagProvider(provider: string | undefined | null): boo
const normalized = provider.trim().toLowerCase();
// Check for exact matches or known prefixes/substrings for reasoning providers.
// Note: Ollama is intentionally excluded its OpenAI-compatible endpoint
// Note: Ollama is intentionally excluded - its OpenAI-compatible endpoint
// handles reasoning natively via the `reasoning` field in streaming chunks,
// so tag-based enforcement is unnecessary and causes all output to be
// discarded as "(no output)" (#2279).