/** * Implementation of `DurableAgent.streamUntilIdle` and * `DurableAgent.resume(..., { untilIdle })`. Mirrors the regular agent's * `stream-until-idle.ts` but adapted for durable execution: * - `DurableAgent.stream()` returns `DurableAgentStreamResult` (not `MastraModelOutput`) * - Each continuation starts a new durable workflow (new runId) * - Cleanup functions from each inner stream are tracked and called on close * - Inner `abort()` handles are fanned out so the outer `result.abort()` * cancels every active durable run * * Uses the shared `runIdleLoop` helper from `loop/shared/stream-until-idle-helpers` * with durable-specific hooks for cleanup/abort tracking. */ import type { BackgroundTaskManager } from '../../background-tasks/manager.js'; import type { MessageListInput } from '../message-list/index.js'; import type { DurableAgent, DurableAgentStreamOptions, DurableAgentStreamResult } from './durable-agent.js'; export interface DurableStreamUntilIdleDeps { activeStreams: Map void>; bgManager: BackgroundTaskManager | undefined; } /** * Run `DurableAgent.streamUntilIdle` (or `DurableAgent.stream({ untilIdle })`). * Initial turn invokes `agent.stream(messages, ...)`; continuations triggered * by background-task completions run as fresh `agent.stream([], ...)` calls * against the same memory thread. */ export declare function runDurableStreamUntilIdle(agent: DurableAgent, messages: MessageListInput, streamOptions: (DurableAgentStreamOptions & { maxIdleMs?: number; }) | undefined, deps: DurableStreamUntilIdleDeps): Promise>; /** * Run `DurableAgent.resume(..., { untilIdle })`. Same idle-loop semantics as * `runDurableStreamUntilIdle` — initial turn calls `agent.resume(runId, * resumeData, ...)` against the existing run snapshot, and subsequent * continuations triggered by background-task completions use * `agent.stream([], continuationOpts)` (a normal multi-turn agent stream) * since the resume completes and we're back in regular conversation flow. */ export declare function runResumeDurableStreamUntilIdle(agent: DurableAgent, runId: string, resumeData: unknown, streamOptions: (DurableAgentStreamOptions & { maxIdleMs?: number; }) | undefined, deps: DurableStreamUntilIdleDeps): Promise>; //# sourceMappingURL=durable-stream-until-idle.d.ts.map