fix: route system events per session

This commit is contained in:
Peter Steinberger
2026-01-04 22:11:04 +01:00
parent 2ceceb8c25
commit 1657c5e3d2
7 changed files with 256 additions and 31 deletions

View File

@@ -515,6 +515,7 @@ export async function getReplyFromConfig(
!isGroupSession && sessionKey === (sessionCfg?.mainKey ?? "main");
prefixedBodyBase = await prependSystemEvents({
cfg,
sessionKey,
isMainSession,
isNewSession,
prefixedBodyBase,

View File

@@ -8,12 +8,11 @@ import { drainSystemEvents } from "../../infra/system-events.js";
export async function prependSystemEvents(params: {
cfg: ClawdbotConfig;
sessionKey: string;
isMainSession: boolean;
isNewSession: boolean;
prefixedBodyBase: string;
}): Promise<string> {
if (!params.isMainSession) return params.prefixedBodyBase;
const compactSystemEvent = (line: string): string | null => {
const trimmed = line.trim();
if (!trimmed) return null;
@@ -27,11 +26,11 @@ export async function prependSystemEvents(params: {
};
const systemLines: string[] = [];
const queued = drainSystemEvents();
const queued = drainSystemEvents(params.sessionKey);
systemLines.push(
...queued.map(compactSystemEvent).filter((v): v is string => Boolean(v)),
);
if (params.isNewSession) {
if (params.isMainSession && params.isNewSession) {
const summary = await buildProviderSummary(params.cfg);
if (summary.length > 0) systemLines.unshift(...summary);
}