import { describe, expect, it } from "vitest"; import { expectProviderOnboardMergedLegacyConfig, expectProviderOnboardPrimaryModel, } from "../../test/helpers/plugins/provider-onboard.js"; import { SYNTHETIC_DEFAULT_MODEL_REF as SYNTHETIC_DEFAULT_MODEL_REF_PUBLIC } from "./api.js"; import { applySyntheticConfig, applySyntheticProviderConfig, SYNTHETIC_DEFAULT_MODEL_REF, } from "./onboard.js"; describe("synthetic onboard", () => { it("adds synthetic provider with correct settings", () => { const cfg = applySyntheticConfig({}); expect(cfg.models?.providers?.synthetic).toMatchObject({ baseUrl: "https://api.synthetic.new/anthropic", api: "anthropic-messages", }); expectProviderOnboardPrimaryModel({ applyConfig: applySyntheticConfig, modelRef: SYNTHETIC_DEFAULT_MODEL_REF_PUBLIC, }); }); it("keeps the public default model ref aligned", () => { expect(SYNTHETIC_DEFAULT_MODEL_REF).toBe(SYNTHETIC_DEFAULT_MODEL_REF_PUBLIC); expectProviderOnboardPrimaryModel({ applyConfig: applySyntheticConfig, modelRef: SYNTHETIC_DEFAULT_MODEL_REF, }); }); it("merges existing synthetic provider models", () => { const provider = expectProviderOnboardMergedLegacyConfig({ applyProviderConfig: applySyntheticProviderConfig, providerId: "synthetic", providerApi: "anthropic-messages", baseUrl: "https://api.synthetic.new/anthropic", legacyApi: "openai-completions", }); const ids = provider?.models.map((m) => m.id); expect(ids).toContain("old-model"); expect(ids).toContain(SYNTHETIC_DEFAULT_MODEL_REF.replace(/^synthetic\//, "")); }); });