@openclaw/feishu 2026.5.10-beta.2 → 2026.5.10-beta.3
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/{accounts-Ba3-WP1z.js → accounts-CP4tDW-z.js} +1 -1
- package/dist/api.js +8 -7
- package/dist/{channel-DCSECj4a.js → channel-B8MvcN0A.js} +11 -11
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-BlDkd6xR.js → channel.runtime-Bt1Lk06Y.js} +6 -6
- package/dist/contract-api.js +2 -2
- package/dist/{conversation-id-DWS3Ep2A.js → conversation-id-Byq1c20x.js} +1 -1
- package/dist/{directory.static-f3EeoRJd.js → directory.static-DqfUoZrD.js} +2 -2
- package/dist/{drive-C5eJLJr7.js → drive-BocW3yO6.js} +2 -2
- package/dist/{monitor-BnbCJWIU.js → monitor-CRLokwPT.js} +3 -3
- package/dist/{monitor.account-88yMtLAU.js → monitor.account-DfYwuKno.js} +20 -13
- package/dist/{monitor.state-DYM02ipp.js → monitor.state-D1WkvOGG.js} +1 -1
- package/dist/{policy-DrLgxWF_.js → policy-iDTxfTYv.js} +2 -2
- package/dist/{send-DKHEQrzH.js → send-DiFpqzBJ.js} +16 -11
- package/dist/{send-result-BVFTskB_.js → send-result-zZZOR3qT.js} +1 -1
- package/dist/{session-conversation-B4nrW-vo.js → session-conversation-BulT2OKc.js} +1 -1
- package/dist/session-key-api.js +1 -1
- package/dist/setup-api.js +1 -1
- package/dist/{subagent-hooks-C3UhPVLV.js → subagent-hooks-BUPKo9Al.js} +4 -4
- package/dist/subagent-hooks-api.js +2 -2
- package/dist/{targets-JMFJRKSe.js → targets-Bb05cFr4.js} +1 -1
- package/dist/{thread-bindings-BmS6TLes.js → thread-bindings-D5kDxq_j.js} +1 -1
- package/package.json +6 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
|
|
2
|
-
import { isRecord, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/
|
|
2
|
+
import { isRecord, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, normalizeAccountId, normalizeOptionalAccountId, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
4
4
|
import { coerceSecretRef } from "openclaw/plugin-sdk/provider-auth";
|
|
5
5
|
//#region extensions/feishu/src/comment-target.ts
|
package/dist/api.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
2
|
-
import { n as createFeishuThreadBindingManager, r as getFeishuThreadBindingManager, t as __testing } from "./thread-bindings-
|
|
3
|
-
import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-
|
|
4
|
-
import { r as listEnabledFeishuAccounts } from "./accounts-
|
|
5
|
-
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-
|
|
1
|
+
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
2
|
+
import { n as createFeishuThreadBindingManager, r as getFeishuThreadBindingManager, t as __testing } from "./thread-bindings-D5kDxq_j.js";
|
|
3
|
+
import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-BUPKo9Al.js";
|
|
4
|
+
import { r as listEnabledFeishuAccounts } from "./accounts-CP4tDW-z.js";
|
|
5
|
+
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-B8MvcN0A.js";
|
|
6
6
|
import { t as getFeishuRuntime } from "./runtime-CG0DuRCy.js";
|
|
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-
|
|
8
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/
|
|
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-BocW3yO6.js";
|
|
8
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { existsSync } from "node:fs";
|
|
10
10
|
import { homedir } from "node:os";
|
|
11
11
|
import { basename, isAbsolute, resolve } from "node:path";
|
|
@@ -628,6 +628,7 @@ function cleanBlocksForInsert(blocks) {
|
|
|
628
628
|
skipped
|
|
629
629
|
};
|
|
630
630
|
}
|
|
631
|
+
/** Max blocks per documentBlockChildren.create request */
|
|
631
632
|
const MAX_CONVERT_RETRY_DEPTH = 8;
|
|
632
633
|
async function convertMarkdown(client, markdown) {
|
|
633
634
|
const res = await client.docx.document.convert({ data: {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
2
|
-
import { n as looksLikeFeishuId, r as normalizeFeishuTarget } from "./targets-
|
|
3
|
-
import { a as resolveDefaultFeishuAccountId, f as isRecord$1, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-
|
|
4
|
-
import { n as createFeishuSendReceipt } from "./send-result-
|
|
5
|
-
import { n as listFeishuDirectoryPeers, t as listFeishuDirectoryGroups } from "./directory.static-
|
|
1
|
+
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
2
|
+
import { n as looksLikeFeishuId, r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
|
|
3
|
+
import { a as resolveDefaultFeishuAccountId, f as isRecord$1, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-CP4tDW-z.js";
|
|
4
|
+
import { n as createFeishuSendReceipt } from "./send-result-zZZOR3qT.js";
|
|
5
|
+
import { n as listFeishuDirectoryPeers, t as listFeishuDirectoryGroups } from "./directory.static-DqfUoZrD.js";
|
|
6
6
|
import { t as messageActionTargetAliases } from "./security-audit-DqJdocrN.js";
|
|
7
|
-
import { o as resolveFeishuGroupToolPolicy } from "./policy-
|
|
7
|
+
import { o as resolveFeishuGroupToolPolicy } from "./policy-iDTxfTYv.js";
|
|
8
8
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-Dm4Z_zQN.js";
|
|
9
9
|
import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-ByuMx9cJ.js";
|
|
10
|
-
import { t as resolveFeishuSessionConversation } from "./session-conversation-
|
|
11
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/
|
|
10
|
+
import { t as resolveFeishuSessionConversation } from "./session-conversation-BulT2OKc.js";
|
|
11
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
12
12
|
import { getSessionBindingService } from "openclaw/plugin-sdk/conversation-runtime";
|
|
13
13
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
14
14
|
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
|
|
@@ -29,7 +29,7 @@ import { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-pri
|
|
|
29
29
|
import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
|
|
30
30
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
31
31
|
import { normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/account-id";
|
|
32
|
-
import { z } from "
|
|
32
|
+
import { z } from "zod";
|
|
33
33
|
import { buildSecretInputSchema, hasConfiguredSecretInput as hasConfiguredSecretInput$2 } from "openclaw/plugin-sdk/secret-input";
|
|
34
34
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, formatDocsLink, hasConfiguredSecretInput as hasConfiguredSecretInput$1, mergeAllowFromEntries, patchTopLevelChannelConfigSection, promptSingleChannelSecretInput, splitSetupEntries } from "openclaw/plugin-sdk/setup";
|
|
35
35
|
//#region extensions/feishu/src/approval-auth.ts
|
|
@@ -811,7 +811,7 @@ const meta = {
|
|
|
811
811
|
aliases: ["lark"],
|
|
812
812
|
order: 70
|
|
813
813
|
};
|
|
814
|
-
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
814
|
+
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Bt1Lk06Y.js"), "feishuChannelRuntime");
|
|
815
815
|
function toFeishuMessageSendResult(result, kind) {
|
|
816
816
|
const receipt = result.receipt ?? createFeishuSendReceipt({
|
|
817
817
|
messageId: result.messageId,
|
|
@@ -1654,7 +1654,7 @@ const feishuPlugin = createChatChannelPlugin({
|
|
|
1654
1654
|
})
|
|
1655
1655
|
}),
|
|
1656
1656
|
gateway: { startAccount: async (ctx) => {
|
|
1657
|
-
const { monitorFeishuProvider } = await import("./monitor-
|
|
1657
|
+
const { monitorFeishuProvider } = await import("./monitor-CRLokwPT.js");
|
|
1658
1658
|
const account = resolveFeishuRuntimeAccount({
|
|
1659
1659
|
cfg: ctx.cfg,
|
|
1660
1660
|
accountId: ctx.accountId
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as feishuPlugin } from "./channel-
|
|
1
|
+
import { t as feishuPlugin } from "./channel-B8MvcN0A.js";
|
|
2
2
|
export { feishuPlugin };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount, y as parseFeishuCommentTarget } from "./accounts-
|
|
2
|
-
import { s as createFeishuCardInteractionEnvelope } from "./send-result-
|
|
3
|
-
import { n as listFeishuDirectoryPeers, t as listFeishuDirectoryGroups } from "./directory.static-
|
|
1
|
+
import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount, y as parseFeishuCommentTarget } from "./accounts-CP4tDW-z.js";
|
|
2
|
+
import { s as createFeishuCardInteractionEnvelope } from "./send-result-zZZOR3qT.js";
|
|
3
|
+
import { n as listFeishuDirectoryPeers, t as listFeishuDirectoryGroups } from "./directory.static-DqfUoZrD.js";
|
|
4
4
|
import { r as createFeishuClient } from "./client-DBVoQL5w.js";
|
|
5
|
-
import { c as getChatInfo, l as getChatMembers, r as cleanupAmbientCommentTypingReaction, t as deliverCommentThreadText, u as getFeishuMemberInfo } from "./drive-
|
|
5
|
+
import { c as getChatInfo, l as getChatMembers, r as cleanupAmbientCommentTypingReaction, t as deliverCommentThreadText, u as getFeishuMemberInfo } from "./drive-BocW3yO6.js";
|
|
6
6
|
import { chunkTextForOutbound } from "./runtime-api.js";
|
|
7
|
-
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-
|
|
7
|
+
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-DiFpqzBJ.js";
|
|
8
8
|
import { t as probeFeishu } from "./probe-BNzzU_uR.js";
|
|
9
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
9
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
10
|
import { interactiveReplyToPresentation, normalizeInteractiveReply, normalizeMessagePresentation, renderMessagePresentationFallbackText, resolveInteractiveTextFallback } from "openclaw/plugin-sdk/interactive-runtime";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
|
package/dist/contract-api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
2
|
-
import { n as createFeishuThreadBindingManager, t as __testing } from "./thread-bindings-
|
|
1
|
+
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
2
|
+
import { n as createFeishuThreadBindingManager, t as __testing } from "./thread-bindings-D5kDxq_j.js";
|
|
3
3
|
import { t as messageActionTargetAliases } from "./security-audit-DqJdocrN.js";
|
|
4
4
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-Dm4Z_zQN.js";
|
|
5
5
|
import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-ByuMx9cJ.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
//#region extensions/feishu/src/conversation-id.ts
|
|
3
3
|
function normalizeText(value) {
|
|
4
4
|
if (typeof value !== "string") return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as normalizeFeishuTarget } from "./targets-
|
|
2
|
-
import { o as resolveFeishuAccount } from "./accounts-
|
|
1
|
+
import { r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
|
|
2
|
+
import { o as resolveFeishuAccount } from "./accounts-CP4tDW-z.js";
|
|
3
3
|
import { listDirectoryGroupEntriesFromMapKeysAndAllowFrom, listDirectoryUserEntriesFromAllowFromAndMapKeys } from "openclaw/plugin-sdk/directory-runtime";
|
|
4
4
|
//#region extensions/feishu/src/directory.static.ts
|
|
5
5
|
function toFeishuDirectoryPeers(ids) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as formatFeishuApiError, f as isRecord$1, h as readString, i as listFeishuAccountIds, l as encodeQuery, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount, u as extractReplyText, y as parseFeishuCommentTarget } from "./accounts-
|
|
1
|
+
import { d as formatFeishuApiError, f as isRecord$1, h as readString, i as listFeishuAccountIds, l as encodeQuery, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount, u as extractReplyText, y as parseFeishuCommentTarget } from "./accounts-CP4tDW-z.js";
|
|
2
2
|
import { r as createFeishuClient } from "./client-DBVoQL5w.js";
|
|
3
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
3
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { Type } from "typebox";
|
|
6
6
|
//#region extensions/feishu/src/tools-config.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-
|
|
2
|
-
import { l as fetchBotIdentityForMonitor } from "./monitor.state-
|
|
1
|
+
import { r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-CP4tDW-z.js";
|
|
2
|
+
import { l as fetchBotIdentityForMonitor } from "./monitor.state-D1WkvOGG.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-DfYwuKno.js");
|
|
7
7
|
return await monitorAccountRuntimePromise;
|
|
8
8
|
}
|
|
9
9
|
async function monitorFeishuProvider(opts = {}) {
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { t as buildFeishuConversationId } from "./conversation-id-
|
|
2
|
-
import { i as resolveReceiveIdType } from "./targets-
|
|
3
|
-
import { n as createFeishuThreadBindingManager } from "./thread-bindings-
|
|
4
|
-
import { _ as buildFeishuCommentTarget, f as isRecord$3, h as readString$2, l as encodeQuery, m as parseCommentContentElements, p as normalizeString, s as resolveFeishuRuntimeAccount, u as extractReplyText, v as normalizeCommentFileType } from "./accounts-
|
|
5
|
-
import { c as decodeFeishuCardAction, o as buildFeishuCardActionTextFallback, s as createFeishuCardInteractionEnvelope } from "./send-result-
|
|
6
|
-
import { a as resolveFeishuGroupSenderActivationIngressAccess, i as resolveFeishuGroupConversationIngressAccess, n as resolveFeishuDmIngressAccess, r as resolveFeishuGroupConfig, s as resolveFeishuReplyPolicy, t as hasExplicitFeishuGroupConfig } from "./policy-
|
|
1
|
+
import { t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
2
|
+
import { i as resolveReceiveIdType } from "./targets-Bb05cFr4.js";
|
|
3
|
+
import { n as createFeishuThreadBindingManager } from "./thread-bindings-D5kDxq_j.js";
|
|
4
|
+
import { _ as buildFeishuCommentTarget, f as isRecord$3, h as readString$2, l as encodeQuery, m as parseCommentContentElements, p as normalizeString, s as resolveFeishuRuntimeAccount, u as extractReplyText, v as normalizeCommentFileType } from "./accounts-CP4tDW-z.js";
|
|
5
|
+
import { c as decodeFeishuCardAction, o as buildFeishuCardActionTextFallback, s as createFeishuCardInteractionEnvelope } from "./send-result-zZZOR3qT.js";
|
|
6
|
+
import { a as resolveFeishuGroupSenderActivationIngressAccess, i as resolveFeishuGroupConversationIngressAccess, n as resolveFeishuDmIngressAccess, r as resolveFeishuGroupConfig, s as resolveFeishuReplyPolicy, t as hasExplicitFeishuGroupConfig } from "./policy-iDTxfTYv.js";
|
|
7
7
|
import { t as getFeishuRuntime } from "./runtime-CG0DuRCy.js";
|
|
8
8
|
import { a as getFeishuUserAgent, i as createFeishuWSClient, n as createEventDispatcher, r as createFeishuClient } from "./client-DBVoQL5w.js";
|
|
9
|
-
import { c as getChatInfo, i as createCommentTypingReactionLifecycle, t as deliverCommentThreadText } from "./drive-
|
|
9
|
+
import { c as getChatInfo, i as createCommentTypingReactionLifecycle, t as deliverCommentThreadText } from "./drive-BocW3yO6.js";
|
|
10
10
|
import { buildAgentMediaPayload, createReplyPrefixContext, evaluateSupplementalContextVisibility, loadSessionStore, normalizeAgentId as normalizeAgentId$1, 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 downloadMessageResourceFeishu, n as getMessageFeishu, p as isFeishuGroupChatType, r as listFeishuThreadMessages, s as sendMessageFeishu, u as extractMentionTargets } from "./send-
|
|
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 downloadMessageResourceFeishu, n as getMessageFeishu, p as isFeishuGroupChatType, r as listFeishuThreadMessages, s as sendMessageFeishu, u as extractMentionTargets } from "./send-DiFpqzBJ.js";
|
|
12
12
|
import { i as waitForAbortableDelay, r as raceWithTimeoutAndAbort } from "./probe-BNzzU_uR.js";
|
|
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-
|
|
14
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString
|
|
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-D1WkvOGG.js";
|
|
14
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
15
15
|
import { ensureConfiguredBindingRouteReady, resolveConfiguredBindingRoute, resolveRuntimeConversationBindingRoute } from "openclaw/plugin-sdk/conversation-runtime";
|
|
16
16
|
import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-message";
|
|
17
17
|
import { createChannelPairingController, createChannelPairingController as createChannelPairingController$1 } from "openclaw/plugin-sdk/channel-pairing";
|
|
18
18
|
import { resolveAgentOutboundIdentity } from "openclaw/plugin-sdk/outbound-runtime";
|
|
19
|
+
import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
|
|
19
20
|
import fs from "node:fs";
|
|
20
21
|
import os from "node:os";
|
|
21
22
|
import path from "node:path";
|
|
@@ -1203,7 +1204,9 @@ function createFeishuReplyDispatcher(params) {
|
|
|
1203
1204
|
const core = getFeishuRuntime();
|
|
1204
1205
|
const { cfg, agentId, chatId, replyToMessageId, skipReplyToInMessages, replyInThread, threadReply, rootId, accountId, identity } = params;
|
|
1205
1206
|
const sendReplyToMessageId = skipReplyToInMessages ? void 0 : replyToMessageId;
|
|
1206
|
-
const
|
|
1207
|
+
const threadReplyMode = threadReply === true;
|
|
1208
|
+
const effectiveReplyInThread = threadReplyMode ? true : replyInThread;
|
|
1209
|
+
const allowTopLevelReplyFallback = effectiveReplyInThread === true && threadReplyMode && rootId !== void 0 && sendReplyToMessageId !== void 0 && sendReplyToMessageId !== rootId;
|
|
1207
1210
|
const account = resolveFeishuRuntimeAccount({
|
|
1208
1211
|
cfg,
|
|
1209
1212
|
accountId
|
|
@@ -1414,6 +1417,7 @@ function createFeishuReplyDispatcher(params) {
|
|
|
1414
1417
|
text: chunk,
|
|
1415
1418
|
replyToMessageId: sendReplyToMessageId,
|
|
1416
1419
|
replyInThread: effectiveReplyInThread,
|
|
1420
|
+
allowTopLevelReplyFallback,
|
|
1417
1421
|
accountId
|
|
1418
1422
|
});
|
|
1419
1423
|
}
|
|
@@ -1434,6 +1438,7 @@ function createFeishuReplyDispatcher(params) {
|
|
|
1434
1438
|
text: chunk,
|
|
1435
1439
|
replyToMessageId: sendReplyToMessageId,
|
|
1436
1440
|
replyInThread: effectiveReplyInThread,
|
|
1441
|
+
allowTopLevelReplyFallback,
|
|
1437
1442
|
accountId
|
|
1438
1443
|
});
|
|
1439
1444
|
}
|
|
@@ -1508,6 +1513,7 @@ function createFeishuReplyDispatcher(params) {
|
|
|
1508
1513
|
text: chunk,
|
|
1509
1514
|
replyToMessageId: sendReplyToMessageId,
|
|
1510
1515
|
replyInThread: effectiveReplyInThread,
|
|
1516
|
+
allowTopLevelReplyFallback,
|
|
1511
1517
|
accountId,
|
|
1512
1518
|
header: cardHeader,
|
|
1513
1519
|
note: cardNote
|
|
@@ -1525,6 +1531,7 @@ function createFeishuReplyDispatcher(params) {
|
|
|
1525
1531
|
text: chunk,
|
|
1526
1532
|
replyToMessageId: sendReplyToMessageId,
|
|
1527
1533
|
replyInThread: effectiveReplyInThread,
|
|
1534
|
+
allowTopLevelReplyFallback,
|
|
1528
1535
|
accountId
|
|
1529
1536
|
});
|
|
1530
1537
|
}
|
|
@@ -3830,7 +3837,7 @@ async function resolveDriveCommentEventCore(params) {
|
|
|
3830
3837
|
return null;
|
|
3831
3838
|
}
|
|
3832
3839
|
const context = await fetchDriveCommentContext({
|
|
3833
|
-
client: createClient ? createClient(account ?? { accountId }) : createFeishuClient((await import("./accounts-
|
|
3840
|
+
client: createClient ? createClient(account ?? { accountId }) : createFeishuClient((await import("./accounts-CP4tDW-z.js").then((n) => n.t)).resolveFeishuAccount({
|
|
3834
3841
|
cfg,
|
|
3835
3842
|
accountId
|
|
3836
3843
|
})),
|
|
@@ -4772,7 +4779,7 @@ async function resolveReactionSyntheticEvent(params) {
|
|
|
4772
4779
|
const senderId = event.user_id?.open_id;
|
|
4773
4780
|
const senderUserId = event.user_id?.user_id;
|
|
4774
4781
|
if (!emoji || !messageId || !senderId) return null;
|
|
4775
|
-
const { resolveFeishuAccount } = await import("./accounts-
|
|
4782
|
+
const { resolveFeishuAccount } = await import("./accounts-CP4tDW-z.js").then((n) => n.t);
|
|
4776
4783
|
const reactionNotifications = resolveFeishuAccount({
|
|
4777
4784
|
cfg,
|
|
4778
4785
|
accountId
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as probeFeishu } from "./probe-BNzzU_uR.js";
|
|
2
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
2
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { WEBHOOK_ANOMALY_COUNTER_DEFAULTS, WEBHOOK_RATE_LIMIT_DEFAULTS, createFixedWindowRateLimiter, createWebhookAnomalyTracker } from "openclaw/plugin-sdk/webhook-ingress";
|
|
4
4
|
//#region extensions/feishu/src/monitor.startup.ts
|
|
5
5
|
const FEISHU_STARTUP_BOT_INFO_TIMEOUT_DEFAULT_MS = 3e4;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as detectIdType } from "./targets-
|
|
2
|
-
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/
|
|
1
|
+
import { t as detectIdType } from "./targets-Bb05cFr4.js";
|
|
2
|
+
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { normalizeAccountId, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
4
4
|
import { createChannelIngressResolver, defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
5
5
|
//#region extensions/feishu/src/policy.ts
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { i as resolveReceiveIdType, r as normalizeFeishuTarget } from "./targets-
|
|
2
|
-
import { c as createFeishuApiError, f as isRecord$2, g as requestFeishuApi, s as resolveFeishuRuntimeAccount } from "./accounts-
|
|
3
|
-
import { i as toFeishuSendResult, r as resolveFeishuReceiptKind, t as assertFeishuMessageApiSuccess } from "./send-result-
|
|
1
|
+
import { i as resolveReceiveIdType, r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
|
|
2
|
+
import { c as createFeishuApiError, f as isRecord$2, g as requestFeishuApi, s as resolveFeishuRuntimeAccount } from "./accounts-CP4tDW-z.js";
|
|
3
|
+
import { i as toFeishuSendResult, r as resolveFeishuReceiptKind, t as assertFeishuMessageApiSuccess } from "./send-result-zZZOR3qT.js";
|
|
4
4
|
import { t as getFeishuRuntime } from "./runtime-CG0DuRCy.js";
|
|
5
5
|
import { r as createFeishuClient } from "./client-DBVoQL5w.js";
|
|
6
|
-
import {
|
|
6
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
|
+
import { convertMarkdownTables } from "openclaw/plugin-sdk/text-chunking";
|
|
7
8
|
import fs from "node:fs";
|
|
8
9
|
import path from "node:path";
|
|
9
10
|
import { mediaKindFromMime } from "openclaw/plugin-sdk/media-mime";
|
|
@@ -836,7 +837,7 @@ async function sendFallbackDirect(client, params, errorPrefix) {
|
|
|
836
837
|
}
|
|
837
838
|
async function sendReplyOrFallbackDirect(client, params) {
|
|
838
839
|
if (!params.replyToMessageId) return sendFallbackDirect(client, params.directParams, params.directErrorPrefix);
|
|
839
|
-
const
|
|
840
|
+
const replyTargetFallbackError = params.replyInThread && params.allowTopLevelReplyFallback !== true ? /* @__PURE__ */ new Error("Feishu thread reply failed: reply target is unavailable and cannot safely fall back to a top-level send.") : null;
|
|
840
841
|
let response;
|
|
841
842
|
try {
|
|
842
843
|
response = await client.im.message.reply({
|
|
@@ -849,11 +850,11 @@ async function sendReplyOrFallbackDirect(client, params) {
|
|
|
849
850
|
});
|
|
850
851
|
} catch (err) {
|
|
851
852
|
if (!isWithdrawnReplyError(err)) throw createFeishuApiError(err, params.replyErrorPrefix, { includeNestedErrorLogId: true });
|
|
852
|
-
if (
|
|
853
|
+
if (replyTargetFallbackError) throw replyTargetFallbackError;
|
|
853
854
|
return sendFallbackDirect(client, params.directParams, params.directErrorPrefix);
|
|
854
855
|
}
|
|
855
856
|
if (shouldFallbackFromReplyTarget(response)) {
|
|
856
|
-
if (
|
|
857
|
+
if (replyTargetFallbackError) throw replyTargetFallbackError;
|
|
857
858
|
return sendFallbackDirect(client, params.directParams, params.directErrorPrefix);
|
|
858
859
|
}
|
|
859
860
|
assertFeishuMessageApiSuccess(response, params.replyErrorPrefix);
|
|
@@ -1029,7 +1030,7 @@ function buildFeishuPostMessagePayload(params) {
|
|
|
1029
1030
|
};
|
|
1030
1031
|
}
|
|
1031
1032
|
async function sendMessageFeishu(params) {
|
|
1032
|
-
const { cfg, to, text, replyToMessageId, replyInThread, mentions, accountId } = params;
|
|
1033
|
+
const { cfg, to, text, replyToMessageId, replyInThread, allowTopLevelReplyFallback, mentions, accountId } = params;
|
|
1033
1034
|
const { client, receiveId, receiveIdType } = resolveFeishuSendTarget({
|
|
1034
1035
|
cfg,
|
|
1035
1036
|
to,
|
|
@@ -1045,6 +1046,7 @@ async function sendMessageFeishu(params) {
|
|
|
1045
1046
|
return sendReplyOrFallbackDirect(client, {
|
|
1046
1047
|
replyToMessageId,
|
|
1047
1048
|
replyInThread,
|
|
1049
|
+
allowTopLevelReplyFallback,
|
|
1048
1050
|
content,
|
|
1049
1051
|
msgType,
|
|
1050
1052
|
directParams: {
|
|
@@ -1058,7 +1060,7 @@ async function sendMessageFeishu(params) {
|
|
|
1058
1060
|
});
|
|
1059
1061
|
}
|
|
1060
1062
|
async function sendCardFeishu(params) {
|
|
1061
|
-
const { cfg, to, card, replyToMessageId, replyInThread, accountId } = params;
|
|
1063
|
+
const { cfg, to, card, replyToMessageId, replyInThread, allowTopLevelReplyFallback, accountId } = params;
|
|
1062
1064
|
const { client, receiveId, receiveIdType } = resolveFeishuSendTarget({
|
|
1063
1065
|
cfg,
|
|
1064
1066
|
to,
|
|
@@ -1068,6 +1070,7 @@ async function sendCardFeishu(params) {
|
|
|
1068
1070
|
return sendReplyOrFallbackDirect(client, {
|
|
1069
1071
|
replyToMessageId,
|
|
1070
1072
|
replyInThread,
|
|
1073
|
+
allowTopLevelReplyFallback,
|
|
1071
1074
|
content,
|
|
1072
1075
|
msgType: "interactive",
|
|
1073
1076
|
directParams: {
|
|
@@ -1169,7 +1172,7 @@ function buildStructuredCard(text, options) {
|
|
|
1169
1172
|
* Send a message as a structured card with optional header and note.
|
|
1170
1173
|
*/
|
|
1171
1174
|
async function sendStructuredCardFeishu(params) {
|
|
1172
|
-
const { cfg, to, text, replyToMessageId, replyInThread, mentions, accountId, header, note } = params;
|
|
1175
|
+
const { cfg, to, text, replyToMessageId, replyInThread, allowTopLevelReplyFallback, mentions, accountId, header, note } = params;
|
|
1173
1176
|
let cardText = text;
|
|
1174
1177
|
if (mentions && mentions.length > 0) cardText = buildMentionedCardContent(mentions, text);
|
|
1175
1178
|
return sendCardFeishu({
|
|
@@ -1181,6 +1184,7 @@ async function sendStructuredCardFeishu(params) {
|
|
|
1181
1184
|
}),
|
|
1182
1185
|
replyToMessageId,
|
|
1183
1186
|
replyInThread,
|
|
1187
|
+
allowTopLevelReplyFallback,
|
|
1184
1188
|
accountId
|
|
1185
1189
|
});
|
|
1186
1190
|
}
|
|
@@ -1189,7 +1193,7 @@ async function sendStructuredCardFeishu(params) {
|
|
|
1189
1193
|
* This renders markdown properly in Feishu (code blocks, tables, bold/italic, etc.)
|
|
1190
1194
|
*/
|
|
1191
1195
|
async function sendMarkdownCardFeishu(params) {
|
|
1192
|
-
const { cfg, to, text, replyToMessageId, replyInThread, mentions, accountId } = params;
|
|
1196
|
+
const { cfg, to, text, replyToMessageId, replyInThread, allowTopLevelReplyFallback, mentions, accountId } = params;
|
|
1193
1197
|
let cardText = text;
|
|
1194
1198
|
if (mentions && mentions.length > 0) cardText = buildMentionedCardContent(mentions, text);
|
|
1195
1199
|
return sendCardFeishu({
|
|
@@ -1198,6 +1202,7 @@ async function sendMarkdownCardFeishu(params) {
|
|
|
1198
1202
|
card: buildMarkdownCard(cardText),
|
|
1199
1203
|
replyToMessageId,
|
|
1200
1204
|
replyInThread,
|
|
1205
|
+
allowTopLevelReplyFallback,
|
|
1201
1206
|
accountId
|
|
1202
1207
|
});
|
|
1203
1208
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as isRecord } from "./accounts-
|
|
1
|
+
import { f as isRecord } from "./accounts-CP4tDW-z.js";
|
|
2
2
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
|
|
3
3
|
//#region extensions/feishu/src/card-interaction.ts
|
|
4
4
|
const FEISHU_CARD_INTERACTION_VERSION = "ocf1";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
1
|
+
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
2
2
|
//#region extensions/feishu/src/session-conversation.ts
|
|
3
3
|
function resolveFeishuParentConversationCandidates(rawId) {
|
|
4
4
|
const parsed = parseFeishuConversationId({ conversationId: rawId });
|
package/dist/session-key-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as resolveFeishuSessionConversation } from "./session-conversation-
|
|
1
|
+
import { t as resolveFeishuSessionConversation } from "./session-conversation-BulT2OKc.js";
|
|
2
2
|
export { resolveFeishuSessionConversation as resolveSessionConversation };
|
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-B8MvcN0A.js";
|
|
2
2
|
export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
|
|
2
|
-
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
3
|
-
import { r as normalizeFeishuTarget } from "./targets-
|
|
4
|
-
import { r as getFeishuThreadBindingManager } from "./thread-bindings-
|
|
5
|
-
import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
2
|
+
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
|
|
3
|
+
import { r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
|
|
4
|
+
import { r as getFeishuThreadBindingManager } from "./thread-bindings-D5kDxq_j.js";
|
|
5
|
+
import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
//#region extensions/feishu/src/subagent-hooks.ts
|
|
7
7
|
var subagent_hooks_exports = /* @__PURE__ */ __exportAll({
|
|
8
8
|
handleFeishuSubagentDeliveryTarget: () => handleFeishuSubagentDeliveryTarget,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-
|
|
1
|
+
import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-BUPKo9Al.js";
|
|
2
2
|
//#region extensions/feishu/subagent-hooks-api.ts
|
|
3
3
|
let feishuSubagentHooksPromise = null;
|
|
4
4
|
function loadFeishuSubagentHooksModule() {
|
|
5
|
-
feishuSubagentHooksPromise ??= import("./subagent-hooks-
|
|
5
|
+
feishuSubagentHooksPromise ??= import("./subagent-hooks-BUPKo9Al.js").then((n) => n.i);
|
|
6
6
|
return feishuSubagentHooksPromise;
|
|
7
7
|
}
|
|
8
8
|
function registerFeishuSubagentHooks(api) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
//#region extensions/feishu/src/targets.ts
|
|
3
3
|
const CHAT_ID_PREFIX = "oc_";
|
|
4
4
|
const OPEN_ID_PREFIX = "ou_";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { registerSessionBindingAdapter, resolveThreadBindingConversationIdFromBindingId, resolveThreadBindingIdleTimeoutMsForChannel, resolveThreadBindingMaxAgeMsForChannel, unregisterSessionBindingAdapter } from "openclaw/plugin-sdk/conversation-runtime";
|
|
3
3
|
import { normalizeAccountId, resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
|
|
4
4
|
//#region extensions/feishu/src/thread-bindings.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/feishu",
|
|
3
|
-
"version": "2026.5.10-beta.
|
|
3
|
+
"version": "2026.5.10-beta.3",
|
|
4
4
|
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
"type": "module",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@larksuiteoapi/node-sdk": "^1.63.1",
|
|
12
|
-
"typebox": "1.1.38"
|
|
12
|
+
"typebox": "1.1.38",
|
|
13
|
+
"zod": "^4.4.3"
|
|
13
14
|
},
|
|
14
15
|
"devDependencies": {
|
|
15
16
|
"@openclaw/plugin-sdk": "workspace:*",
|
|
16
17
|
"openclaw": "workspace:*"
|
|
17
18
|
},
|
|
18
19
|
"peerDependencies": {
|
|
19
|
-
"openclaw": ">=2026.5.10-beta.
|
|
20
|
+
"openclaw": ">=2026.5.10-beta.3"
|
|
20
21
|
},
|
|
21
22
|
"peerDependenciesMeta": {
|
|
22
23
|
"openclaw": {
|
|
@@ -47,10 +48,10 @@
|
|
|
47
48
|
"minHostVersion": ">=2026.4.25"
|
|
48
49
|
},
|
|
49
50
|
"compat": {
|
|
50
|
-
"pluginApi": ">=2026.5.10-beta.
|
|
51
|
+
"pluginApi": ">=2026.5.10-beta.3"
|
|
51
52
|
},
|
|
52
53
|
"build": {
|
|
53
|
-
"openclawVersion": "2026.5.10-beta.
|
|
54
|
+
"openclawVersion": "2026.5.10-beta.3"
|
|
54
55
|
},
|
|
55
56
|
"release": {
|
|
56
57
|
"publishToClawHub": true,
|