Merge pr-6-review into main

This commit is contained in:
Youzini-afk
2026-04-05 03:27:42 +08:00
2 changed files with 39 additions and 0 deletions

View File

@@ -271,6 +271,9 @@ function getRuntimeDebugState() {
taskPromptBuilds: {},
taskLlmRequests: {},
injections: {},
messageTrace: {
lastSentUserMessage: null,
},
maintenance: {
lastAction: null,
lastUndoResult: null,
@@ -302,6 +305,17 @@ function recordInjectionSnapshot(kind, snapshot = {}) {
};
}
function recordMessageTraceSnapshot(patch = {}) {
const state = touchRuntimeDebugState();
const previous = state.messageTrace || {
lastSentUserMessage: null,
};
state.messageTrace = {
...previous,
...cloneRuntimeDebugValue(patch, {}),
};
}
function recordGraphPersistenceSnapshot(snapshot = null) {
const state = touchRuntimeDebugState();
state.graphPersistence = cloneRuntimeDebugValue(snapshot, null);
@@ -327,6 +341,7 @@ function readRuntimeDebugSnapshot() {
taskPromptBuilds: state.taskPromptBuilds,
taskLlmRequests: state.taskLlmRequests,
injections: state.injections,
messageTrace: state.messageTrace,
maintenance: state.maintenance,
graphPersistence: state.graphPersistence,
updatedAt: state.updatedAt,
@@ -336,6 +351,9 @@ function readRuntimeDebugSnapshot() {
taskPromptBuilds: {},
taskLlmRequests: {},
injections: {},
messageTrace: {
lastSentUserMessage: null,
},
maintenance: {
lastAction: null,
lastUndoResult: null,
@@ -1192,6 +1210,11 @@ function clearRecallInputTracking() {
pendingRecallSendIntent = createRecallInputRecord();
lastRecallSentUserMessage = createRecallInputRecord();
pendingHostGenerationInputSnapshot = createRecallInputRecord();
if (typeof recordMessageTraceSnapshot === "function") {
recordMessageTraceSnapshot({
lastSentUserMessage: null,
});
}
clearPlannerRecallHandoffsForChat("", { clearAll: true });
}
@@ -1309,6 +1332,17 @@ function recordRecallSentUserMessage(messageId, text, source = "message-sent") {
source,
at: Date.now(),
});
if (typeof recordMessageTraceSnapshot === "function") {
recordMessageTraceSnapshot({
lastSentUserMessage: {
text: normalized,
hash,
messageId: Number.isFinite(messageId) ? messageId : null,
source,
updatedAt: new Date().toISOString(),
},
});
}
// 注意:不再在 MESSAGE_SENT 阶段清空 pendingRecallSendIntent /
// pendingHostGenerationInputSnapshot / transactions。

View File

@@ -2735,6 +2735,7 @@ function _getMessageTraceWorkspaceState(settings = _getSettings?.() || {}) {
panelDebug,
runtimeDebug,
recallInjection: runtimeDebug?.injections?.recall || null,
messageTrace: runtimeDebug?.messageTrace || null,
recallLlmRequest: runtimeDebug?.taskLlmRequests?.recall || null,
recallPromptBuild: runtimeDebug?.taskPromptBuilds?.recall || null,
extractLlmRequest: runtimeDebug?.taskLlmRequests?.extract || null,
@@ -2786,7 +2787,11 @@ function _renderMessageTraceRecallCard(state) {
const recentMessages = Array.isArray(injectionSnapshot?.recentMessages)
? injectionSnapshot.recentMessages.map((item) => String(item || ""))
: [];
const lastSentUserMessage = String(
state.messageTrace?.lastSentUserMessage?.text || "",
).trim();
const triggeredUserMessage =
lastSentUserMessage ||
_extractTriggeredUserMessageFromRecentMessages(recentMessages);
const hostPayloadText = _buildMainAiTraceText(
triggeredUserMessage,