UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

102 lines • 4.97 kB
import { a as removeAckReactionAfterReply, c as resolveAckReaction, i as createAckReactionHandle, n as AckReactionHandle, o as removeAckReactionHandleAfterReply, r as AckReactionScope, s as shouldAckReaction, t as AckReactionGateParams } from "../ack-reactions-NdNCdtJ_.js"; import { i as logTypingFailure, n as logAckFailure, t as LogFn } from "../logging-qxfDduLa.js"; //#region src/infra/outbound/target-errors.d.ts export 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<void>; /** Clear all status reactions for single-slot platforms such as WhatsApp. */ clearReaction?: () => Promise<void>; /** Remove a specific reaction emoji (optional — needed for Discord-style platforms). */ removeReaction?: (emoji: string) => Promise<void>; }; /** Optional emoji overrides for each status reaction state. */ type StatusReactionEmojis = Partial<typeof DEFAULT_EMOJIS>; /** Timing controls for debounced status reactions and stall warnings. */ type StatusReactionTiming = Partial<typeof DEFAULT_TIMING>; /** Controller API for agent status reaction state transitions. */ type StatusReactionController = { setQueued: () => Promise<void> | void; setThinking: () => Promise<void> | void; setTool: (toolName?: string) => Promise<void> | void; setCompacting: () => Promise<void> | void; /** Cancel any pending debounced emoji (useful before forcing a state transition). */ cancelPending: () => void; setDone: () => Promise<void>; setError: () => Promise<void>; clear: () => Promise<void>; restoreInitial: () => Promise<void>; }; /** Default emoji set used by status reaction controllers. */ export declare const DEFAULT_EMOJIS: { 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; }; /** Default debounce, stall, and terminal hold timings for status reactions. */ export declare const DEFAULT_TIMING: { debounceMs: number; stallSoftMs: number; stallHardMs: number; doneHoldMs: number; errorHoldMs: number; }; /** Tool-name tokens mapped to the coding status reaction. */ export declare const CODING_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the web status reaction. */ export declare const WEB_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the deploy status reaction. */ export declare const DEPLOY_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the build status reaction. */ export declare const BUILD_TOOL_TOKENS: string[]; /** Tool-name tokens mapped to the concierge/browser-control status reaction. */ export declare const CONCIERGE_TOOL_TOKENS: string[]; /** Resolves the appropriate emoji for a tool invocation. */ export declare function resolveToolEmoji(toolName: string | undefined, emojis: Required<StatusReactionEmojis>, emojiOverrides?: StatusReactionEmojis): string; /** Defer reaction removal until cleanup to avoid flicker without atomic replacement. */ export declare function createStatusReactionController(params: { enabled: boolean; adapter: StatusReactionAdapter; initialEmoji: string; /** Acknowledgement keeps one working reaction; only actual errors replace it. */ presentation?: "activity" | "acknowledgement"; emojis?: StatusReactionEmojis; timing?: StatusReactionTiming; onError?: (err: unknown) => void; }): StatusReactionController; //#endregion //#region src/plugin-sdk/channel-feedback.d.ts /** @deprecated Owner policy moved into the WhatsApp plugin (#121257). */ export type WhatsAppAckReactionMode = "always" | "mentions" | "never"; /** * @deprecated Load-only bridge: the published WhatsApp channel package * (2026.7.2-beta.7 and earlier) imports this at module top level, so removing * it makes the installed plugin fail to load after a core upgrade. Behavior * preserved verbatim from the pre-#121257 owner. Remove once managed releases * have replaced the old npm latest/extended-stable packages and their upgrade * window has closed. */ export declare function shouldAckReactionForWhatsApp(params: { emoji: string; isDirect: boolean; isGroup: boolean; directEnabled: boolean; groupMode: WhatsAppAckReactionMode; wasMentioned: boolean; groupActivated: boolean; }): boolean; //#endregion export { type AckReactionGateParams, type AckReactionHandle, type AckReactionScope, type LogFn, type StatusReactionAdapter, type StatusReactionController, type StatusReactionEmojis, type StatusReactionTiming, createAckReactionHandle, logAckFailure, logTypingFailure, removeAckReactionAfterReply, removeAckReactionHandleAfterReply, resolveAckReaction, shouldAckReaction };