重构: CR-11 composables+ToolCard 健壮性 6 子项

⑦ useAiConversations JSON.parse 逐条 try/catch 容错(坏条降级不清空整对话);⑧ ToolCard 去 as any + argString 安全取字段;⑨ useAiSend approveToolCall 复用 findToolCall;⑩ useAiEvents 补 AiHeartbeat case 防穿透;⑪ approveHumanApproval 签名收敛(decisions:string[] + select_type 判单/多选)+ ProjectDetail 调用方同步(单选包数组/多选直传);⑫ ToolCard formatBytes/formatToolName/argString 兜底。批5 ww1mh6mry,vue-tsc 0
This commit is contained in:
2026-06-15 05:45:04 +08:00
parent 0e196ee86f
commit fddca9daf1
6 changed files with 68 additions and 31 deletions

View File

@@ -407,7 +407,7 @@ async function handleImportDir() {
// ── 审批处理 ──
async function handleApproval(decision: string) {
await store.approveHumanApproval(decision)
await store.approveHumanApproval([decision])
showApprovalDialog.value = false
}
@@ -417,8 +417,8 @@ const multiDecisions = ref<string[]>([])
async function handleApprovalMulti() {
if (multiDecisions.value.length === 0) return
// decision 传首项(向后兼容),decisions 透传全量
await store.approveHumanApproval(multiDecisions.value[0], undefined, [...multiDecisions.value])
// 统一传 decisions 数组,store 按 select_type 分派单/多选
await store.approveHumanApproval([...multiDecisions.value])
multiDecisions.value = []
showApprovalDialog.value = false
}