feat(agents): add centralized GPT apply_patch permission guard
Extract hardcoded GPT apply_patch permission logic into a reusable module
to ensure consistent behavior across all agents. This prevents GPT models
from using the unreliable apply_patch tool while allowing other models.
- Add gpt-apply-patch-guard.ts with GPT_APPLY_PATCH_GUIDANCE and getGptApplyPatchPermission
- Update Hephaestus agent to use centralized permission logic
- Update Sisyphus-Junior agent to use centralized permission logic
- Update all GPT prompt builders to reference shared guidance constant
🤖 Generated with assistance of OhMyOpenCode
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
||||
} from "./sisyphus/gemini";
|
||||
import { buildGpt54SisyphusPrompt } from "./sisyphus/gpt-5-4";
|
||||
import { buildTaskManagementSection } from "./sisyphus/default";
|
||||
import { getGptApplyPatchPermission } from "./gpt-apply-patch-guard";
|
||||
|
||||
const MODE: AgentMode = "primary";
|
||||
export const SISYPHUS_PROMPT_METADATA: AgentPromptMetadata = {
|
||||
@@ -499,7 +500,7 @@ export function createSisyphusAgent(
|
||||
permission: {
|
||||
question: "allow",
|
||||
call_omo_agent: "deny",
|
||||
apply_patch: "deny",
|
||||
...getGptApplyPatchPermission(model),
|
||||
} as AgentConfig["permission"],
|
||||
reasoningEffort: "medium",
|
||||
};
|
||||
@@ -539,7 +540,7 @@ export function createSisyphusAgent(
|
||||
const permission = {
|
||||
question: "allow",
|
||||
call_omo_agent: "deny",
|
||||
...(isGptModel(model) ? { apply_patch: "deny" as const } : {}),
|
||||
...getGptApplyPatchPermission(model),
|
||||
} as AgentConfig["permission"];
|
||||
const base = {
|
||||
description:
|
||||
|
||||
Reference in New Issue
Block a user