From ddd1c77b49efd1efbf86ef46ad175b20a1d19380 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 3 Apr 2026 19:06:38 +0900 Subject: [PATCH] perf(feishu): narrow hotspot runtime seams --- extensions/feishu/src/bot.ts | 24 +++++++++++++---------- extensions/feishu/src/media.ts | 3 ++- extensions/feishu/src/policy.ts | 2 +- extensions/feishu/src/reply-dispatcher.ts | 4 ++-- extensions/feishu/src/streaming-card.ts | 2 +- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/extensions/feishu/src/bot.ts b/extensions/feishu/src/bot.ts index 4510f5d2392..affa11d4304 100644 --- a/extensions/feishu/src/bot.ts +++ b/extensions/feishu/src/bot.ts @@ -1,27 +1,31 @@ +import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing"; import { ensureConfiguredBindingRouteReady, resolveConfiguredBindingRoute, } from "openclaw/plugin-sdk/conversation-runtime"; import { getSessionBindingService } from "openclaw/plugin-sdk/conversation-runtime"; +import { resolveAgentOutboundIdentity } from "openclaw/plugin-sdk/outbound-runtime"; +import { + buildPendingHistoryContextFromMap, + clearHistoryEntriesIfEnabled, + DEFAULT_GROUP_HISTORY_LIMIT, + recordPendingHistoryEntryIfEnabled, + type HistoryEntry, +} from "openclaw/plugin-sdk/reply-history"; import { deriveLastRoutePolicy } from "openclaw/plugin-sdk/routing"; import { resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing"; +import { + resolveDefaultGroupPolicy, + resolveOpenProviderRuntimeGroupPolicy, + warnMissingProviderGroupPolicyFallbackOnce, +} from "openclaw/plugin-sdk/runtime-group-policy"; import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; import { buildAgentMediaPayload, - buildPendingHistoryContextFromMap, - clearHistoryEntriesIfEnabled, - createChannelPairingController, - DEFAULT_GROUP_HISTORY_LIMIT, evaluateSupplementalContextVisibility, filterSupplementalContextItems, - type HistoryEntry, normalizeAgentId, - recordPendingHistoryEntryIfEnabled, resolveChannelContextVisibilityMode, - resolveAgentOutboundIdentity, - resolveOpenProviderRuntimeGroupPolicy, - resolveDefaultGroupPolicy, - warnMissingProviderGroupPolicyFallbackOnce, } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { diff --git a/extensions/feishu/src/media.ts b/extensions/feishu/src/media.ts index 7a5cb004d0b..391ba18fd18 100644 --- a/extensions/feishu/src/media.ts +++ b/extensions/feishu/src/media.ts @@ -3,7 +3,8 @@ import path from "path"; import { Readable } from "stream"; import type * as Lark from "@larksuiteoapi/node-sdk"; import { mediaKindFromMime } from "openclaw/plugin-sdk/media-runtime"; -import { withTempDownloadPath, type ClawdbotConfig } from "../runtime-api.js"; +import { withTempDownloadPath } from "openclaw/plugin-sdk/temp-path"; +import type { ClawdbotConfig } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; import { normalizeFeishuExternalKey } from "./external-keys.js"; diff --git a/extensions/feishu/src/policy.ts b/extensions/feishu/src/policy.ts index 7e39b5c22c9..00e5b71cb3b 100644 --- a/extensions/feishu/src/policy.ts +++ b/extensions/feishu/src/policy.ts @@ -3,8 +3,8 @@ import { resolveMergedAccountConfig, } from "openclaw/plugin-sdk/account-resolution"; import type { OpenClawConfig } from "openclaw/plugin-sdk/core"; +import { evaluateSenderGroupAccessForPolicy } from "openclaw/plugin-sdk/group-access"; import type { AllowlistMatch, ChannelGroupContext, GroupToolPolicyConfig } from "../runtime-api.js"; -import { evaluateSenderGroupAccessForPolicy } from "../runtime-api.js"; import { normalizeFeishuTarget } from "./targets.js"; import type { FeishuConfig, FeishuGroupConfig } from "./types.js"; diff --git a/extensions/feishu/src/reply-dispatcher.ts b/extensions/feishu/src/reply-dispatcher.ts index 131c0d3ca41..03818052f70 100644 --- a/extensions/feishu/src/reply-dispatcher.ts +++ b/extensions/feishu/src/reply-dispatcher.ts @@ -1,12 +1,12 @@ +import { logTypingFailure } from "openclaw/plugin-sdk/channel-feedback"; +import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline"; import { resolveSendableOutboundReplyParts, resolveTextChunksWithFallback, sendMediaWithLeadingCaption, } from "openclaw/plugin-sdk/reply-payload"; import { - createChannelReplyPipeline, createReplyPrefixContext, - logTypingFailure, type ClawdbotConfig, type OutboundIdentity, type ReplyPayload, diff --git a/extensions/feishu/src/streaming-card.ts b/extensions/feishu/src/streaming-card.ts index c7ca0c4a445..ee4964e4413 100644 --- a/extensions/feishu/src/streaming-card.ts +++ b/extensions/feishu/src/streaming-card.ts @@ -3,7 +3,7 @@ */ import type { Client } from "@larksuiteoapi/node-sdk"; -import { fetchWithSsrFGuard } from "../runtime-api.js"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime"; import { resolveFeishuCardTemplate, type CardHeaderConfig } from "./send.js"; import type { FeishuDomain } from "./types.js";