session-runner-system-prompt.test.ts 1.2 KB

123456789101112131415161718192021
  1. import { describe, expect, test } from "bun:test"
  2. import { Model } from "@opencode-ai/llm"
  3. import * as OpenAIChat from "@opencode-ai/llm/protocols/openai-chat"
  4. import { SessionRunnerSystemPrompt } from "@opencode-ai/core/session/runner/system-prompt"
  5. const prompt = (id: string) =>
  6. SessionRunnerSystemPrompt.provider(Model.make({ id, provider: "test", route: OpenAIChat.route }))
  7. describe("SessionRunnerSystemPrompt", () => {
  8. test("selects the legacy provider-family prompts from the model id", () => {
  9. expect(prompt("gpt-5")).toContain("You are OpenCode, You and the user share the same workspace")
  10. expect(prompt("gpt-4.1")).toContain("THE PROBLEM CAN NOT BE SOLVED WITHOUT EXTENSIVE INTERNET RESEARCH")
  11. expect(prompt("o3")).toContain("THE PROBLEM CAN NOT BE SOLVED WITHOUT EXTENSIVE INTERNET RESEARCH")
  12. expect(prompt("gpt-5-codex")).toContain("## Editing constraints")
  13. expect(prompt("gemini-2.5-pro")).toContain("# Core Mandates")
  14. expect(prompt("claude-sonnet-4")).toContain("# Professional objectivity")
  15. expect(prompt("kimi-k2")).toContain("# Prompt and Tool Use")
  16. expect(prompt("trinity")).toContain("what command should I run to list files")
  17. expect(prompt("llama-3.3")).toContain("You are opencode, an interactive CLI tool")
  18. })
  19. })