@openclaw/feishu 2026.5.26 → 2026.5.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +1 -1
- package/dist/{channel-DavfT_AA.js → channel-DS2vP1nr.js} +4 -5
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-ItBg9SfS.js → channel.runtime-CxRDzbEQ.js} +2 -2
- package/dist/{monitor-gFxvkDyO.js → monitor-DNYcF9wy.js} +1 -1
- package/dist/{monitor.account-CmXHWuwG.js → monitor.account-vUWzYlT_.js} +69 -46
- package/dist/runtime-api.js +1 -1
- package/dist/{send-DQClIwTI.js → send-jDh7bucI.js} +1 -1
- package/dist/{send-result-CHvu8Rr7.js → send-result-DSTSkRDM.js} +1 -1
- package/dist/setup-api.js +1 -1
- package/npm-shrinkwrap.json +3 -3
- package/openclaw.plugin.json +2 -0
- package/package.json +5 -5
package/dist/api.js
CHANGED
|
@@ -2,7 +2,7 @@ import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as bu
|
|
|
2
2
|
import { n as getFeishuThreadBindingManager, r as testing, t as createFeishuThreadBindingManager } from "./thread-bindings-D24m3Cjy.js";
|
|
3
3
|
import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-fuyBHOVu.js";
|
|
4
4
|
import { r as listEnabledFeishuAccounts } from "./accounts-CXnY5H8g.js";
|
|
5
|
-
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-
|
|
5
|
+
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-DS2vP1nr.js";
|
|
6
6
|
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.js";
|
|
7
7
|
import { a as jsonToolResult, d as registerFeishuChatTools, f as createFeishuToolClient, m as resolveFeishuToolAccount, n as registerFeishuDriveTools, o as toolExecutionErrorResult, p as resolveAnyEnabledFeishuToolsConfig, s as unknownToolActionResult } from "./drive-DwgWWkJi.js";
|
|
8
8
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readStringValue, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-DuL575sn.js";
|
|
2
2
|
import { n as looksLikeFeishuId, r as normalizeFeishuTarget, t as detectIdType } from "./targets-BUjQ1TcA.js";
|
|
3
3
|
import { a as resolveDefaultFeishuAccountId, f as isRecord$2, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-CXnY5H8g.js";
|
|
4
|
-
import { n as createFeishuSendReceipt, s as createFeishuCardInteractionEnvelope } from "./send-result-
|
|
4
|
+
import { n as createFeishuSendReceipt, s as createFeishuCardInteractionEnvelope } from "./send-result-DSTSkRDM.js";
|
|
5
5
|
import { t as messageActionTargetAliases } from "./security-audit-BIeA3W3Q.js";
|
|
6
6
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-ChjJKAJ9.js";
|
|
7
7
|
import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-BIHeF-S_.js";
|
|
@@ -13,13 +13,12 @@ import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
|
13
13
|
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
|
|
14
14
|
import { adaptScopedAccountAccessor, createHybridChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
15
15
|
import { buildChannelOutboundSessionRoute, createChatChannelPlugin, stripChannelTargetPrefix } from "openclaw/plugin-sdk/channel-core";
|
|
16
|
-
import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-
|
|
16
|
+
import { createRuntimeOutboundDelegates, defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-outbound";
|
|
17
17
|
import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
|
|
18
18
|
import { createAllowlistProviderGroupPolicyWarningCollector, projectConfigAccountIdWarningCollector } from "openclaw/plugin-sdk/channel-policy";
|
|
19
19
|
import { createChannelDirectoryAdapter, createRuntimeDirectoryLiveAdapter, listDirectoryGroupEntriesFromMapKeysAndAllowFrom, listDirectoryUserEntriesFromAllowFromAndMapKeys } from "openclaw/plugin-sdk/directory-runtime";
|
|
20
20
|
import { normalizeMessagePresentation, renderMessagePresentationFallbackText } from "openclaw/plugin-sdk/interactive-runtime";
|
|
21
21
|
import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
22
|
-
import { createRuntimeOutboundDelegates } from "openclaw/plugin-sdk/outbound-runtime";
|
|
23
22
|
import { buildProbeChannelStatusSummary, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
|
|
24
23
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$2, normalizeAccountId as normalizeAccountId$1, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
25
24
|
import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
@@ -1723,7 +1722,7 @@ const meta = {
|
|
|
1723
1722
|
aliases: ["lark"],
|
|
1724
1723
|
order: 70
|
|
1725
1724
|
};
|
|
1726
|
-
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
1725
|
+
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CxRDzbEQ.js"), "feishuChannelRuntime");
|
|
1727
1726
|
function toFeishuMessageSendResult(result, kind) {
|
|
1728
1727
|
const receipt = result.receipt ?? createFeishuSendReceipt({
|
|
1729
1728
|
messageId: result.messageId,
|
|
@@ -2543,7 +2542,7 @@ const feishuPlugin = createChatChannelPlugin({
|
|
|
2543
2542
|
})
|
|
2544
2543
|
}),
|
|
2545
2544
|
gateway: { startAccount: async (ctx) => {
|
|
2546
|
-
const { monitorFeishuProvider } = await import("./monitor-
|
|
2545
|
+
const { monitorFeishuProvider } = await import("./monitor-DNYcF9wy.js");
|
|
2547
2546
|
const account = resolveFeishuRuntimeAccount({
|
|
2548
2547
|
cfg: ctx.cfg,
|
|
2549
2548
|
accountId: ctx.accountId
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as feishuPlugin } from "./channel-
|
|
1
|
+
import { t as feishuPlugin } from "./channel-DS2vP1nr.js";
|
|
2
2
|
export { feishuPlugin };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount, y as parseFeishuCommentTarget } from "./accounts-CXnY5H8g.js";
|
|
2
|
-
import { h as listFeishuDirectoryPeers, m as listFeishuDirectoryGroups, o as buildFeishuPresentationCardElements } from "./channel-
|
|
2
|
+
import { h as listFeishuDirectoryPeers, m as listFeishuDirectoryGroups, o as buildFeishuPresentationCardElements } from "./channel-DS2vP1nr.js";
|
|
3
3
|
import { r as createFeishuClient } from "./client-BnH2fRL2.js";
|
|
4
4
|
import { c as getChatInfo, l as getChatMembers, r as cleanupAmbientCommentTypingReaction, t as deliverCommentThreadText, u as getFeishuMemberInfo } from "./drive-DwgWWkJi.js";
|
|
5
5
|
import { chunkTextForOutbound } from "./runtime-api.js";
|
|
6
|
-
import { a as sendCardFeishu, c as sendStructuredCardFeishu, g as shouldSuppressFeishuTextForVoiceMedia, h as sendMediaFeishu, i as resolveFeishuCardTemplate, n as getMessageFeishu, o as sendMarkdownCardFeishu, s as sendMessageFeishu, t as editMessageFeishu } from "./send-
|
|
6
|
+
import { a as sendCardFeishu, c as sendStructuredCardFeishu, g as shouldSuppressFeishuTextForVoiceMedia, h as sendMediaFeishu, i as resolveFeishuCardTemplate, n as getMessageFeishu, o as sendMarkdownCardFeishu, s as sendMessageFeishu, t as editMessageFeishu } from "./send-jDh7bucI.js";
|
|
7
7
|
import { t as probeFeishu } from "./probe-Da81t6a5.js";
|
|
8
8
|
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { interactiveReplyToPresentation, normalizeInteractiveReply, normalizeMessagePresentation, renderMessagePresentationFallbackText, resolveInteractiveTextFallback } from "openclaw/plugin-sdk/interactive-runtime";
|
|
@@ -3,7 +3,7 @@ import { l as fetchBotIdentityForMonitor } from "./monitor.state-CxrHFQX2.js";
|
|
|
3
3
|
//#region extensions/feishu/src/monitor.ts
|
|
4
4
|
let monitorAccountRuntimePromise;
|
|
5
5
|
async function loadMonitorAccountRuntime() {
|
|
6
|
-
monitorAccountRuntimePromise ??= import("./monitor.account-
|
|
6
|
+
monitorAccountRuntimePromise ??= import("./monitor.account-vUWzYlT_.js");
|
|
7
7
|
return await monitorAccountRuntimePromise;
|
|
8
8
|
}
|
|
9
9
|
async function monitorFeishuProvider(opts = {}) {
|
|
@@ -2,21 +2,20 @@ import { t as buildFeishuConversationId } from "./conversation-id-DuL575sn.js";
|
|
|
2
2
|
import { i as resolveReceiveIdType } from "./targets-BUjQ1TcA.js";
|
|
3
3
|
import { t as createFeishuThreadBindingManager } from "./thread-bindings-D24m3Cjy.js";
|
|
4
4
|
import { _ as buildFeishuCommentTarget, f as isRecord$1, h as readString, l as encodeQuery, m as parseCommentContentElements, p as normalizeString, s as resolveFeishuRuntimeAccount, u as extractReplyText, v as normalizeCommentFileType } from "./accounts-CXnY5H8g.js";
|
|
5
|
-
import { c as normalizeFeishuAllowEntry, d as resolveFeishuGroupConversationIngressAccess, f as resolveFeishuGroupSenderActivationIngressAccess, l as resolveFeishuDmIngressAccess, p as resolveFeishuReplyPolicy, s as hasExplicitFeishuGroupConfig, u as resolveFeishuGroupConfig } from "./channel-
|
|
6
|
-
import { c as decodeFeishuCardAction, o as buildFeishuCardActionTextFallback, s as createFeishuCardInteractionEnvelope } from "./send-result-
|
|
5
|
+
import { c as normalizeFeishuAllowEntry, d as resolveFeishuGroupConversationIngressAccess, f as resolveFeishuGroupSenderActivationIngressAccess, l as resolveFeishuDmIngressAccess, p as resolveFeishuReplyPolicy, s as hasExplicitFeishuGroupConfig, u as resolveFeishuGroupConfig } from "./channel-DS2vP1nr.js";
|
|
6
|
+
import { c as decodeFeishuCardAction, o as buildFeishuCardActionTextFallback, s as createFeishuCardInteractionEnvelope } from "./send-result-DSTSkRDM.js";
|
|
7
7
|
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.js";
|
|
8
8
|
import { a as getFeishuUserAgent, i as createFeishuWSClient, n as createEventDispatcher, r as createFeishuClient } from "./client-BnH2fRL2.js";
|
|
9
9
|
import { c as getChatInfo, i as createCommentTypingReactionLifecycle, t as deliverCommentThreadText } from "./drive-DwgWWkJi.js";
|
|
10
|
-
import {
|
|
11
|
-
import { _ as normalizeFeishuExternalKey, a as sendCardFeishu, c as sendStructuredCardFeishu, d as isFeishuBroadcastMention, f as isMentionForwardRequest, g as shouldSuppressFeishuTextForVoiceMedia, h as sendMediaFeishu, i as resolveFeishuCardTemplate, l as parsePostContent, m as saveMessageResourceFeishu, n as getMessageFeishu, p as isFeishuGroupChatType, r as listFeishuThreadMessages, s as sendMessageFeishu, u as extractMentionTargets } from "./send-
|
|
10
|
+
import { createReplyPrefixContext, evaluateSupplementalContextVisibility, loadSessionStore, normalizeAgentId as normalizeAgentId$2, resolveChannelContextVisibilityMode, resolveSessionStoreEntry } from "./runtime-api.js";
|
|
11
|
+
import { _ as normalizeFeishuExternalKey, a as sendCardFeishu, c as sendStructuredCardFeishu, d as isFeishuBroadcastMention, f as isMentionForwardRequest, g as shouldSuppressFeishuTextForVoiceMedia, h as sendMediaFeishu, i as resolveFeishuCardTemplate, l as parsePostContent, m as saveMessageResourceFeishu, n as getMessageFeishu, p as isFeishuGroupChatType, r as listFeishuThreadMessages, s as sendMessageFeishu, u as extractMentionTargets } from "./send-jDh7bucI.js";
|
|
12
12
|
import { i as waitForAbortableDelay, r as raceWithTimeoutAndAbort } from "./probe-Da81t6a5.js";
|
|
13
13
|
import { a as feishuWebhookRateLimiter, c as wsClients, i as botOpenIds, l as fetchBotIdentityForMonitor, n as FEISHU_WEBHOOK_MAX_BODY_BYTES, o as httpServers, r as botNames, s as recordWebhookStatus, t as FEISHU_WEBHOOK_BODY_TIMEOUT_MS } from "./monitor.state-CxrHFQX2.js";
|
|
14
14
|
import { asBoolean, asNullableRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readStringValue, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
15
15
|
import { ensureConfiguredBindingRouteReady, resolveConfiguredBindingRoute, resolveRuntimeConversationBindingRoute } from "openclaw/plugin-sdk/conversation-runtime";
|
|
16
16
|
import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
|
|
17
|
-
import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-
|
|
17
|
+
import { createChannelMessageReplyPipeline, formatChannelProgressDraftLineForEntry, isChannelProgressDraftWorkToolName, resolveAgentOutboundIdentity } from "openclaw/plugin-sdk/channel-outbound";
|
|
18
18
|
import { createChannelPairingController, createChannelPairingController as createChannelPairingController$1 } from "openclaw/plugin-sdk/channel-pairing";
|
|
19
|
-
import { resolveAgentOutboundIdentity } from "openclaw/plugin-sdk/outbound-runtime";
|
|
20
19
|
import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
|
|
21
20
|
import fs from "node:fs";
|
|
22
21
|
import os from "node:os";
|
|
@@ -31,11 +30,11 @@ import { resolvePinnedMainDmOwnerFromAllowlist, safeEqualSecret } from "openclaw
|
|
|
31
30
|
import * as crypto$1 from "node:crypto";
|
|
32
31
|
import crypto from "node:crypto";
|
|
33
32
|
import { resolveChannelConfigWrites } from "openclaw/plugin-sdk/channel-config-writes";
|
|
33
|
+
import { buildChannelInboundEventContext, toInboundMediaFacts } from "openclaw/plugin-sdk/channel-inbound";
|
|
34
34
|
import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
|
|
35
35
|
import { resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
36
36
|
import { formatReasoningMessage } from "openclaw/plugin-sdk/agent-runtime";
|
|
37
37
|
import { logTypingFailure } from "openclaw/plugin-sdk/channel-feedback";
|
|
38
|
-
import { formatChannelProgressDraftLineForEntry, isChannelProgressDraftWorkToolName } from "openclaw/plugin-sdk/channel-streaming";
|
|
39
38
|
import * as http from "node:http";
|
|
40
39
|
import { installRequestBodyLimitGuard, readWebhookBodyOrReject } from "openclaw/plugin-sdk/webhook-request-guards";
|
|
41
40
|
import { isAbortRequestText, isBtwRequestText } from "openclaw/plugin-sdk/command-primitives-runtime";
|
|
@@ -2212,7 +2211,6 @@ async function handleFeishuMessage(params) {
|
|
|
2212
2211
|
log(`feishu[${account.accountId}]: skipping empty message (no text, no media) from ${ctx.senderOpenId}`);
|
|
2213
2212
|
return;
|
|
2214
2213
|
}
|
|
2215
|
-
const mediaPayload = buildAgentMediaPayload(mediaList);
|
|
2216
2214
|
const audioTranscript = await resolveFeishuAudioPreflightTranscript({
|
|
2217
2215
|
cfg: effectiveCfg,
|
|
2218
2216
|
mediaList,
|
|
@@ -2221,6 +2219,7 @@ async function handleFeishuMessage(params) {
|
|
|
2221
2219
|
log
|
|
2222
2220
|
});
|
|
2223
2221
|
const preflightAudioIndex = audioTranscript === void 0 ? -1 : mediaList.findIndex((media) => media.contentType?.startsWith("audio/"));
|
|
2222
|
+
const inboundMedia = toInboundMediaFacts(mediaList, { transcribed: (_media, index) => index === preflightAudioIndex });
|
|
2224
2223
|
const agentFacingContent = audioTranscript ?? ctx.content;
|
|
2225
2224
|
const agentFacingCtx = audioTranscript === void 0 ? ctx : {
|
|
2226
2225
|
...ctx,
|
|
@@ -2425,40 +2424,64 @@ async function handleFeishuMessage(params) {
|
|
|
2425
2424
|
const buildCtxPayloadForAgent = async (agentId, agentSessionKey, agentAccountId, wasMentioned) => {
|
|
2426
2425
|
const groupName = await resolveGroupNameForLabel();
|
|
2427
2426
|
const threadContext = await resolveThreadContextForAgent(agentId, agentSessionKey, groupName);
|
|
2428
|
-
return
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2427
|
+
return buildChannelInboundEventContext({
|
|
2428
|
+
channel: "feishu",
|
|
2429
|
+
finalize: core.channel.reply.finalizeInboundContext,
|
|
2430
|
+
supplemental: {
|
|
2431
|
+
quote: quotedContent ? {
|
|
2432
|
+
id: ctx.parentId,
|
|
2433
|
+
body: quotedContent
|
|
2434
|
+
} : void 0,
|
|
2435
|
+
thread: {
|
|
2436
|
+
starterBody: threadContext.threadStarterBody,
|
|
2437
|
+
historyBody: threadContext.threadHistoryBody,
|
|
2438
|
+
label: threadContext.threadLabel
|
|
2439
|
+
},
|
|
2440
|
+
groupSystemPrompt: isGroup ? normalizeOptionalString(groupConfig?.systemPrompt) : void 0
|
|
2441
|
+
},
|
|
2442
|
+
media: inboundMedia,
|
|
2443
|
+
messageId: ctx.messageId,
|
|
2444
|
+
timestamp: messageCreateTimeMs,
|
|
2445
|
+
from: feishuFrom,
|
|
2446
|
+
sender: {
|
|
2447
|
+
id: ctx.senderOpenId,
|
|
2448
|
+
name: ctx.senderName ?? ctx.senderOpenId
|
|
2449
|
+
},
|
|
2450
|
+
conversation: {
|
|
2451
|
+
kind: isGroup ? "group" : "direct",
|
|
2452
|
+
id: ctx.chatId,
|
|
2453
|
+
label: isGroup && groupName && !isTopicSessionForThread ? groupName : void 0,
|
|
2454
|
+
threadId: ctx.rootId && isTopicSessionForThread ? ctx.rootId : void 0
|
|
2455
|
+
},
|
|
2456
|
+
route: {
|
|
2457
|
+
agentId,
|
|
2458
|
+
accountId: agentAccountId,
|
|
2459
|
+
routeSessionKey: agentSessionKey
|
|
2460
|
+
},
|
|
2461
|
+
reply: {
|
|
2462
|
+
to: feishuTo,
|
|
2463
|
+
replyToId: ctx.parentId,
|
|
2464
|
+
messageThreadId: ctx.rootId && isTopicSessionForThread ? ctx.rootId : void 0
|
|
2465
|
+
},
|
|
2466
|
+
message: {
|
|
2467
|
+
body: combinedBody,
|
|
2468
|
+
bodyForAgent: messageBody,
|
|
2469
|
+
inboundHistory,
|
|
2470
|
+
rawBody: agentFacingContent,
|
|
2471
|
+
commandBody: agentFacingContent
|
|
2472
|
+
},
|
|
2473
|
+
access: {
|
|
2474
|
+
mentions: {
|
|
2475
|
+
canDetectMention: isGroup,
|
|
2476
|
+
wasMentioned
|
|
2477
|
+
},
|
|
2478
|
+
commands: { authorized: commandAuthorized }
|
|
2479
|
+
},
|
|
2480
|
+
extra: {
|
|
2481
|
+
RootMessageId: ctx.rootId,
|
|
2482
|
+
Transcript: audioTranscript,
|
|
2483
|
+
GroupSubject: isGroup ? groupName || ctx.chatId : void 0
|
|
2484
|
+
}
|
|
2462
2485
|
});
|
|
2463
2486
|
};
|
|
2464
2487
|
const isTopicSession = isGroup && (groupSession?.groupSessionScope === "group_topic" || groupSession?.groupSessionScope === "group_topic_sender");
|
|
@@ -2543,7 +2566,7 @@ async function handleFeishuMessage(params) {
|
|
|
2543
2566
|
messageCreateTimeMs
|
|
2544
2567
|
});
|
|
2545
2568
|
log(`feishu[${account.accountId}]: broadcast active dispatch agent=${agentId} (session=${agentSessionKey})`);
|
|
2546
|
-
await core.channel.
|
|
2569
|
+
await core.channel.inbound.run({
|
|
2547
2570
|
channel: "feishu",
|
|
2548
2571
|
accountId: route.accountId,
|
|
2549
2572
|
raw: ctx,
|
|
@@ -2601,7 +2624,7 @@ async function handleFeishuMessage(params) {
|
|
|
2601
2624
|
markComplete: () => {}
|
|
2602
2625
|
};
|
|
2603
2626
|
log(`feishu[${account.accountId}]: broadcast observer dispatch agent=${agentId} (session=${agentSessionKey})`);
|
|
2604
|
-
await core.channel.
|
|
2627
|
+
await core.channel.inbound.run({
|
|
2605
2628
|
channel: "feishu",
|
|
2606
2629
|
accountId: route.accountId,
|
|
2607
2630
|
raw: ctx,
|
|
@@ -2675,7 +2698,7 @@ async function handleFeishuMessage(params) {
|
|
|
2675
2698
|
messageCreateTimeMs
|
|
2676
2699
|
});
|
|
2677
2700
|
log(`feishu[${account.accountId}]: dispatching to agent (session=${route.sessionKey})`);
|
|
2678
|
-
const turnResult = await core.channel.
|
|
2701
|
+
const turnResult = await core.channel.inbound.run({
|
|
2679
2702
|
channel: "feishu",
|
|
2680
2703
|
accountId: route.accountId,
|
|
2681
2704
|
raw: ctx,
|
|
@@ -4212,7 +4235,7 @@ async function handleFeishuCommentEvent(params) {
|
|
|
4212
4235
|
let dispatchSettledBeforeStart = false;
|
|
4213
4236
|
try {
|
|
4214
4237
|
log(`feishu[${account.accountId}]: dispatching drive comment to agent (session=${commentSessionKey} comment=${turn.commentId} type=${turn.noticeType})`);
|
|
4215
|
-
const turnResult = await core.channel.
|
|
4238
|
+
const turnResult = await core.channel.inbound.run({
|
|
4216
4239
|
channel: "feishu",
|
|
4217
4240
|
accountId: route.accountId,
|
|
4218
4241
|
raw: turn,
|
package/dist/runtime-api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as setFeishuRuntime } from "./runtime-C5JxBWZp.js";
|
|
2
2
|
import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
|
|
3
|
-
import { createReplyPrefixContext } from "openclaw/plugin-sdk/channel-
|
|
3
|
+
import { createReplyPrefixContext } from "openclaw/plugin-sdk/channel-outbound";
|
|
4
4
|
import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
|
|
5
5
|
import { PAIRING_APPROVED_MESSAGE, buildProbeChannelStatusSummary, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/channel-status";
|
|
6
6
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as resolveReceiveIdType, r as normalizeFeishuTarget } from "./targets-BUjQ1TcA.js";
|
|
2
2
|
import { c as createFeishuApiError, f as isRecord$1, g as requestFeishuApi, s as resolveFeishuRuntimeAccount } from "./accounts-CXnY5H8g.js";
|
|
3
|
-
import { i as toFeishuSendResult, r as resolveFeishuReceiptKind, t as assertFeishuMessageApiSuccess } from "./send-result-
|
|
3
|
+
import { i as toFeishuSendResult, r as resolveFeishuReceiptKind, t as assertFeishuMessageApiSuccess } from "./send-result-DSTSkRDM.js";
|
|
4
4
|
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.js";
|
|
5
5
|
import { r as createFeishuClient } from "./client-BnH2fRL2.js";
|
|
6
6
|
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as isRecord } from "./accounts-CXnY5H8g.js";
|
|
2
|
-
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-
|
|
2
|
+
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
3
3
|
//#region extensions/feishu/src/card-interaction.ts
|
|
4
4
|
const FEISHU_CARD_INTERACTION_VERSION = "ocf1";
|
|
5
5
|
function isInteractionKind(value) {
|
package/dist/setup-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-
|
|
1
|
+
import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-DS2vP1nr.js";
|
|
2
2
|
export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/feishu",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.27",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/feishu",
|
|
9
|
-
"version": "2026.5.
|
|
9
|
+
"version": "2026.5.27",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@larksuiteoapi/node-sdk": "1.65.0",
|
|
12
12
|
"typebox": "1.1.38",
|
|
13
13
|
"zod": "4.4.3"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"openclaw": ">=2026.5.
|
|
16
|
+
"openclaw": ">=2026.5.27"
|
|
17
17
|
},
|
|
18
18
|
"peerDependenciesMeta": {
|
|
19
19
|
"openclaw": {
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/feishu",
|
|
3
|
-
"version": "2026.5.
|
|
4
|
-
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
|
|
3
|
+
"version": "2026.5.27",
|
|
4
|
+
"description": "OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/openclaw/openclaw"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"zod": "4.4.3"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"openclaw": ">=2026.5.
|
|
16
|
+
"openclaw": ">=2026.5.27"
|
|
17
17
|
},
|
|
18
18
|
"peerDependenciesMeta": {
|
|
19
19
|
"openclaw": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"minHostVersion": ">=2026.4.25"
|
|
45
45
|
},
|
|
46
46
|
"compat": {
|
|
47
|
-
"pluginApi": ">=2026.5.
|
|
47
|
+
"pluginApi": ">=2026.5.27"
|
|
48
48
|
},
|
|
49
49
|
"build": {
|
|
50
|
-
"openclawVersion": "2026.5.
|
|
50
|
+
"openclawVersion": "2026.5.27"
|
|
51
51
|
},
|
|
52
52
|
"release": {
|
|
53
53
|
"publishToClawHub": true,
|