This commit is contained in:
Shahil kadia 2026-01-30 12:56:41 +05:30 committed by GitHub
commit e0492e9d4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 0 deletions

View File

@ -367,6 +367,7 @@ export async function runEmbeddedPiAgent(
log.warn(
`context overflow detected; attempting auto-compaction for ${provider}/${modelId}`,
);
await params.onCompactionStart?.();
overflowCompactionAttempted = true;
const compactResult = await compactEmbeddedPiSessionDirect({
sessionId: params.sessionId,

View File

@ -86,6 +86,7 @@ export type RunEmbeddedPiAgentParams = {
onBlockReplyFlush?: () => void | Promise<void>;
blockReplyBreak?: "text_end" | "message_end";
blockReplyChunking?: BlockReplyChunking;
onCompactionStart?: () => void | Promise<void>;
onReasoningStream?: (payload: { text?: string; mediaUrls?: string[] }) => void | Promise<void>;
onToolResult?: (payload: { text?: string; mediaUrls?: string[] }) => void | Promise<void>;
onAgentEvent?: (evt: { stream: string; data: Record<string, unknown> }) => void;

View File

@ -276,6 +276,13 @@ export async function runAgentTurnWithFallback(params: {
abortSignal: params.opts?.abortSignal,
blockReplyBreak: params.resolvedBlockStreamingBreak,
blockReplyChunking: params.blockReplyChunking,
onCompactionStart: async () => {
if (params.opts?.onPartialReply) {
await params.opts.onPartialReply({
text: "🧹 Compacting context, please wait...",
});
}
},
onPartialReply: allowPartialStream
? async (payload) => {
const textForTyping = await handlePartialForTyping(payload);