mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 21:14:31 +00:00
* feat: Add Kilo Gateway provider Add support for Kilo Gateway as a model provider, similar to OpenRouter. Kilo Gateway provides a unified API that routes requests to many models behind a single endpoint and API key. Changes: - Add kilocode provider option to auth-choice and onboarding flows - Add KILOCODE_API_KEY environment variable support - Add kilocode/ model prefix handling in model-auth and extra-params - Add provider documentation in docs/providers/kilocode.md - Update model-providers.md with Kilo Gateway section - Add design doc for the integration * kilocode: add provider tests and normalize onboard auth-choice registration * kilocode: register in resolveImplicitProviders so models appear in provider filter * kilocode: update base URL from /api/openrouter/ to /api/gateway/ * docs: fix formatting in kilocode docs * fix: address PR review — remove kilocode from cacheRetention, fix stale model refs and CLI name in docs, fix TS2742 * docs: fix stale refs in design doc — Moltbot to OpenClaw, MoltbotConfig to OpenClawConfig, remove extra-params section, fix doc path * fix: use resolveAgentModelPrimaryValue for AgentModelConfig union type --------- Co-authored-by: Mark IJbema <mark@kilocode.ai>
22 lines
880 B
TypeScript
22 lines
880 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { isCacheTtlEligibleProvider } from "./cache-ttl.js";
|
|
|
|
describe("kilocode cache-ttl eligibility", () => {
|
|
it("is eligible when model starts with anthropic/", () => {
|
|
expect(isCacheTtlEligibleProvider("kilocode", "anthropic/claude-opus-4.6")).toBe(true);
|
|
});
|
|
|
|
it("is eligible with other anthropic models", () => {
|
|
expect(isCacheTtlEligibleProvider("kilocode", "anthropic/claude-sonnet-4")).toBe(true);
|
|
});
|
|
|
|
it("is not eligible for non-anthropic models on kilocode", () => {
|
|
expect(isCacheTtlEligibleProvider("kilocode", "openai/gpt-5")).toBe(false);
|
|
});
|
|
|
|
it("is case-insensitive for provider name", () => {
|
|
expect(isCacheTtlEligibleProvider("Kilocode", "anthropic/claude-opus-4.6")).toBe(true);
|
|
expect(isCacheTtlEligibleProvider("KILOCODE", "Anthropic/claude-opus-4.6")).toBe(true);
|
|
});
|
|
});
|