重构:删 5 零引用 crate(df-evolve/plugin/stages/task/traceability)+ 清死模块、ai.rs 拆 11 子 module、ai.ts 拆 6 composable、i18n 拆目录 功能:知识库全栈(df-project/scan + CRUD + 时间线 + 前端)、Settings 拆分、appSettings KV 迁移、模型池、LLM 并发 Semaphore 修复:审批持久化根治、ConditionEngine 默认拒绝、NodeRegistry unimplemented 清除、promote 补偿删除、工具结果截断 50KB、路径校验防 symlink 逃逸 文档:B-03 人工审批设计、决策记录三分档、规格契约自检、经验记录、todo 看板、PROGRESS 更新 详见 PROGRESS.md。src-tauri/儿童每日打卡应用/ 与本项目无关,已排除。
83 lines
2.4 KiB
TypeScript
83 lines
2.4 KiB
TypeScript
import { invoke } from '@tauri-apps/api/core'
|
|
import type {
|
|
KnowledgeRecord,
|
|
KnowledgeEventRecord,
|
|
KnowledgeDetailPayload,
|
|
CreateKnowledgeInput,
|
|
KnowledgeSearchInput,
|
|
UpdateKnowledgeInput,
|
|
KnowledgeConfig,
|
|
} from './types'
|
|
|
|
export const knowledgeApi = {
|
|
/** 列出知识(可按 status 筛选,默认排除 archived) */
|
|
list(status?: string | null): Promise<KnowledgeRecord[]> {
|
|
return invoke('knowledge_list', { status: status ?? null })
|
|
},
|
|
|
|
/** 单条查询 */
|
|
get(id: string): Promise<KnowledgeRecord> {
|
|
return invoke('knowledge_get', { id })
|
|
},
|
|
|
|
/** 检索知识(top-N,默认 3) */
|
|
search(input: KnowledgeSearchInput): Promise<KnowledgeRecord[]> {
|
|
return invoke('knowledge_search', { input })
|
|
},
|
|
|
|
/** 创建知识(始终 candidate 状态) */
|
|
create(input: CreateKnowledgeInput): Promise<KnowledgeRecord> {
|
|
return invoke('knowledge_create', { input })
|
|
},
|
|
|
|
/** 状态转换(含合法矩阵校验) */
|
|
updateStatus(id: string, status: string): Promise<boolean> {
|
|
return invoke('knowledge_update_status', { id, status })
|
|
},
|
|
|
|
/** 复用计数 +1 */
|
|
recordReuse(id: string): Promise<boolean> {
|
|
return invoke('knowledge_record_reuse', { id })
|
|
},
|
|
|
|
/** 审核收件箱(候选列表,按置信度排序) */
|
|
listCandidates(): Promise<KnowledgeRecord[]> {
|
|
return invoke('knowledge_list_candidates')
|
|
},
|
|
|
|
/** 归档(软删除) */
|
|
archive(id: string): Promise<boolean> {
|
|
return invoke('knowledge_archive', { id })
|
|
},
|
|
|
|
/** 读取知识库行为配置 */
|
|
getConfig(): Promise<KnowledgeConfig> {
|
|
return invoke('knowledge_get_config')
|
|
},
|
|
|
|
/** 保存知识库行为配置 */
|
|
saveConfig(config: KnowledgeConfig): Promise<boolean> {
|
|
return invoke('knowledge_save_config', { config })
|
|
},
|
|
|
|
/** 手动触发提炼 */
|
|
extractNow(): Promise<boolean> {
|
|
return invoke('knowledge_extract_now')
|
|
},
|
|
|
|
/** 知识详情(基本信息 + 生命线事件) */
|
|
getDetail(id: string): Promise<KnowledgeDetailPayload> {
|
|
return invoke('knowledge_get_detail', { id })
|
|
},
|
|
|
|
/** 编辑知识(部分更新) */
|
|
update(id: string, input: UpdateKnowledgeInput): Promise<KnowledgeRecord> {
|
|
return invoke('knowledge_update', { id, input })
|
|
},
|
|
|
|
/** 查询生命线事件(可按 event_type 过滤) */
|
|
events(knowledgeId: string, eventType?: string, limit?: number): Promise<KnowledgeEventRecord[]> {
|
|
return invoke('knowledge_events', { knowledgeId, eventType: eventType ?? null, limit: limit ?? null })
|
|
},
|
|
}
|