新增: Wave8 F-06 导入项目 + F-02 技能联想 + AR-6 Low 失败语义

- F-06 导入历史项目:scan.rs extract_description(README 首段 200 字) + import_project 命令(合并 create+bind,spawn_blocking 探测栈) + 前端 ProjectDetail 导入按钮 + store action;主代理补 lib.rs invoke_handler 注册(agent 未注册)
- F-02 技能联想使用:核对发现 sendMessage→ai_chat_send skill 调用链已完整(联想选中→带 skill→注入 SKILL.md),补 Esc 取消选中兜底
- AR-6 Low 失败语义统一(定向B):audit.rs Low 失败 emit AiToolCallCompleted(错误 result) 替代 AiError,消除前端 false/后端 loop 续紊乱,错误回填 tool_result 让 LLM 自处理
cargo/vue-tsc 0 err
This commit is contained in:
2026-06-14 22:13:51 +08:00
parent b195a38d64
commit f82dd8ba90
8 changed files with 248 additions and 5 deletions

View File

@@ -1,6 +1,18 @@
import { invoke } from '@tauri-apps/api/core'
import type { ProjectRecord, CreateProjectInput, AiScanResult } from './types'
/** 导入历史项目入参(选已存在目录,创建实体+绑定+探测栈一步完成) */
export interface ImportProjectInput {
/** 待导入的本地目录绝对路径(已存在) */
path: string
/** 项目名(可选,空=用目录名) */
name?: string
/** 描述(可选,空=自动读 README 首段) */
description?: string
/** 技术栈 JSON 数组字符串(可选,空=自动探测) */
stack?: string
}
export const projectApi = {
list(): Promise<ProjectRecord[]> {
return invoke('list_projects')
@@ -10,6 +22,11 @@ export const projectApi = {
return invoke('create_project', { input })
},
/** 导入历史项目(选已存在目录,创建实体+绑定+探测栈一步完成) */
importProject(input: ImportProjectInput): Promise<ProjectRecord> {
return invoke('import_project', { input })
},
get(id: string): Promise<ProjectRecord | null> {
return invoke('get_project', { id })
},