import type { Message } from '../model/entities.js'; export interface ProjectFile { path: string; content: string; type: "claude_md" | "readme" | "code" | "config" | "other"; } export interface SystemPromptSections { systemBase: string; environment: string; projectContext: string; skills: string; embeddedTools: string; memory: string; } export interface AssembledContext { systemPrompt: string; systemSections: SystemPromptSections; messages: Message[]; tokenBudget: number; tokenUsed: number; } export interface IContextLoader { /** Discover and load project context files (CLAUDE.md, README, etc.) */ loadProjectContext(rootDir: string): Promise; /** Load a specific file */ loadFile(filePath: string): Promise; /** Find CLAUDE.md files recursively */ findClaudeMdFiles(rootDir: string): Promise; } export interface IContextAssembler { /** Assemble the full context for an agent run */ assemble(input: AssembleInput): Promise; } export interface AssembleInput { rootDir: string; userMessage: string; history: Message[]; tools: string; memoryContext: string; skillPrompts: string; systemPrompt?: string; maxTokens?: number; } //# sourceMappingURL=entities.d.ts.map