Files

39 lines
1.3 KiB
JavaScript

import { getContext, extension_settings } from "/scripts/extensions.js";
import { extensionName } from "../utils/settings.js";
import { processMessageUpdate } from './table-system/TableSystemService.js';
// MessagePipeline 通过 Bus 查询;此 import 仅作启动时注册的触发
import './pipeline/MessagePipeline.js';
export async function onMessageReceived(data) {
window.lastPreOptimizationResult = null;
document.dispatchEvent(new CustomEvent('preOptimizationTextUpdated'));
const context = getContext();
if ((data && data.is_user) || context.isWaitingForUserInput) { return; }
const settings = extension_settings[extensionName];
const chat = context.chat;
if (!chat || chat.length === 0) { return; }
const latestMessage = chat[chat.length - 1];
if (latestMessage.is_user) { return; }
const pipeline = window.Amily2Bus?.query('MessagePipeline');
if (!pipeline) {
console.error('[Amily2-Events] MessagePipeline 服务未就绪,跳过消息处理。');
return;
}
await pipeline.execute({
messageId: chat.length - 1,
latestMessage,
chat,
settings,
optimizationResult: null,
});
}
// Kept for SWIPED / EDITED event handlers in index.js
export async function handleTableUpdate(messageId) {
await processMessageUpdate(messageId);
}