Files
openclaw/src/agents/session-raw-append-message.ts
2026-04-09 03:56:22 +01:00

25 lines
857 B
TypeScript

import type { SessionManager } from "@mariozechner/pi-coding-agent";
const RAW_APPEND_MESSAGE = Symbol("openclaw.session.rawAppendMessage");
export type SessionManagerWithRawAppend = SessionManager & {
[RAW_APPEND_MESSAGE]?: SessionManager["appendMessage"];
};
/**
* Return the unguarded appendMessage implementation for a session manager.
*/
export function getRawSessionAppendMessage(
sessionManager: SessionManager,
): SessionManager["appendMessage"] {
const rawAppend = (sessionManager as SessionManagerWithRawAppend)[RAW_APPEND_MESSAGE];
return rawAppend ?? sessionManager.appendMessage.bind(sessionManager);
}
export function setRawSessionAppendMessage(
sessionManager: SessionManager,
appendMessage: SessionManager["appendMessage"],
): void {
(sessionManager as SessionManagerWithRawAppend)[RAW_APPEND_MESSAGE] = appendMessage;
}