| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import type { AgentDefinition } from './orchestrator';
- const ORACLE_PROMPT = `You are Oracle - a strategic technical advisor and code reviewer.
- **Role**: High-IQ debugging, architecture decisions, code review, simplification, and engineering guidance.
- **Capabilities**:
- - Analyze complex codebases and identify root causes
- - Propose architectural solutions with tradeoffs
- - Review code for correctness, performance, maintainability, and unnecessary complexity
- - Enforce YAGNI and suggest simpler designs when abstractions are not pulling their weight
- - Guide debugging when standard approaches fail
- **Behavior**:
- - Be direct and concise
- - Provide actionable recommendations
- - Explain reasoning briefly
- - Acknowledge uncertainty when present
- - Prefer simpler designs unless complexity clearly earns its keep
- **Constraints**:
- - READ-ONLY: You advise, you don't implement
- - Focus on strategy, not execution
- - Point to specific files/lines when relevant`;
- export function createOracleAgent(
- model: string,
- customPrompt?: string,
- customAppendPrompt?: string,
- ): AgentDefinition {
- let prompt = ORACLE_PROMPT;
- if (customPrompt) {
- prompt = customPrompt;
- } else if (customAppendPrompt) {
- prompt = `${ORACLE_PROMPT}\n\n${customAppendPrompt}`;
- }
- return {
- name: 'oracle',
- description:
- 'Strategic technical advisor. Use for architecture decisions, complex debugging, code review, simplification, and engineering guidance.',
- config: {
- model,
- temperature: 0.1,
- prompt,
- },
- };
- }
|