feat(agents): add gpt-5.5 native sisyphus support
Route GPT-5.5 through the existing GPT-5.4-native Sisyphus and Hephaestus prompt family while keeping one shared model-family helper. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -23,6 +23,23 @@ describe("getHephaestusPromptSource", () => {
|
||||
expect(source3).toBe("gpt-5-4");
|
||||
});
|
||||
|
||||
test("returns 'gpt-5-4' for gpt-5.5 models", () => {
|
||||
// given
|
||||
const model1 = "openai/gpt-5.5";
|
||||
const model2 = "openai/gpt-5-5";
|
||||
const model3 = "github-copilot/gpt-5.5";
|
||||
|
||||
// when
|
||||
const source1 = getHephaestusPromptSource(model1);
|
||||
const source2 = getHephaestusPromptSource(model2);
|
||||
const source3 = getHephaestusPromptSource(model3);
|
||||
|
||||
// then
|
||||
expect(source1).toBe("gpt-5-4");
|
||||
expect(source2).toBe("gpt-5-4");
|
||||
expect(source3).toBe("gpt-5-4");
|
||||
});
|
||||
|
||||
test("returns 'gpt-5-3-codex' for GPT 5.3 Codex models", () => {
|
||||
// given
|
||||
const model1 = "openai/gpt-5.3-codex";
|
||||
@@ -96,6 +113,19 @@ describe("getHephaestusPrompt", () => {
|
||||
expect(prompt).toContain("<tool_usage_rules>");
|
||||
});
|
||||
|
||||
test("GPT 5.5 model returns GPT-5.4 optimized prompt", () => {
|
||||
// given
|
||||
const model = "openai/gpt-5.5";
|
||||
|
||||
// when
|
||||
const prompt = getHephaestusPrompt(model);
|
||||
|
||||
// then
|
||||
expect(prompt).toContain("You build context by examining");
|
||||
expect(prompt).toContain("Never chain together bash commands");
|
||||
expect(prompt).toContain("<tool_usage_rules>");
|
||||
});
|
||||
|
||||
test("GPT 5.3-codex model returns GPT-5.3 prompt", () => {
|
||||
// given
|
||||
const model = "openai/gpt-5.3-codex";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { AgentConfig } from "@opencode-ai/sdk";
|
||||
import type { AgentMode, AgentPromptMetadata } from "../types";
|
||||
import { isGpt5_4Model, isGpt5_3CodexModel } from "../types";
|
||||
import { isGpt5_3CodexModel, isGptNativeSisyphusModel } from "../types";
|
||||
import type {
|
||||
AvailableAgent,
|
||||
AvailableTool,
|
||||
@@ -21,7 +21,7 @@ export type HephaestusPromptSource = "gpt-5-4" | "gpt-5-3-codex" | "gpt";
|
||||
export function getHephaestusPromptSource(
|
||||
model?: string,
|
||||
): HephaestusPromptSource {
|
||||
if (model && isGpt5_4Model(model)) {
|
||||
if (model && isGptNativeSisyphusModel(model)) {
|
||||
return "gpt-5-4";
|
||||
}
|
||||
if (model && isGpt5_3CodexModel(model)) {
|
||||
|
||||
Reference in New Issue
Block a user