/** * Context injection — automatically inject local rules and project context * into agent sessions on startup. * * Sources (in priority order): * 1. AGENTS.md (project root) * 2. README.md (project root, first N chars) * 3. .opencode/context/*.md (project-specific context files) * 4. Conditional rules based on file globs * * Deduplication ensures the same content is not injected twice across * session rotations. */ import type { ContextInjectionConfig, Logger } from '../types'; export interface InjectedContext { /** Source label for logging/audit. */ source: string; /** The injected text content. */ content: string; } export interface ContextInjectionResult { items: InjectedContext[]; totalChars: number; truncated: boolean; } export declare class ContextInjector { private config; private logger; private directory; /** Track injected content hashes to avoid re-injection across session rotations. */ private injectedHashes; constructor(logger: Logger, directory: string, config?: ContextInjectionConfig); /** * Whether context injection is enabled. */ isEnabled(): boolean; /** * Collect all context to inject for a new session. */ collect(touchedFiles?: string[]): ContextInjectionResult; /** * Format injected context as a single prompt string. */ format(result: ContextInjectionResult): string; /** * Reset deduplication tracking (e.g. on fresh session). */ resetDedup(): void; } //# sourceMappingURL=context-injection.d.ts.map