/** * Feishu/Lark capability for the workflow progress broker. * * Feishu exposes `im.v1.message.update`, so we get the same edit-in-place UX * as Telegram: send the first snapshot, then update the same message on * every subsequent throttled tick. Key events (phase change / new error / * tool_end) bypass the throttle so milestones land promptly. * * Per-bot send rate ~5 msg/sec/account (Feishu open API limit); a 5-second * default throttle leaves comfortable headroom even when several workflows * run concurrently. * * Routing: sessionKey `main:feishu:::`. * - DM peerId is an `open_id` (starts with `ou_`) → use `receive_id_type=open_id`. * - Group / channel peerId is a `chat_id` → use `receive_id_type=chat_id`. * * Failure handling: * - "edit must not modify same content" / "message_not_modified" → swallow, keep id. * - Edit target gone (deleted / 410-class errors) → fall back to a fresh send. * - Other errors → rethrow so the broker logs and drops the update; the next * key event (or the next throttle tick) retries. */ import type { ChannelProgressCapability } from '@xopcai/xopc/agent/workflow/channel-capability.js'; import type { Config } from '@xopcai/xopc/config/schema.js'; export declare function createFeishuWorkflowProgressCapability(opts: { getConfig: () => Config | undefined; }): ChannelProgressCapability;