mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-27 11:56:43 +02:00
25 lines
857 B
TypeScript
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;
|
|
}
|