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:
Jay1
2026-04-23 20:49:11 -04:00
parent 7641fc52a1
commit f6b2ce7b6b
7 changed files with 114 additions and 10 deletions
+22 -1
View File
@@ -43,7 +43,7 @@ describe("no-sisyphus-gpt hook", () => {
expect(showToast.mock.calls[0]?.[0]).toMatchObject({
body: {
title: "NEVER Use Sisyphus with GPT",
message: expect.stringContaining("For GPT models (other than 5.4), always use Hephaestus."),
message: expect.stringContaining("For other GPT models, always use Hephaestus."),
variant: "error",
},
})
@@ -70,6 +70,27 @@ describe("no-sisyphus-gpt hook", () => {
expect(output.message.agent).toBeUndefined()
})
test("does not show toast for gpt-5.5 model (native Sisyphus support)", async () => {
// given - sisyphus with gpt-5.5 model (should be allowed)
const showToast = spyOn({ fn: async () => ({}) }, "fn")
const hook = createNoSisyphusGptHook({
client: { tui: { showToast } },
} as any)
const output = createOutput()
// when - chat.message runs with gpt-5.5
await hook["chat.message"]?.({
sessionID: "ses_gpt55",
agent: SISYPHUS_DISPLAY,
model: { providerID: "openai", modelID: "gpt-5.5" },
}, output)
// then - no toast, agent NOT switched to Hephaestus
expect(showToast).toHaveBeenCalledTimes(0)
expect(output.message.agent).toBeUndefined()
})
test("does not show toast for non-gpt model", async () => {
// given - sisyphus with claude model
const showToast = spyOn({ fn: async () => ({}) }, "fn")