Merge ef3f4f8443e89dc92196815f7af1beea22e0d875 into 598f1826d8b2bc969aace2c6459824737667218c
This commit is contained in:
commit
ea74352a72
@ -168,13 +168,13 @@ describe("runCronIsolatedAgentTurn — cron model override (#21057)", () => {
|
||||
|
||||
it("returns error without persisting model when payload model is disallowed", async () => {
|
||||
resolveAllowedModelRefMock.mockReturnValueOnce({
|
||||
error: "Model not allowed: anthropic/claude-sonnet-4-6",
|
||||
error: "model not allowed: anthropic/claude-sonnet-4-6",
|
||||
});
|
||||
|
||||
const result = await runCronIsolatedAgentTurn(makeParams());
|
||||
|
||||
expect(result.status).toBe("error");
|
||||
expect(result.error).toContain("Model not allowed");
|
||||
expect(result.error).toContain("model not allowed");
|
||||
// Model should remain undefined — the early return happens before the
|
||||
// pre-run persist block, so neither the session entry nor the store
|
||||
// should be touched with a rejected model.
|
||||
|
||||
@ -207,30 +207,27 @@ describe("runCronIsolatedAgentTurn — skill filter", () => {
|
||||
expect(runParams.model).toBe("claude-sonnet-4-6");
|
||||
});
|
||||
|
||||
it("falls back to agent defaults when payload.model is not allowed", async () => {
|
||||
it("returns error when payload.model is not allowed", async () => {
|
||||
resolveAllowedModelRefMock.mockReturnValueOnce({
|
||||
error: "model not allowed: anthropic/claude-sonnet-4-6",
|
||||
});
|
||||
|
||||
await runSkillFilterCase({
|
||||
cfg: {
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "openai-codex/gpt-5.3-codex", fallbacks: defaultFallbacks },
|
||||
const result = await runCronIsolatedAgentTurn(
|
||||
makeSkillParams({
|
||||
cfg: {
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "openai-codex/gpt-5.3-codex", fallbacks: defaultFallbacks },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
job: makeSkillJob({
|
||||
payload: { kind: "agentTurn", message: "test", model: "anthropic/claude-sonnet-4-6" },
|
||||
job: makeSkillJob({
|
||||
payload: { kind: "agentTurn", message: "test", model: "anthropic/claude-sonnet-4-6" },
|
||||
}),
|
||||
}),
|
||||
});
|
||||
expect(logWarnMock).toHaveBeenCalledWith(
|
||||
"cron: payload.model 'anthropic/claude-sonnet-4-6' not allowed, falling back to agent defaults",
|
||||
);
|
||||
expectDefaultModelCall({
|
||||
primary: "openai-codex/gpt-5.3-codex",
|
||||
fallbacks: defaultFallbacks,
|
||||
});
|
||||
expect(result.status).toBe("error");
|
||||
expect(result.error).toContain("model not allowed");
|
||||
});
|
||||
|
||||
it("returns an error when payload.model is invalid", async () => {
|
||||
|
||||
@ -351,13 +351,7 @@ export async function runCronIsolatedAgentTurn(params: {
|
||||
defaultModel: resolvedDefault.model,
|
||||
});
|
||||
if ("error" in resolvedOverride) {
|
||||
if (resolvedOverride.error.startsWith("model not allowed:")) {
|
||||
logWarn(
|
||||
`cron: payload.model '${modelOverride}' not allowed, falling back to agent defaults`,
|
||||
);
|
||||
} else {
|
||||
return { status: "error", error: resolvedOverride.error };
|
||||
}
|
||||
return { status: "error", error: resolvedOverride.error };
|
||||
} else {
|
||||
provider = resolvedOverride.ref.provider;
|
||||
model = resolvedOverride.ref.model;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user