mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 13:00:44 +00:00
fix(ollama): preserve streaming usage compat
This commit is contained in:
@@ -261,15 +261,17 @@ describe("ollama provider models", () => {
|
||||
expect(visionModel.input).toEqual(["text", "image"]);
|
||||
expect(visionModel.reasoning).toBe(true);
|
||||
expect(visionModel.compat?.supportsTools).toBe(true);
|
||||
expect(visionModel.compat?.supportsUsageInStreaming).toBe(true);
|
||||
|
||||
const textModel = buildOllamaModelDefinition("glm-5.1:cloud", 202752, ["completion", "tools"]);
|
||||
expect(textModel.input).toEqual(["text"]);
|
||||
expect(textModel.reasoning).toBe(false);
|
||||
expect(textModel.compat?.supportsTools).toBe(true);
|
||||
expect(textModel.compat?.supportsUsageInStreaming).toBe(true);
|
||||
|
||||
const noCapabilities = buildOllamaModelDefinition("unknown-model", 65536);
|
||||
expect(noCapabilities.input).toEqual(["text"]);
|
||||
expect(noCapabilities.compat).toBeUndefined();
|
||||
expect(noCapabilities.compat?.supportsUsageInStreaming).toBe(true);
|
||||
});
|
||||
|
||||
it("disables tool support when Ollama capabilities omit tools", () => {
|
||||
@@ -277,6 +279,7 @@ describe("ollama provider models", () => {
|
||||
|
||||
expect(model.reasoning).toBe(false);
|
||||
expect(model.compat?.supportsTools).toBe(false);
|
||||
expect(model.compat?.supportsUsageInStreaming).toBe(true);
|
||||
});
|
||||
|
||||
it("parses the last positive Modelfile num_ctx value", () => {
|
||||
|
||||
@@ -249,9 +249,10 @@ export function buildOllamaModelDefinition(
|
||||
: capabilities.includes("thinking");
|
||||
const compat =
|
||||
capabilities === undefined
|
||||
? undefined
|
||||
? { supportsUsageInStreaming: true }
|
||||
: {
|
||||
supportsTools: capabilities.includes("tools"),
|
||||
supportsUsageInStreaming: true,
|
||||
};
|
||||
return {
|
||||
id: modelId,
|
||||
@@ -261,7 +262,7 @@ export function buildOllamaModelDefinition(
|
||||
cost: OLLAMA_DEFAULT_COST,
|
||||
contextWindow: contextWindow ?? OLLAMA_DEFAULT_CONTEXT_WINDOW,
|
||||
maxTokens: OLLAMA_DEFAULT_MAX_TOKENS,
|
||||
...(compat ? { compat } : {}),
|
||||
compat,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user