UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

38 lines (37 loc) 1.89 kB
import type { ModelMessage } from "ai"; import type { HarnessToolDefinition } from "#harness/execute-tool.js"; import type { HandleMessageStreamEvent, SessionStartedStreamEvent } from "#protocol/message.js"; import type { ResolvedDynamicToolResolver } from "#runtime/types.js"; import type { ContextContainer } from "#context/container.js"; import type { DurableDynamicToolMetadata } from "#context/keys.js"; /** * Reconstructs tool definitions from durable metadata using * registered step functions. No resolver re-invocation — the * execute function is looked up by step ID and called with stored * closure vars. */ export declare function replayDynamicSessionTools(metadata: readonly DurableDynamicToolMetadata[], _resolvers: readonly ResolvedDynamicToolResolver[]): readonly HarnessToolDefinition[]; /** * Dispatches a stream event to dynamic tool resolvers. Each * resolver's metadata replaces its slot (by slug) in the * scope-appropriate durable key. The tool-loop calls * {@link buildDynamicTools} to assemble the effective toolset. */ export declare function dispatchDynamicToolEvent(input: { readonly ctx: ContextContainer; readonly resolvers: readonly ResolvedDynamicToolResolver[]; readonly event: HandleMessageStreamEvent; readonly messages: readonly ModelMessage[]; }): Promise<void>; /** * Re-resolves session-scoped dynamic tools when a durable session reaches a * different runtime revision. The refresh is internal: lifecycle consumers * still observe exactly one `session.started` event for the session. */ export declare function refreshDynamicSessionToolsForRuntimeRevision(input: { readonly ctx: ContextContainer; readonly resolvers: readonly ResolvedDynamicToolResolver[]; readonly event: SessionStartedStreamEvent; readonly messages: readonly ModelMessage[]; readonly runtimeRevision: string; }): Promise<void>;