Complete paired-room SSOT cleanup and logger singleton

This commit is contained in:
ejclaw
2026-04-07 05:12:22 +09:00
parent ae12b157be
commit 10e10b499c
18 changed files with 648 additions and 473 deletions

View File

@@ -68,25 +68,6 @@ export function isBotOnlyPairedRoomTurn(
);
}
export function resolveLastDeliveredBotRole(
messages: NewMessage[],
): PairedRoomRole | null {
for (let index = messages.length - 1; index >= 0; index -= 1) {
const message = messages[index];
if (!message?.is_bot_message) {
continue;
}
if (
message.sender_name === 'owner' ||
message.sender_name === 'reviewer' ||
message.sender_name === 'arbiter'
) {
return message.sender_name;
}
}
return null;
}
export function buildPendingPairedTurn(args: {
chatJid: string;
timezone: string;
@@ -98,7 +79,6 @@ export function buildPendingPairedTurn(args: {
labeledRecentMessages: Parameters<
typeof buildArbiterPromptForTask
>[0]['labeledRecentMessages'];
lastDeliveredMessages?: NewMessage[];
resolveChannel: (taskStatus?: string | null) => Channel | null;
}): PendingPairedTurn {
const {
@@ -117,10 +97,7 @@ export function buildPendingPairedTurn(args: {
const lastTurnOutput = turnOutputs[turnOutputs.length - 1];
const nextTurnAction = resolveNextTurnAction({
taskStatus,
lastTurnOutputRole:
resolveLastDeliveredBotRole(args.lastDeliveredMessages ?? []) ??
lastTurnOutput?.role ??
null,
lastTurnOutputRole: lastTurnOutput?.role ?? null,
});
const recentMessages = getRecentChatMessages(chatJid, 20);
const lastHumanMessage = getLastHumanMessageContent(chatJid);
@@ -255,7 +232,6 @@ export function resolveBotOnlyPairedFollowUpAction(args: {
chatJid: string;
task: PairedTask | null | undefined;
isBotOnlyPairedFollowUp: boolean;
lastDeliveredMessages?: NewMessage[];
pendingCursorSource:
| { seq?: number | null; timestamp?: string | null }
| undefined;
@@ -270,10 +246,7 @@ export function resolveBotOnlyPairedFollowUpAction(args: {
const lastTurnOutput = getPairedTurnOutputs(task.id).at(-1);
const nextTurnAction = resolveNextTurnAction({
taskStatus: task.status,
lastTurnOutputRole:
resolveLastDeliveredBotRole(args.lastDeliveredMessages ?? []) ??
lastTurnOutput?.role ??
null,
lastTurnOutputRole: lastTurnOutput?.role ?? null,
});
if (nextTurnAction.kind === 'finalize-owner-turn') {
@@ -440,7 +413,6 @@ export function buildQueuedTurnDispatch(args: {
chatJid: args.chatJid,
task: args.loopPendingTask,
isBotOnlyPairedFollowUp,
lastDeliveredMessages: args.labeledMessagesToSend,
pendingCursorSource,
});