autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
74 lines (73 loc) • 2.21 kB
TypeScript
/**
* 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 {};