/** * Size guard — truncates prompt injection to stay within budget. * * Architecture: this function receives the three prompt components separately * (matching how the plugin calls it — in-place modification of prependSystemContext, * prependContext, appendSystemContext). It returns an object with the stripped * components so the caller can reassemble. * * Priority stripping order (diagnosticianMode): * 1. project_context (always stripped first when over limit) * 1.5. intent_block (PRI-467: always stripped, sits between project_context and thinking_os) * 2. thinking_os (only in diag mode) * 3. evolution_principles (only in diag mode) * 4. reflection_log (only in diag mode) * 5. reason: line truncation (only in diag mode, when reason: line > 129 chars) * 6. fallback: only replaces appendSystemContext — prependSystemContext and * prependContext are ALWAYS preserved (matching plugin behavior) * * Phase: PRI-75 Prompt Injection SDK Migration Phase 1 */ import type { SizeGuardOptions, TruncateResult } from './types.js'; /** * Truncates the combined prompt injection to fit within budget. * * Receives the three prompt components separately (prependSystemContext, * prependContext, appendSystemContext) to allow exact-content replacement and * proper fallback behavior (preserving prependSystemContext + prependContext). * * @param prependSystemContext - Fixed system identity block * @param prependContext - Dynamic directives block * @param appendSystemContext - Principles + Thinking OS + reflection_log + project_context * @param options - Size guard options (diagnosticianMode, blocks with exact content for replacement) * @returns Stripped prompt components + truncation log */ export declare function truncateInjectionToBudget(prependSystemContext: string, prependContext: string, appendSystemContext: string, options?: SizeGuardOptions): TruncateResult; //# sourceMappingURL=size-guard.d.ts.map