Build the current workspace snapshot on native CI runners
This branch snapshots the in-progress desktop workspace so GitHub-hosted Windows and Linux runners can package the same source tree that already passes local verification on macOS. Constraint: Local Apple Silicon Docker/Wine packaging crashes before Windows artifacts are produced Rejected: Publish from the incomplete base repo state | remote typecheck failed because current source additions were missing Confidence: medium Scope-risk: broad Directive: Treat this branch as a build snapshot only; do not merge it without reviewing the unrelated workspace changes it contains Tested: local typecheck, lint, workspace typecheck, unit tests, integration tests, e2e smoke, macOS signed release upload Not-tested: Native Windows/Linux artifacts before this CI run
This commit is contained in:
1 parent
0e497cd892
commit
b772e1c758
271 files changed
+35047
-22879
No files matched your search
@@ -0,0 +1,55 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
mergeConnectorModelEntries,
|
||||
resolveSelectedConnectorModel,
|
||||
} from "@shared/connector-models";
|
||||
|
||||
describe("connector model helpers", () => {
|
||||
it("merges enabled and disabled models into one toggle list", () => {
|
||||
const entries = mergeConnectorModelEntries(
|
||||
[
|
||||
{ id: "gpt-5.4", label: "GPT-5.4" },
|
||||
{ id: "gpt-5.4-mini", label: "GPT-5.4 Mini" },
|
||||
],
|
||||
[{ id: "o4-mini", label: "o4-mini" }],
|
||||
);
|
||||
|
||||
expect(entries).toEqual([
|
||||
{ id: "gpt-5.4", label: "GPT-5.4", enabled: true },
|
||||
{ id: "gpt-5.4-mini", label: "GPT-5.4 Mini", enabled: true },
|
||||
{ id: "o4-mini", label: "o4-mini", enabled: false },
|
||||
]);
|
||||
});
|
||||
|
||||
it("keeps the current selection only if it remains enabled", () => {
|
||||
const entries = mergeConnectorModelEntries(
|
||||
[{ id: "gpt-5.4", label: "GPT-5.4" }],
|
||||
[{ id: "gpt-5.4-mini", label: "GPT-5.4 Mini" }],
|
||||
);
|
||||
|
||||
expect(resolveSelectedConnectorModel(entries, "gpt-5.4")).toBe("gpt-5.4");
|
||||
expect(resolveSelectedConnectorModel(entries, "gpt-5.4-mini")).toBe("gpt-5.4");
|
||||
expect(resolveSelectedConnectorModel(entries, "")).toBe("gpt-5.4");
|
||||
});
|
||||
|
||||
it("dedupes duplicate ids and keeps enabled entries ahead of disabled ones", () => {
|
||||
const entries = mergeConnectorModelEntries(
|
||||
[{ id: "gpt-5.4", label: "GPT-5.4" }],
|
||||
[
|
||||
{ id: "gpt-5.4", label: "GPT-5.4" },
|
||||
{ id: "gpt-4.1", label: "GPT-4.1" },
|
||||
],
|
||||
);
|
||||
|
||||
expect(entries).toEqual([
|
||||
{ id: "gpt-5.4", label: "GPT-5.4", enabled: true },
|
||||
{ id: "gpt-4.1", label: "GPT-4.1", enabled: false },
|
||||
]);
|
||||
});
|
||||
|
||||
it("returns an empty selection when all entries are disabled", () => {
|
||||
const entries = mergeConnectorModelEntries([], [{ id: "gpt-5.4", label: "GPT-5.4" }]);
|
||||
|
||||
expect(resolveSelectedConnectorModel(entries, "gpt-5.4")).toBe("");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user