diff --git a/index.js b/index.js index c4a0e21..c5ce5fe 100644 --- a/index.js +++ b/index.js @@ -12888,6 +12888,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/manifest.json b/manifest.json index fd263ff..9e5ee4f 100644 --- a/manifest.json +++ b/manifest.json @@ -6,6 +6,6 @@ "js": "index.js", "css": "style.css", "author": "Youzini", - "version": "4.3.7", + "version": "4.3.9", "homePage": "https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology" } diff --git a/ui/panel.html b/ui/panel.html index deeb6e0..07cf088 100644 --- a/ui/panel.html +++ b/ui/panel.html @@ -343,10 +343,6 @@ 重建总结状态 - + + +
diff --git a/ui/panel.js b/ui/panel.js index 3ea8a48..18e34ac 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", @@ -1814,7 +1813,6 @@ function _refreshSummaryWorkspace() { -
@@ -3743,7 +3741,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", @@ -3769,7 +3766,6 @@ function _bindActions() { synopsis: "生成小总结", summaryRollup: "执行总结折叠", rebuildSummaryState: "重建总结状态", - clearSummaryState: "清空总结状态", export: "导出图谱", import: "导入图谱", rebuild: "重建图谱", @@ -3959,10 +3955,10 @@ function _bindActions() { const btn = document.getElementById("bme-act-summary-rebuild"); if (btn?.disabled) return; const startFloor = _parseOptionalInt( - document.getElementById("bme-summary-rebuild-start-floor")?.value, + document.getElementById("bme-extract-start-floor")?.value, ); const endFloor = _parseOptionalInt( - document.getElementById("bme-summary-rebuild-end-floor")?.value, + document.getElementById("bme-extract-end-floor")?.value, ); const desc = Number.isFinite(startFloor) || Number.isFinite(endFloor) ? `按范围 ${Number.isFinite(startFloor) ? startFloor : "当前"} ~ ${Number.isFinite(endFloor) ? endFloor : "最新"} 重建总结状态` @@ -4149,12 +4145,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 0418eca..c1e29e7 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,