|
|
|
|
|
|
|
|
|
|
|
package misc |
|
|
|
|
|
import ( |
|
|
"embed" |
|
|
_ "embed" |
|
|
"strings" |
|
|
) |
|
|
|
|
|
|
|
|
var codexInstructionsDir embed.FS |
|
|
|
|
|
func CodexInstructionsForModel(modelName, systemInstructions string) (bool, string) { |
|
|
entries, _ := codexInstructionsDir.ReadDir("codex_instructions") |
|
|
|
|
|
lastPrompt := "" |
|
|
lastCodexPrompt := "" |
|
|
lastCodexMaxPrompt := "" |
|
|
last51Prompt := "" |
|
|
last52Prompt := "" |
|
|
last52CodexPrompt := "" |
|
|
|
|
|
for _, entry := range entries { |
|
|
content, _ := codexInstructionsDir.ReadFile("codex_instructions/" + entry.Name()) |
|
|
if strings.HasPrefix(systemInstructions, string(content)) { |
|
|
return true, "" |
|
|
} |
|
|
if strings.HasPrefix(entry.Name(), "gpt_5_codex_prompt.md") { |
|
|
lastCodexPrompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "gpt-5.1-codex-max_prompt.md") { |
|
|
lastCodexMaxPrompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "prompt.md") { |
|
|
lastPrompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "gpt_5_1_prompt.md") { |
|
|
last51Prompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "gpt_5_2_prompt.md") { |
|
|
last52Prompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "gpt-5.2-codex_prompt.md") { |
|
|
last52CodexPrompt = string(content) |
|
|
} else if strings.HasPrefix(entry.Name(), "review_prompt.md") { |
|
|
|
|
|
} |
|
|
} |
|
|
if strings.Contains(modelName, "codex-max") { |
|
|
return false, lastCodexMaxPrompt |
|
|
} else if strings.Contains(modelName, "5.2-codex") { |
|
|
return false, last52CodexPrompt |
|
|
} else if strings.Contains(modelName, "codex") { |
|
|
return false, lastCodexPrompt |
|
|
} else if strings.Contains(modelName, "5.1") { |
|
|
return false, last51Prompt |
|
|
} else if strings.Contains(modelName, "5.2") { |
|
|
return false, last52Prompt |
|
|
} else { |
|
|
return false, lastPrompt |
|
|
} |
|
|
} |
|
|
|