UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

74 lines (73 loc) 2.21 kB
/** * SystemPromptBuilder — 系统提示词组装器 * * 从 AgentRuntime.js 提取的 Prompt 组装逻辑。 * 负责: * - 角色定义 (Persona) * - 预加载文件清单注入 * - Capability prompt fragments + 动态上下文 * - 语言偏好 * - 轮次预算注入 (system 源) * * @module SystemPromptBuilder */ import type { Capability } from '../capabilities.js'; /** File cache entry shape */ interface FileCacheEntry { name?: string; relativePath?: string; content?: string; language?: string; } /** Persona configuration */ interface Persona { description?: string; [key: string]: unknown; } /** Memory configuration */ interface MemoryConfig { mode?: string; [key: string]: unknown; } /** SystemPromptBuilder constructor options */ interface SystemPromptBuilderOptions { persona?: Persona | null; fileCache?: FileCacheEntry[] | null; lang?: string | null; memoryConfig?: MemoryConfig | null; } /** Budget injection options */ interface BudgetOptions { source?: string; tracker: unknown; budget: { maxIterations?: number; [key: string]: unknown; }; } export declare class SystemPromptBuilder { #private; constructor({ persona, fileCache, lang, memoryConfig }?: SystemPromptBuilderOptions); /** 更新文件缓存引用 (bootstrap 场景: allFiles 注入后更新) */ setFileCache(files: FileCacheEntry[] | null): void; /** * 构建基础系统提示词 * * @param caps 已解析的 Capability 列表 * @param context 额外上下文 */ build(caps: Capability[], context?: Record<string, unknown>): string; /** * 注入轮次预算 (system 源专用) * * 先验锚定阶段节奏: 60% 探索 → 80% 验证 → 最后 20% 输出总结 * * @param prompt 基础系统提示词 * @param opts.source 消息源 (仅 'system' 时注入) * @param opts.tracker ExplorationTracker (非 null 时注入) * @param opts.budget 预算配置 * @returns 可能追加了轮次预算段的提示词 */ static injectBudget(prompt: string, { source, tracker, budget }: BudgetOptions): string; } export {};