/** * 项目名片(Project Cards)— 模糊端名 → 项目信息映射 * * 用户自然语言里提到某个端(端名/业务名/中文描述/类型词「前端」「后端」等)时, * 按需解析出对应工程,并把源码路径/Git 仓库等「名片」信息注入给 AI。 * 设计原则: * - 按需:用户没提项目就完全不注入; * - 克制:每端一张小名片(1-2 行),多端命中也不膨胀; * - 确定性:纯词典/正则匹配,不依赖 LLM(意图识别的 LLM 兜底是占位符)。 */ import { PlatformConfig } from './unified-config'; /** 命中置信度:exact=端名/业务名全量/类型词/3字段完整;partial=滑窗 2 字部分提及(疑似) */ export type MatchConfidence = 'exact' | 'partial'; export interface ProjectCard { /** 端名/工程标识(如 booking-service) */ name: string; /** 工程类型 */ type: 'frontend' | 'backend' | 'infra'; /** 业务名(description 或 project_name,如「预订服务」) */ businessName?: string; /** 源码路径(相对项目根,如 ./backend/booking-service) */ codePath?: string; /** Git 仓库地址 */ gitRepo?: string; /** 默认分支 */ defaultBranch?: string; /** 命中置信度(仅匹配结果携带;速查区/全量表不参与) */ confidence?: MatchConfidence; } /** * 从用户自然语言中解析命中的端(可多端并行命中),携带置信度: * - 端名包含(词边界 + 复合名分段):「booking-service」「booking」「h5」→ exact * - 业务名模糊命中:「预订服务」「移动端」→ exact;「预订」「后台」(滑窗 2 字)→ partial(疑似) * - 类型词:「前端」→ 全部 frontend 端;「后端」→ 全部 backend 端 → exact * 返回保持 platforms 声明顺序;全无命中返回空数组。 */ export declare function matchProjectsFromText(text: string, platforms: PlatformConfig[]): ProjectCard[]; /** 名片单行(注入格式):booking-service(预订服务 · backend)→ 源码 ./x · Git git@...(main) */ export declare function formatCardLine(card: ProjectCard): string; /** * 命中端名片的注入块(约 40 token/端)。未命中返回空串。 * 用于 ask 意图块 / prompt 上下文——只注入被提到的那几端; * 滑窗「疑似」端做轻标注,引导 AI 按需核实 + 按需读全量表。 */ export declare function formatProjectCardInjection(hits: ProjectCard[]): string; /** AGENTS.md 速查区:每端一行映射(约 15-20 token/端,宿主 AI 常驻可见) */ export declare function buildQuickIndex(platforms: PlatformConfig[]): string; /** 生成 .speccore/GLOBAL/PROJECTS.md(全量名片落盘,不占对话 token,AI 按需 Read) */ export declare function writeGlobalProjectsDoc(cwd: string, platforms: PlatformConfig[]): Promise; //# sourceMappingURL=project-cards.d.ts.map