import type { ModelMessage } from "ai"; import type { HandleMessageStreamEvent } from "#protocol/message.js"; import type { ResolvedDynamicSkillResolver } from "#runtime/types.js"; import type { ContextContainer } from "#context/container.js"; import { ContextKey } from "#context/key.js"; /** * Durable pending skill announcement text. Set by * {@link dispatchDynamicSkillEvent} whenever the dynamic skill manifest * changes. Read by the tool-loop to inject the announcement into model * context. */ export declare const PendingSkillAnnouncementKey: ContextKey; /** * Dispatches a stream event to dynamic skill resolvers. On a matching * event: runs handlers, materializes resolved skills to the sandbox, * cleans up removed skills, and stores a pending announcement for the * tool-loop to inject. */ export declare function dispatchDynamicSkillEvent(input: { readonly ctx: ContextContainer; readonly resolvers: readonly ResolvedDynamicSkillResolver[]; readonly event: HandleMessageStreamEvent; readonly messages: readonly ModelMessage[]; }): Promise;