import { a as createAckReactionHandle, c as shouldAckReaction, i as WhatsAppAckReactionMode, l as shouldAckReactionForWhatsApp, n as AckReactionHandle, o as removeAckReactionAfterReply, r as AckReactionScope, s as removeAckReactionHandleAfterReply, t as AckReactionGateParams, u as resolveAckReaction } from "./ack-reactions-B29HUA45.js"; import { i as logTypingFailure, n as logAckFailure, t as LogFn } from "./logging-yk8JlYZb.js"; //#region src/infra/outbound/target-errors.d.ts /** * Builds an Error for missing outbound target failures. */ declare function missingTargetError(provider: string, hint?: string): Error; //#endregion //#region src/channels/status-reactions.d.ts /** Adapter implemented by channels that expose message reaction status updates. */ type StatusReactionAdapter = { /** Set/replace the current reaction emoji. */setReaction: (emoji: string) => Promise; /** Clear all status reactions for single-slot platforms such as WhatsApp. */ clearReaction?: () => Promise; /** Remove a specific reaction emoji (optional — needed for Discord-style platforms). */ removeReaction?: (emoji: string) => Promise; }; /** Optional emoji overrides for each status reaction state. */ type StatusReactionEmojis = { queued?: string; thinking?: string; tool?: string; coding?: string; web?: string; deploy?: string; build?: string; concierge?: string; done?: string; error?: string; stallSoft?: string; stallHard?: string; compacting?: string; }; /** Timing controls for debounced status reactions and stall warnings. */ type StatusReactionTiming = { debounceMs?: number; stallSoftMs?: number; stallHardMs?: number; doneHoldMs?: number; errorHoldMs?: number; }; /** Controller API for agent status reaction state transitions. */ type StatusReactionController = { setQueued: () => Promise | void; setThinking: () => Promise | void; setTool: (toolName?: string) => Promise | void; setCompacting: () => Promise | void; /** Cancel any pending debounced emoji (useful before forcing a state transition). */ cancelPending: () => void; setDone: () => Promise; setError: () => Promise; clear: () => Promise; restoreInitial: () => Promise; }; /** Default emoji set used by status reaction controllers. */ declare const DEFAULT_EMOJIS: Required; /** Default debounce, stall, and terminal hold timings for status reactions. */ declare const DEFAULT_TIMING: Required; /** Tool-name tokens mapped to the coding status reaction. */ declare const CODING_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the web status reaction. */ declare const WEB_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the deploy status reaction. */ declare const DEPLOY_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the build status reaction. */ declare const BUILD_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the concierge/browser-control status reaction. */ declare const CONCIERGE_TOOL_TOKENS: string[]; /** Resolves the appropriate emoji for a tool invocation. */ declare function resolveToolEmoji(toolName: string | undefined, emojis: Required, emojiOverrides?: StatusReactionEmojis): string; /** * Create a status reaction controller. * * Features: * - Promise chain serialization (prevents concurrent API calls) * - Debouncing (intermediate states debounce, terminal states are immediate) * - Stall timers (soft/hard warnings on inactivity) * - Terminal state protection (done/error mark finished, subsequent updates ignored) * - Defers reaction removals until final cleanup to avoid visible flicker on * platforms without atomic reaction replacement */ declare function createStatusReactionController(params: { enabled: boolean; adapter: StatusReactionAdapter; initialEmoji: string; emojis?: StatusReactionEmojis; timing?: StatusReactionTiming; onError?: (err: unknown) => void; }): StatusReactionController; //#endregion export { type AckReactionGateParams, type AckReactionHandle, type AckReactionScope, BUILD_TOOL_TOKENS, CODING_TOOL_TOKENS, CONCIERGE_TOOL_TOKENS, DEFAULT_EMOJIS, DEFAULT_TIMING, DEPLOY_TOOL_TOKENS, type LogFn, type StatusReactionAdapter, type StatusReactionController, type StatusReactionEmojis, type StatusReactionTiming, WEB_TOOL_TOKENS, type WhatsAppAckReactionMode, createAckReactionHandle, createStatusReactionController, logAckFailure, logTypingFailure, missingTargetError, removeAckReactionAfterReply, removeAckReactionHandleAfterReply, resolveAckReaction, resolveToolEmoji, shouldAckReaction, shouldAckReactionForWhatsApp };