- Renamed ToolCallSyntax type to Dialect and Grammar interface to DialectDefinition across all packages. - Moved grammar directory to dialect and updated all import paths in agent, ai, catalog, and coding-agent packages. - Added renderTranscript and renderThinking methods to DialectDefinition, enabling native dialect-aware conversation serialization. - Consolidated rendering utilities into new dialect/rendering.ts with shared helpers for ChatML, legacy text, and dialect-specific formatting. - Updated conversation serialization in agent and coding-agent to use dialect.renderTranscript() for native turn envelope rendering.
20 lines
1003 B
TypeScript
20 lines
1003 B
TypeScript
import { describe, expect, it } from "bun:test";
|
|
import { FALLBACK_DIALECT, preferredDialect } from "@oh-my-pi/pi-catalog/identity";
|
|
|
|
describe("preferredDialect", () => {
|
|
it("maps model IDs to dialects correctly", () => {
|
|
expect(preferredDialect("claude-3-5-sonnet-20241022")).toBe("anthropic");
|
|
expect(preferredDialect("glm-4-flash")).toBe("glm");
|
|
expect(preferredDialect("moonshotai/kimi-k2")).toBe("kimi");
|
|
expect(preferredDialect("deepseek-chat")).toBe("deepseek");
|
|
expect(preferredDialect("qwen-coder-32b-instruct")).toBe("qwen3");
|
|
expect(preferredDialect("gpt-4o-mini")).toBe("harmony");
|
|
expect(preferredDialect("gpt-oss-120b")).toBe("harmony");
|
|
expect(preferredDialect("gemini-1.5-pro")).toBe("gemini");
|
|
expect(preferredDialect("gemini-3.5-flash")).toBe("gemini");
|
|
expect(preferredDialect("gemma-3-27b-it")).toBe("gemma");
|
|
expect(preferredDialect("google/gemma-4-E2B-it")).toBe("gemma");
|
|
expect(preferredDialect("unclassified-model-id")).toBe(FALLBACK_DIALECT);
|
|
});
|
|
});
|