diff --git a/host/event-binding.js b/host/event-binding.js index bbb5569..66551c7 100644 --- a/host/event-binding.js +++ b/host/event-binding.js @@ -251,7 +251,33 @@ export function onMessageSentController(runtime, messageId) { } if (!message?.is_user) return; - if (runtime.isTrivialUserInput?.(message.mes || "")?.trivial) { + const trivialInputResult = runtime.isTrivialUserInput?.(message.mes || "") || { + trivial: false, + reason: "", + normalizedText: "", + }; + const tokenEstimate = + typeof runtime.estimateTokens === "function" + ? Number(runtime.estimateTokens(message.mes || "")) + : Number.NaN; + const isZeroTokenInput = + Number.isFinite(tokenEstimate) && tokenEstimate <= 0; + + if (trivialInputResult.trivial || isZeroTokenInput) { + runtime.markCurrentGenerationTrivialSkip?.({ + reason: trivialInputResult.trivial + ? trivialInputResult.reason + : "zero-token", + chatId: context?.chatId || "", + chatLength: Array.isArray(chat) ? chat.length : 0, + }); + runtime.clearPendingRecallSendIntent?.(); + runtime.clearPendingHostGenerationInputSnapshot?.(); + console.info?.( + `[ST-BME] trivial-input skip: reason=${ + trivialInputResult.trivial ? trivialInputResult.reason : "zero-token" + } len=${String(trivialInputResult.normalizedText || message.mes || "").length} hook=MESSAGE_SENT`, + ); runtime.refreshPersistedRecallMessageUi?.(); return; } diff --git a/index.js b/index.js index ebc1398..867e20a 100644 --- a/index.js +++ b/index.js @@ -12637,8 +12637,12 @@ function onChatLoaded() { function onMessageSent(messageId) { const result = onMessageSentController( { + clearPendingHostGenerationInputSnapshot, + clearPendingRecallSendIntent, + estimateTokens, getContext, isTrivialUserInput, + markCurrentGenerationTrivialSkip, recordRecallSentUserMessage, rebindRecallRecordToNewUserMessage, refreshPersistedRecallMessageUi: schedulePersistedRecallMessageUiRefresh,