@@ -0,0 +1,47 @@
|
||||
import { z } from "zod";
|
||||
|
||||
export const workerNames = [
|
||||
"fast-lo",
|
||||
"fast-hi",
|
||||
"good-lo",
|
||||
"good-hi",
|
||||
"deep-lo",
|
||||
"deep-hi",
|
||||
] as const;
|
||||
|
||||
const assignment = z.strictObject({
|
||||
model: z.string().trim().min(1),
|
||||
effort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]),
|
||||
});
|
||||
|
||||
const common = {
|
||||
provider: z.string().trim().min(1).default("openai"),
|
||||
lunaPriority: z.boolean().default(true),
|
||||
};
|
||||
|
||||
export const settings = z.discriminatedUnion("mode", [
|
||||
z.strictObject({ ...common, mode: z.literal("gpt") }),
|
||||
z.strictObject({
|
||||
...common,
|
||||
mode: z.literal("custom"),
|
||||
agents: z.strictObject({
|
||||
"fast-lo": assignment,
|
||||
"fast-hi": assignment,
|
||||
"good-lo": assignment,
|
||||
"good-hi": assignment,
|
||||
"deep-lo": assignment,
|
||||
"deep-hi": assignment,
|
||||
coordinate: assignment,
|
||||
}),
|
||||
}),
|
||||
]);
|
||||
|
||||
export const gptAgents = {
|
||||
"fast-lo": { model: "gpt-5.6-luna", effort: "low" },
|
||||
"fast-hi": { model: "gpt-5.6-luna", effort: "high" },
|
||||
"good-lo": { model: "gpt-5.6-sol", effort: "low" },
|
||||
"good-hi": { model: "gpt-5.6-sol", effort: "high" },
|
||||
"deep-lo": { model: "gpt-6-astra", effort: "low" },
|
||||
"deep-hi": { model: "gpt-6-astra", effort: "high" },
|
||||
coordinate: { model: "gpt-6-astra", effort: "medium" },
|
||||
} satisfies Record<(typeof workerNames)[number] | "coordinate", z.infer<typeof assignment>>;
|
||||
Reference in New Issue
Block a user