Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Java/Openclaw/src/agents/pi-embedded-helpers/   (KI Agentensystem Version 22©)  Datei vom 26.3.2026 mit Größe 2 kB image not shown  

Quelle  thinking.test.ts

  Sprache: JAVA
 

import { describe, expect, it } from "vitest";
import { pickFallbackThinkingLevel } from "./thinking.js";

describe("pickFallbackThinkingLevel", () => {
  it("returns undefined for empty message", () => {
    expect(pickFallbackThinkingLevel({ message: "", attempted: new Set() })).toBeUndefined();
  });

  it("returns undefined for undefined message", () => {
    expect(pickFallbackThinkingLevel({ message: undefined, attempted: new Set() })).toBeUndefined();
  });

  it("extracts supported values from error message", () => {
    const result = pickFallbackThinkingLevel({
      message: 'Supported values are: "high", "medium"',
      attempted: new Set(),
    });
    expect(result).toBe("high");
  });

  it("skips already attempted values", () => {
    const result = pickFallbackThinkingLevel({
      message: 'Supported values are: "high", "medium"',
      attempted: new Set(["high"]),
    });
    expect(result).toBe("medium");
  });

  it('falls back to "off" when error says "not supported" without listing values', () => {
    const result = pickFallbackThinkingLevel({
      message: '400 think value "low" is not supported for this model',
      attempted: new Set(),
    });
    expect(result).toBe("off");
  });

  it('falls back to "minimal" when the endpoint requires reasoning', () => {
    const result = pickFallbackThinkingLevel({
      message: "400 Reasoning is mandatory for this endpoint and cannot be disabled.",
      attempted: new Set(["off"]),
    });
    expect(result).toBe("minimal");
  });

  it('returns undefined for reasoning-required errors after "minimal" was attempted', () => {
    const result = pickFallbackThinkingLevel({
      message: "400 Reasoning is mandatory for this endpoint and cannot be disabled.",
      attempted: new Set(["off""minimal"]),
    });
    expect(result).toBeUndefined();
  });

  it('falls back to "off" for generic not-supported messages', () => {
    const result = pickFallbackThinkingLevel({
      message: "thinking level not supported by this provider",
      attempted: new Set(),
    });
    expect(result).toBe("off");
  });

  it('returns undefined if "off" was already attempted', () => {
    const result = pickFallbackThinkingLevel({
      message: '400 think value "low" is not supported for this model',
      attempted: new Set(["off"]),
    });
    expect(result).toBeUndefined();
  });

  it("returns undefined for unrelated error messages", () => {
    const result = pickFallbackThinkingLevel({
      message: "rate limit exceeded, please retry after 30 seconds",
      attempted: new Set(),
    });
    expect(result).toBeUndefined();
  });
});

Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-05-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.