test(live): add codex instructions to spark probe
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
|||||||
} from "./live-auth-keys.js";
|
} from "./live-auth-keys.js";
|
||||||
import { isModernModelRef } from "./live-model-filter.js";
|
import { isModernModelRef } from "./live-model-filter.js";
|
||||||
import { getApiKeyForModel, requireApiKey } from "./model-auth.js";
|
import { getApiKeyForModel, requireApiKey } from "./model-auth.js";
|
||||||
|
import { shouldSuppressBuiltInModel } from "./model-suppression.js";
|
||||||
import { ensureOpenClawModelsJson } from "./models-config.js";
|
import { ensureOpenClawModelsJson } from "./models-config.js";
|
||||||
import { isRateLimitErrorMessage } from "./pi-embedded-helpers/errors.js";
|
import { isRateLimitErrorMessage } from "./pi-embedded-helpers/errors.js";
|
||||||
import { discoverAuthStorage, discoverModels } from "./pi-model-discovery.js";
|
import { discoverAuthStorage, discoverModels } from "./pi-model-discovery.js";
|
||||||
@@ -202,6 +203,31 @@ function resolveTestReasoning(
|
|||||||
return "low";
|
return "low";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function resolveLiveSystemPrompt(model: Model<Api>): string | undefined {
|
||||||
|
if (model.provider === "openai-codex") {
|
||||||
|
return "You are a concise assistant. Follow the user's instruction exactly.";
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
describe("resolveLiveSystemPrompt", () => {
|
||||||
|
it("adds instructions for openai-codex probes", () => {
|
||||||
|
expect(
|
||||||
|
resolveLiveSystemPrompt({
|
||||||
|
provider: "openai-codex",
|
||||||
|
} as Model<Api>),
|
||||||
|
).toContain("Follow the user's instruction exactly.");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("keeps other providers unchanged", () => {
|
||||||
|
expect(
|
||||||
|
resolveLiveSystemPrompt({
|
||||||
|
provider: "openai",
|
||||||
|
} as Model<Api>),
|
||||||
|
).toBeUndefined();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
async function completeSimpleWithTimeout<TApi extends Api>(
|
async function completeSimpleWithTimeout<TApi extends Api>(
|
||||||
model: Model<TApi>,
|
model: Model<TApi>,
|
||||||
context: Parameters<typeof completeSimple<TApi>>[1],
|
context: Parameters<typeof completeSimple<TApi>>[1],
|
||||||
@@ -246,6 +272,7 @@ async function completeOkWithRetry(params: {
|
|||||||
const res = await completeSimpleWithTimeout(
|
const res = await completeSimpleWithTimeout(
|
||||||
params.model,
|
params.model,
|
||||||
{
|
{
|
||||||
|
systemPrompt: resolveLiveSystemPrompt(params.model),
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
role: "user",
|
role: "user",
|
||||||
@@ -317,6 +344,9 @@ describeLive("live models (profile keys)", () => {
|
|||||||
}> = [];
|
}> = [];
|
||||||
|
|
||||||
for (const model of models) {
|
for (const model of models) {
|
||||||
|
if (shouldSuppressBuiltInModel({ provider: model.provider, id: model.id })) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (providers && !providers.has(model.provider)) {
|
if (providers && !providers.has(model.provider)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user