diff --git a/index.js b/index.js index ca286c6..864d7da 100644 --- a/index.js +++ b/index.js @@ -12808,6 +12808,7 @@ async function onRebuildSummaryState(options = {}) { async function onClearSummaryState() { return await onClearSummaryStateController({ + confirm: (msg) => (typeof globalThis.confirm === "function" ? globalThis.confirm(msg) : false), ensureGraphMutationReady, getCurrentGraph: () => currentGraph, refreshPanelLiveState, diff --git a/ui/panel.html b/ui/panel.html index 5151cc1..f03b19f 100644 --- a/ui/panel.html +++ b/ui/panel.html @@ -343,10 +343,6 @@ 重建总结状态 - + + +
diff --git a/ui/panel.js b/ui/panel.js index a80b91c..d7a3a85 100644 --- a/ui/panel.js +++ b/ui/panel.js @@ -104,7 +104,6 @@ const GRAPH_WRITE_ACTION_IDS = [ "bme-act-synopsis", "bme-act-summary-rollup", "bme-act-summary-rebuild", - "bme-act-summary-clear", "bme-act-evolve", "bme-act-undo-maintenance", "bme-act-import", @@ -1677,7 +1676,6 @@ function _refreshSummaryWorkspace() { -
@@ -3606,7 +3604,6 @@ function _bindActions() { "bme-act-sleep": "sleep", "bme-act-synopsis": "synopsis", "bme-act-summary-rollup": "summaryRollup", - "bme-act-summary-clear": "clearSummaryState", "bme-act-export": "export", "bme-act-import": "import", "bme-act-rebuild": "rebuild", @@ -3628,7 +3625,6 @@ function _bindActions() { synopsis: "生成小总结", summaryRollup: "执行总结折叠", rebuildSummaryState: "重建总结状态", - clearSummaryState: "清空总结状态", export: "导出图谱", import: "导入图谱", rebuild: "重建图谱", @@ -3996,12 +3992,10 @@ function _bindActions() { const generateBtn = e.target.closest("#bme-summary-generate"); const rollupBtn = e.target.closest("#bme-summary-rollup"); const rebuildBtn = e.target.closest("#bme-summary-rebuild"); - const clearBtn = e.target.closest("#bme-summary-clear"); const actionMap = new Map([ [generateBtn, "synopsis"], [rollupBtn, "summaryRollup"], [rebuildBtn, "rebuildSummaryState"], - [clearBtn, "clearSummaryState"], ]); const matched = [...actionMap.entries()].find(([element]) => Boolean(element)); if (!matched) return; diff --git a/ui/ui-actions-controller.js b/ui/ui-actions-controller.js index 73f0206..7a6006f 100644 --- a/ui/ui-actions-controller.js +++ b/ui/ui-actions-controller.js @@ -844,11 +844,26 @@ export async function onClearSummaryStateController(runtime) { const graph = runtime.getCurrentGraph(); if (!graph) return; if (!runtime.ensureGraphMutationReady("清空总结状态")) return; + if ( + typeof runtime.confirm === "function" && + !runtime.confirm( + "确定要清空当前聊天的总结状态?\n\n这会删除当前聊天的所有层级总结前沿与折叠历史,但不会删除图谱节点或聊天原文。", + ) + ) { + return { + cancelled: true, + }; + } runtime.resetHierarchicalSummaryState?.(graph); runtime.saveGraphToChat?.({ reason: "clear-summary-state" }); runtime.refreshPanelLiveState?.(); - updateManualActionUiState(runtime, "总结状态已清空", "当前聊天的层级总结已重置", "success"); - runtime.toastr.success("总结状态已清空"); + updateManualActionUiState( + runtime, + "总结状态已清空", + "当前聊天的层级总结已重置", + "success", + ); + runtime.toastr.success("当前聊天总结状态已清空"); return { handledToast: true, requestDispatched: false,