import { describe, it, expect } from "vitest";
import { prompts, getPrompt, listPrompts } from "./prompts.js";
describe("Prompts System", () => {
it("should list all prompts", () => {
const allPrompts = listPrompts();
expect(allPrompts.length).toBeGreaterThan(0);
});
it("should retrieve specific prompts", () => {
const agentPrompt = getPrompt("act_as_agent");
expect(agentPrompt).toBeDefined();
expect(agentPrompt?.name).toBe("act_as_agent");
});
describe("Enhanced Prompt Logic", () => {
it("act_as_agent should contain core workflow logic", () => {
const prompt = getPrompt("act_as_agent");
expect(prompt?.template).toContain("Core Logic & Workflow");
expect(prompt?.template).toContain("plan_task");
expect(prompt?.template).toContain("sequential_thinking");
});
it("synaptic_thinking should contain associative logic", () => {
const prompt = getPrompt("synaptic_thinking");
expect(prompt?.template).toContain("Associative Logic");
expect(prompt?.template).toContain("concept_association");
});
it("act_as_architect should contain design workflow", () => {
const prompt = getPrompt("act_as_architect");
expect(prompt?.template).toContain("Design Workflow");
expect(prompt?.template).toContain("decision_matrix");
});
it("act_as_debugger should contain scientific method", () => {
const prompt = getPrompt("act_as_debugger");
expect(prompt?.template).toContain("Scientific Method for Debugging");
expect(prompt?.template).toContain("debug_problem");
});
});
});