/** 实体摘要(第一层:卡片级——名称 + 类型 + 一句话) */ export interface EntityDigest { name: string; type: string; summary: string; validFrom?: string; validTo?: string; } /** 实体图结构(第二层:关联实体与边类型) */ export interface EntityRelations { name: string; relations: { has_many?: string[]; belongs_to?: string[]; depends_on?: string[]; produces?: string[]; consumes?: string[]; }; } /** 渐进加载层级行政层级——L1 摘要 / L2 关系 / L3 全文 */ export type LoadTier = 1 | 2 | 3; /** 单次召回的预算账本(token 预算联动 v1.4.8 自动上下文压缩口径) */ export interface TokenBudget { /** 本层 token 上限(超限触发降层) */ maxTokens: number; /** 粗估 token 数(字符数 / 4,中文与代码混合场景的通行近似) */ estimate(text: string): number; } /** 默认预算器:maxTokens 默认 8000,估算 = ceil(字符数 / 4) */ export declare function defaultBudget(maxTokens?: number): TokenBudget; /** 降层留痕记录(超预算触发降层时产出,入审计叙事) */ export interface DowngradeTrace { entity: string; fromTier: LoadTier; toTier: LoadTier; reason: 'budget-exceeded'; } /** * 时点有效性判定——双时态核心谓词。 * 规则:validFrom 缺省 = 自古有效;validTo 缺省 = 仍有效; * 有效 ⇔ (无 validFrom 或 validFrom ≤ t) 且 (无 validTo 或 t < validTo)。 */ export declare function isValidAt(entity: { validFrom?: string; validTo?: string; }, at: string): boolean; /** * stateAt —— 时点快照查询。 * 扫描 knowledge/entities/*.md 的 frontmatter,返回在 `at` 时刻有效的实体集。 * 旧数据(无 validFrom/validTo 字段)按「永久有效」语义自然兼容。 */ export declare function stateAt(knowledgeDir: string, at: string): EntityDigest[]; /** * 渐进加载三层——按预算逐层取实体内容。 * L1 摘要(卡片级)→ L2 命中再展开 relations → L3 确需细读才取页面全文。 * 超预算自动降层(全文→relations→摘要)并留痕——「降了多少、为什么降」可审计。 * * @param names 要加载的实体名列表(检索层已选定「找哪个」,本函数只管「喂多少」) * @param budget token 预算(默认 8000) * @param tierHint 期望层级(默认 L3 全文;预算不足时自动降层) * @returns 加载结果 + 降层留痕。三层内容同源(摘要/关系都取自同一 frontmatter 与页面, * 无第二份表示)。 */ export declare function progressiveLoad(knowledgeDir: string, names: string[], budget?: TokenBudget, tierHint?: LoadTier): { tier: LoadTier; digests: EntityDigest[]; relations: EntityRelations[]; fullTexts: Array<{ name: string; content: string; }>; downgrades: DowngradeTrace[]; }; /** frontmatter 安全解析(坏文件返回 null,不抛) */ //# sourceMappingURL=query.d.ts.map