autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
64 lines (63 loc) • 1.84 kB
TypeScript
/**
* UiStartupTasks — asd ui 启动后异步后台刷新任务
*
* 在 Dashboard 启动后异步执行,不阻塞 UI:
* 1. syncAll: .md → DB 全量同步 + sourceRefs 对账
* 2. staging promote: 到期 staging → active 晋升
* 3. vector reconcile: 向量对账(best-effort)
* 4. refreshIndex: BM25 增量刷新
* 5. proposalCheck: 到期 Proposal 检查 + 自动执行/拒绝
* 6. metabolismCycle: 知识新陈代谢(矛盾/冗余/衰退扫描 → 新 Proposal)
* 7. timeoutCheck: 中间态超时兜底(evolving/decaying 超时自动恢复)
*/
interface UiStartupContext {
projectRoot: string;
container: {
get(name: string): unknown;
services: Record<string, unknown>;
singletons: Record<string, unknown>;
};
}
export interface UiStartupReport {
syncAll?: {
synced: number;
created: number;
updated: number;
};
reconcile?: {
inserted: number;
active: number;
stale: number;
};
staging?: {
promoted: number;
};
vectorReconcile?: {
orphans: number;
missing: number;
};
indexRefresh?: boolean;
proposalCheck?: {
executed: number;
rejected: number;
expired: number;
};
metabolismCycle?: {
proposalCount: number;
contradictions: number;
redundancies: number;
decaying: number;
};
timeoutCheck?: {
timedOut: number;
checked: number;
};
durationMs: number;
errors: string[];
}
/**
* 异步执行所有启动后台任务。
* 每个阶段独立 try/catch,一个失败不影响后续。
*/
export declare function runUiStartupTasks(ctx: UiStartupContext): Promise<UiStartupReport>;
export {};