/** * System prompt construction and project context loading */ import { type AgentDefinition } from "./agent-frontmatter.js"; import { type Skill } from "./skills.js"; export interface BuildSystemPromptOptions { /** Custom system prompt (replaces default). */ customPrompt?: string; /** Tools to include in prompt. Default: [read, bash, edit, write, search] */ selectedTools?: string[]; /** Optional one-line tool snippets keyed by tool name. */ toolSnippets?: Record; /** Additional guideline bullets appended to the default system prompt guidelines. */ promptGuidelines?: string[]; /** Text to append to system prompt. */ appendSystemPrompt?: string; /** Working directory. */ cwd: string; /** Pre-loaded context files. */ contextFiles?: Array<{ path: string; content: string; }>; /** Pre-loaded skills. */ skills?: Skill[]; /** * Available agents for delegation, emitted as `` XML. * Only populated when the Task tool is active so the model knows which * agents exist without re-reading the agent registry each turn. */ agents?: AgentDefinition[]; /** * Point the model at hoocode's own shipped docs so it can answer questions * about hoocode itself. * * Defaults to true for the built-in prompt and false when `customPrompt` * replaces it. Every other appended section (context files, skills, agents) * only appears because the caller passed the content in; this one * materializes on its own, so a caller who has taken over the system prompt * gets it only by asking. That also keeps it out of light mode, whose whole * point is a minimal fixed per-turn surface. Needs the read tool either way. */ includeSelfDocs?: boolean; } /** Build the system prompt with tools, guidelines, and context */ export declare function buildSystemPrompt(options: BuildSystemPromptOptions): string; //# sourceMappingURL=system-prompt.d.ts.map