/** * System Prompt Builder - Builds the complete system prompt * * Combines base system prompt with skill prompts and bootstrap Project Context. */ import type { Config } from '../../config/schema.js'; import type { EmbeddedContextFile } from '../bootstrap/types.js'; import type { SkillManager } from '../skills/skill-manager.js'; import type { PromptMode, SilentReplyPromptMode } from './types.js'; import type { ProviderSystemPromptContribution } from './contribution.js'; export interface SystemPromptBuildOptions { externalMemoryInstructions?: string; workspaceOverride?: string; profileMarkdownPathRoot?: string; customInstructions?: string; skillPromptText?: string; skillAllowlist?: string[]; registeredToolNames?: string[]; toolSummaries?: Record; sessionKey?: string; promptMode?: PromptMode; modelRef?: string; agentId?: string; thinkingLevel?: string; extraSystemPrompt?: string; activeProjectContext?: string; silentReplyPromptMode?: SilentReplyPromptMode; promptContribution?: ProviderSystemPromptContribution; } export interface SystemPromptBuilderConfig { workspace: string; config: Config; skillManager: SkillManager; } export declare class SystemPromptBuilder { private workspace; private config; private skillManager; constructor(config: SystemPromptBuilderConfig); build(contextFiles: EmbeddedContextFile[], options: SystemPromptBuildOptions): string; rebuild(contextFiles: EmbeddedContextFile[], options: SystemPromptBuildOptions): string; getSkillPrompt(): string; getBasePrompt(contextFiles: EmbeddedContextFile[], options?: { externalMemoryInstructions?: string; workspaceOverride?: string; profileMarkdownPathRoot?: string; registeredToolNames?: string[]; sessionKey?: string; }): string; } export declare function createSystemPromptBuilder(config: SystemPromptBuilderConfig): SystemPromptBuilder; export type { SystemPromptBuilderConfig as SystemPromptConfig }; export type { SystemPromptBuilderConfig as SystemPromptBuilderOptions };