@openclaw/feishu 2026.9.7 → 2026.9.9
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/.setup/{channel-DV4hM2Uf.mjs → channel-DtxcN3Fx.mjs} +3 -3
- package/dist/.setup/{channel.runtime-CXQcH5zZ.mjs → channel.runtime-BHF5LhwF.mjs} +3 -3
- package/dist/.setup/{chat-D8MlFAZi.mjs → chat-Cjr4bdPV.mjs} +1 -1
- package/dist/.setup/{monitor-D_rsHBZ6.mjs → monitor-DyUUHVHy.mjs} +1 -1
- package/dist/.setup/{monitor.account-DvvY7i6k.mjs → monitor.account-DuKFCzmA.mjs} +11 -7
- package/dist/.setup/{reply-delivery-result-COAjaukc.mjs → reply-delivery-result-DvHwvZCt.mjs} +23 -1
- package/dist/.setup/{setup-api-C4S5I3ac.mjs → setup-api-CuzYzoyE.mjs} +1 -1
- package/dist/api.js +3 -3
- package/dist/channel-plugin-api.js +1 -1
- package/dist/setup-api.js +1 -1
- package/dist/setup-entry.js +1 -1
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as normalizeFeishuWebhookPath, c as __reExport, i as DEFAULT_FEISHU_WEBHOOK_PATH, n as normalizeCompatibilityConfig, o as normalizeFeishuExternalKey, r as FeishuChannelConfigSchema, s as __exportAll, t as legacyConfigRules } from "./doctor-contract-3XC0vbIw.mjs";
|
|
2
2
|
import { a as mergeFeishuAccountConfig, c as resolveFeishuRuntimeAccount, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveDefaultFeishuAccountId, r as listEnabledFeishuAccounts, s as resolveFeishuAccount } from "./accounts-wRqItHug.mjs";
|
|
3
3
|
import { a as parseFeishuTargetId, c as looksLikeFeishuId, i as parseFeishuDirectConversationId, l as normalizeFeishuTarget, n as buildFeishuModelOverrideParentCandidates, o as resolveConfiguredFeishuGroupSessionScope, r as parseFeishuConversationId, t as buildFeishuConversationId, u as resolveReceiveIdType } from "./conversation-id-C1ofUfU8.mjs";
|
|
4
|
-
import { $ as cleanupAmbientCommentTypingReaction, A as sendMessageFeishu, At as resolveFeishuGroupToolPolicy, Ct as resolveFeishuChatReadPreliminaryAuthorization, Dt as resolveFeishuGroupConfig, G as deliverCommentThreadText, H as buildFeishuMediaFallbackText, M as toFeishuMessageSendResult, Mt as normalizeFeishuChatType, Nt as resolveFeishuChatType, S as sendMediaFeishu, St as readFeishuChatInfoWithAuthorization, T as chunkFeishuCardMarkdown, W as resolveFeishuIdentityHeaderTitle, _ as renderFeishuPresentationPayload, _t as authorizeFeishuChatMemberRead, b as withinCardTableLimit, bt as isFeishuGroupReadAllowed, c as buildFeishuPayloadCard, ct as parseFeishuCommentTarget, d as consumeFeishuPresentationFallbackMarker, dt as chunkFeishuMarkdown, f as feishuCardWithinTableLimit, ft as chunkFeishuPostMarkdown, g as renderFeishuPresentationFallbackText, gt as assertFeishuChatReadAllowed, h as readNativeFeishuCard, ht as shouldUseFeishuCard, j as sendStructuredCardFeishu, k as sendCardFeishu, l as buildFeishuPresentationCard, lt as readNativeFeishuCardJson, m as markRenderedFeishuCard, n as createFeishuReplyDeliveryResult, o as FEISHU_PRESENTATION_CAPABILITIES, p as isFeishuCardWithinEnvelope, pt as materializeFeishuPostMarkdownSoftBreaks, s as assertFeishuCardWithinEnvelope, t as createFeishuPartialReplyDeliveryError, u as buildFeishuPresentationFallback, vt as canEnumerateAllFeishuGroups, w as shouldSuppressFeishuTextForVoiceMedia, xt as isFeishuGroupReadEnabled, y as resolveFeishuRichReply, yt as canEnumerateAllFeishuPeers } from "./reply-delivery-result-
|
|
4
|
+
import { $ as cleanupAmbientCommentTypingReaction, A as sendMessageFeishu, At as resolveFeishuGroupToolPolicy, Ct as resolveFeishuChatReadPreliminaryAuthorization, Dt as resolveFeishuGroupConfig, G as deliverCommentThreadText, H as buildFeishuMediaFallbackText, M as toFeishuMessageSendResult, Mt as normalizeFeishuChatType, Nt as resolveFeishuChatType, S as sendMediaFeishu, St as readFeishuChatInfoWithAuthorization, T as chunkFeishuCardMarkdown, W as resolveFeishuIdentityHeaderTitle, _ as renderFeishuPresentationPayload, _t as authorizeFeishuChatMemberRead, b as withinCardTableLimit, bt as isFeishuGroupReadAllowed, c as buildFeishuPayloadCard, ct as parseFeishuCommentTarget, d as consumeFeishuPresentationFallbackMarker, dt as chunkFeishuMarkdown, f as feishuCardWithinTableLimit, ft as chunkFeishuPostMarkdown, g as renderFeishuPresentationFallbackText, gt as assertFeishuChatReadAllowed, h as readNativeFeishuCard, ht as shouldUseFeishuCard, j as sendStructuredCardFeishu, k as sendCardFeishu, l as buildFeishuPresentationCard, lt as readNativeFeishuCardJson, m as markRenderedFeishuCard, n as createFeishuReplyDeliveryResult, o as FEISHU_PRESENTATION_CAPABILITIES, p as isFeishuCardWithinEnvelope, pt as materializeFeishuPostMarkdownSoftBreaks, s as assertFeishuCardWithinEnvelope, t as createFeishuPartialReplyDeliveryError, u as buildFeishuPresentationFallback, vt as canEnumerateAllFeishuGroups, w as shouldSuppressFeishuTextForVoiceMedia, xt as isFeishuGroupReadEnabled, y as resolveFeishuRichReply, yt as canEnumerateAllFeishuPeers } from "./reply-delivery-result-DvHwvZCt.mjs";
|
|
5
5
|
import { t as messageActionTargetAliases } from "./message-action-contract-Bhxj8Zrf.mjs";
|
|
6
6
|
import { l as withFeishuRequestContext, r as createFeishuClient, u as withFeishuSendContext } from "./client-BYG-_IZl.mjs";
|
|
7
7
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-CI1wCr9i.mjs";
|
|
@@ -879,7 +879,7 @@ const feishuDoctor = {
|
|
|
879
879
|
//#endregion
|
|
880
880
|
//#region extensions/feishu/src/gateway.ts
|
|
881
881
|
const feishuGatewayAdapter = { startAccount: async (ctx) => {
|
|
882
|
-
const { monitorFeishuProvider } = await import("./monitor-
|
|
882
|
+
const { monitorFeishuProvider } = await import("./monitor-DyUUHVHy.mjs");
|
|
883
883
|
const account = resolveFeishuRuntimeAccount({
|
|
884
884
|
cfg: ctx.cfg,
|
|
885
885
|
accountId: ctx.accountId
|
|
@@ -1961,7 +1961,7 @@ const meta = {
|
|
|
1961
1961
|
order: 70,
|
|
1962
1962
|
preferSessionLookupForAnnounceTarget: true
|
|
1963
1963
|
};
|
|
1964
|
-
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
1964
|
+
const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BHF5LhwF.mjs"), "feishuChannelRuntime");
|
|
1965
1965
|
async function resolveFeishuMessageSender(params) {
|
|
1966
1966
|
try {
|
|
1967
1967
|
const sender = params.resolve(await loadFeishuChannelRuntime());
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { s as resolveFeishuAccount } from "./accounts-wRqItHug.mjs";
|
|
2
|
-
import { d as listFeishuDirectoryPeers, o as feishuOutbound, u as listFeishuDirectoryGroups } from "./channel-
|
|
3
|
-
import { A as sendMessageFeishu, C as sendStickerFeishu, D as getMessageFeishu, E as editMessageFeishu, Q as assertFeishuApiSuccess, V as createConfiguredFeishuClient, k as sendCardFeishu } from "./reply-delivery-result-
|
|
2
|
+
import { d as listFeishuDirectoryPeers, o as feishuOutbound, u as listFeishuDirectoryGroups } from "./channel-DtxcN3Fx.mjs";
|
|
3
|
+
import { A as sendMessageFeishu, C as sendStickerFeishu, D as getMessageFeishu, E as editMessageFeishu, Q as assertFeishuApiSuccess, V as createConfiguredFeishuClient, k as sendCardFeishu } from "./reply-delivery-result-DvHwvZCt.mjs";
|
|
4
4
|
import { r as createFeishuClient } from "./client-BYG-_IZl.mjs";
|
|
5
|
-
import { a as getFeishuMemberInfo, i as getChatMembers, n as buildFeishuDirectChatMembers, r as getChatInfo, t as assertFeishuChatMember } from "./chat-
|
|
5
|
+
import { a as getFeishuMemberInfo, i as getChatMembers, n as buildFeishuDirectChatMembers, r as getChatInfo, t as assertFeishuChatMember } from "./chat-Cjr4bdPV.mjs";
|
|
6
6
|
import { t as probeFeishu } from "./probe-_ViqSi0j.mjs";
|
|
7
7
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
//#region extensions/feishu/src/directory.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ct as resolveFeishuChatReadPreliminaryAuthorization, J as feishuExternalToolResult, Nt as resolveFeishuChatType, Q as assertFeishuApiSuccess, St as readFeishuChatInfoWithAuthorization, Z as resolveFeishuToolAccount, _t as authorizeFeishuChatMemberRead, gt as assertFeishuChatReadAllowed, q as registerFeishuTool, rt as formatFeishuApiError } from "./reply-delivery-result-
|
|
1
|
+
import { Ct as resolveFeishuChatReadPreliminaryAuthorization, J as feishuExternalToolResult, Nt as resolveFeishuChatType, Q as assertFeishuApiSuccess, St as readFeishuChatInfoWithAuthorization, Z as resolveFeishuToolAccount, _t as authorizeFeishuChatMemberRead, gt as assertFeishuChatReadAllowed, q as registerFeishuTool, rt as formatFeishuApiError } from "./reply-delivery-result-DvHwvZCt.mjs";
|
|
2
2
|
import { r as createFeishuClient } from "./client-BYG-_IZl.mjs";
|
|
3
3
|
import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
|
|
4
4
|
import { readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers";
|
|
@@ -144,7 +144,7 @@ async function fetchBotIdentityForMonitor(account, options = {}) {
|
|
|
144
144
|
}
|
|
145
145
|
//#endregion
|
|
146
146
|
//#region extensions/feishu/src/monitor.ts
|
|
147
|
-
const loadMonitorAccountRuntime = createLazyRuntimeModule(() => import("./monitor.account-
|
|
147
|
+
const loadMonitorAccountRuntime = createLazyRuntimeModule(() => import("./monitor.account-DuKFCzmA.mjs"));
|
|
148
148
|
async function monitorFeishuProvider(opts = {}) {
|
|
149
149
|
const cfg = opts.config;
|
|
150
150
|
if (!cfg) throw new Error("Config is required for Feishu monitor");
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { a as normalizeFeishuWebhookPath, o as normalizeFeishuExternalKey } from "./doctor-contract-3XC0vbIw.mjs";
|
|
2
2
|
import { c as resolveFeishuRuntimeAccount, s as resolveFeishuAccount } from "./accounts-wRqItHug.mjs";
|
|
3
3
|
import { o as resolveConfiguredFeishuGroupSessionScope, t as buildFeishuConversationId, u as resolveReceiveIdType } from "./conversation-id-C1ofUfU8.mjs";
|
|
4
|
-
import { c as resolveFeishuLegacyWebhookListener, l as gateway_config_runtime_exports, s as describeFeishuWebhookPathConflict } from "./channel-
|
|
5
|
-
import { A as sendMessageFeishu, B as parsePostContent, D as getMessageFeishu, Dt as resolveFeishuGroupConfig, Et as resolveFeishuDmIngressAccess, F as isFeishuBroadcastMention, Ft as buildFeishuCardActionTextFallback, G as deliverCommentThreadText, H as buildFeishuMediaFallbackText, I as isMentionForwardRequest, It as createFeishuCardInteractionEnvelope, L as isFeishuGroupChatType, Lt as decodeFeishuCardAction, Mt as normalizeFeishuChatType, N as formatFeishuMediaContent, Nt as resolveFeishuChatType, O as listFeishuThreadMessages, Ot as resolveFeishuGroupConversationIngressAccess, P as extractMentionTargets, R as normalizeFeishuEventChatType, S as sendMediaFeishu, T as chunkFeishuCardMarkdown, Tt as normalizeFeishuAllowEntry, U as resolveFeishuIdentityEmoji, a as shouldSendNoVisibleReplyFallback, at as requestFeishuApi, b as withinCardTableLimit, d as consumeFeishuPresentationFallbackMarker, et as createCommentTypingReactionLifecycle, ft as chunkFeishuPostMarkdown, ht as shouldUseFeishuCard, i as noVisibleFeishuReplyDelivery, it as parseCommentContentElements, j as sendStructuredCardFeishu, jt as resolveFeishuReplyPolicy, k as sendCardFeishu, kt as resolveFeishuGroupSenderActivationIngressAccess, n as createFeishuReplyDeliveryResult, nt as extractReplyText, ot as buildFeishuCommentTarget, pt as materializeFeishuPostMarkdownSoftBreaks, r as mergeFeishuReplyDeliveryResults, st as normalizeCommentFileType, t as createFeishuPartialReplyDeliveryError, tt as encodeQuery, u as buildFeishuPresentationFallback, ut as resolveFeishuCardTemplate, v as renderFeishuReplyPayload, w as shouldSuppressFeishuTextForVoiceMedia, wt as hasExplicitFeishuGroupConfig, x as saveMessageResourceFeishu, y as resolveFeishuRichReply, z as parseInteractiveCardContent } from "./reply-delivery-result-
|
|
4
|
+
import { c as resolveFeishuLegacyWebhookListener, l as gateway_config_runtime_exports, s as describeFeishuWebhookPathConflict } from "./channel-DtxcN3Fx.mjs";
|
|
5
|
+
import { A as sendMessageFeishu, B as parsePostContent, D as getMessageFeishu, Dt as resolveFeishuGroupConfig, Et as resolveFeishuDmIngressAccess, F as isFeishuBroadcastMention, Ft as buildFeishuCardActionTextFallback, G as deliverCommentThreadText, H as buildFeishuMediaFallbackText, I as isMentionForwardRequest, It as createFeishuCardInteractionEnvelope, L as isFeishuGroupChatType, Lt as decodeFeishuCardAction, Mt as normalizeFeishuChatType, N as formatFeishuMediaContent, Nt as resolveFeishuChatType, O as listFeishuThreadMessages, Ot as resolveFeishuGroupConversationIngressAccess, P as extractMentionTargets, R as normalizeFeishuEventChatType, S as sendMediaFeishu, T as chunkFeishuCardMarkdown, Tt as normalizeFeishuAllowEntry, U as resolveFeishuIdentityEmoji, a as shouldSendNoVisibleReplyFallback, at as requestFeishuApi, b as withinCardTableLimit, d as consumeFeishuPresentationFallbackMarker, et as createCommentTypingReactionLifecycle, ft as chunkFeishuPostMarkdown, ht as shouldUseFeishuCard, i as noVisibleFeishuReplyDelivery, it as parseCommentContentElements, j as sendStructuredCardFeishu, jt as resolveFeishuReplyPolicy, k as sendCardFeishu, kt as resolveFeishuGroupSenderActivationIngressAccess, n as createFeishuReplyDeliveryResult, nt as extractReplyText, ot as buildFeishuCommentTarget, pt as materializeFeishuPostMarkdownSoftBreaks, r as mergeFeishuReplyDeliveryResults, st as normalizeCommentFileType, t as createFeishuPartialReplyDeliveryError, tt as encodeQuery, u as buildFeishuPresentationFallback, ut as resolveFeishuCardTemplate, v as renderFeishuReplyPayload, w as shouldSuppressFeishuTextForVoiceMedia, wt as hasExplicitFeishuGroupConfig, x as saveMessageResourceFeishu, y as resolveFeishuRichReply, z as parseInteractiveCardContent } from "./reply-delivery-result-DvHwvZCt.mjs";
|
|
6
6
|
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.mjs";
|
|
7
7
|
import { a as getFeishuUserAgent, f as resolveConfiguredHttpTimeoutMs, i as createFeishuWSClient, n as createEventDispatcher, r as createFeishuClient } from "./client-BYG-_IZl.mjs";
|
|
8
|
-
import { r as getChatInfo } from "./chat-
|
|
8
|
+
import { r as getChatInfo } from "./chat-Cjr4bdPV.mjs";
|
|
9
9
|
import { t as createFeishuThreadBindingManager } from "./thread-bindings-EdLXPXzw.mjs";
|
|
10
10
|
import { evaluateSupplementalContextVisibility, normalizeAgentId as normalizeAgentId$1, resolveChannelContextVisibilityMode } from "../runtime-api.js";
|
|
11
11
|
import { t as readFeishuJsonResponse } from "./json-response-DXajw_FU.mjs";
|
|
12
12
|
import { a as waitForAbortableDelay, i as raceWithTimeoutAndAbort } from "./probe-_ViqSi0j.mjs";
|
|
13
|
-
import { t as fetchBotIdentityForMonitor } from "./monitor-
|
|
13
|
+
import { t as fetchBotIdentityForMonitor } from "./monitor-DyUUHVHy.mjs";
|
|
14
14
|
import { resolveAgentConfig } from "openclaw/plugin-sdk/agent-scope-runtime";
|
|
15
15
|
import { DEFAULT_INGRESS_ADOPTION_STALL_MS, bindIngressLifecycleToReplyOptions, createChannelIngressError, createChannelIngressMonitor, createChannelMessageReplyPipeline, createReplyPrefixContext, formatChannelProgressDraftLineForEntry, resolveAgentOutboundIdentity, resolveChannelPreviewStreamMode, resolveChannelStreamingBlockEnabled, waitUntilAbort } from "openclaw/plugin-sdk/channel-outbound";
|
|
16
16
|
import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
|
|
@@ -423,6 +423,10 @@ function resolveFeishuMediaKind(messageType) {
|
|
|
423
423
|
default: return "document";
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
|
+
function resolvePostAttachmentMediaKind(attachment) {
|
|
427
|
+
if (attachment.kind === "image") return "image";
|
|
428
|
+
return attachment.origin === "top-level" ? "document" : "video";
|
|
429
|
+
}
|
|
426
430
|
async function resolveFeishuMediaList(params) {
|
|
427
431
|
const { cfg, messageId, messageType, content, maxBytes, log, accountId } = params;
|
|
428
432
|
if (![
|
|
@@ -447,7 +451,7 @@ async function resolveFeishuMediaList(params) {
|
|
|
447
451
|
key: attachment.key,
|
|
448
452
|
type: attachment.kind,
|
|
449
453
|
fileName: attachment.kind === "file" ? attachment.fileName : void 0,
|
|
450
|
-
kind: attachment
|
|
454
|
+
kind: resolvePostAttachmentMediaKind(attachment),
|
|
451
455
|
label: `embedded ${attachment.kind} ${attachment.key}`
|
|
452
456
|
});
|
|
453
457
|
}
|
|
@@ -897,7 +901,7 @@ function parseContentRecord(content) {
|
|
|
897
901
|
}
|
|
898
902
|
}
|
|
899
903
|
function resolvePostMediaParts(content) {
|
|
900
|
-
const { attachments } = parsePostContent(content);
|
|
904
|
+
const { attachments } = parsePostContent(content, { includeTopLevelFiles: false });
|
|
901
905
|
return ["image", "file"].flatMap((kind) => attachments.filter((attachment) => attachment.kind === kind).map((attachment) => `${kind}_key:${attachment.key}`));
|
|
902
906
|
}
|
|
903
907
|
function resolveMessageMediaParts(messageType, content) {
|
|
@@ -5813,7 +5817,7 @@ function createFeishuMessageReceiveHandler({ cfg, channelRuntime, accountId, run
|
|
|
5813
5817
|
return;
|
|
5814
5818
|
}
|
|
5815
5819
|
const messageDedupeKey = resolveFeishuMessageDedupeKey(event);
|
|
5816
|
-
if (event.message.message_type.trim() === "post" && messageDedupeKey !== messageId && await hasProcessedMessage(messageId, accountId, log) && parsePostContent(event.message.content).attachments.length === 0) {
|
|
5820
|
+
if (event.message.message_type.trim() === "post" && messageDedupeKey !== messageId && await hasProcessedMessage(messageId, accountId, log) && parsePostContent(event.message.content, { includeTopLevelFiles: false }).attachments.length === 0) {
|
|
5817
5821
|
log(`feishu[${accountId}]: dropping duplicate event for message ${messageId}`);
|
|
5818
5822
|
await completeSuppressedIngress();
|
|
5819
5823
|
return;
|
package/dist/.setup/{reply-delivery-result-COAjaukc.mjs → reply-delivery-result-DvHwvZCt.mjs}
RENAMED
|
@@ -1952,11 +1952,29 @@ function renderElement(element, attachments, mentionedOpenIds, renderMediaPlaceh
|
|
|
1952
1952
|
default: return escapeMarkdownText(toStringOrEmpty(element.text));
|
|
1953
1953
|
}
|
|
1954
1954
|
}
|
|
1955
|
+
function appendTopLevelPostFiles(attachments, files) {
|
|
1956
|
+
if (!Array.isArray(files)) return;
|
|
1957
|
+
const seenFileKeys = new Set(attachments.filter((attachment) => attachment.kind === "file").map((attachment) => attachment.key));
|
|
1958
|
+
for (const entry of files) {
|
|
1959
|
+
if (!isRecord(entry) || entry.is_folder === true) continue;
|
|
1960
|
+
const fileKey = normalizeFeishuExternalKey(toStringOrEmpty(entry.file_key));
|
|
1961
|
+
if (!fileKey || seenFileKeys.has(fileKey)) continue;
|
|
1962
|
+
seenFileKeys.add(fileKey);
|
|
1963
|
+
const fileName = toStringOrEmpty(entry.file_name) || void 0;
|
|
1964
|
+
attachments.push({
|
|
1965
|
+
kind: "file",
|
|
1966
|
+
key: fileKey,
|
|
1967
|
+
origin: "top-level",
|
|
1968
|
+
...fileName ? { fileName } : {}
|
|
1969
|
+
});
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1955
1972
|
function toPostPayload(candidate) {
|
|
1956
1973
|
if (!isRecord(candidate) || !Array.isArray(candidate.content)) return null;
|
|
1957
1974
|
return {
|
|
1958
1975
|
title: toStringOrEmpty(candidate.title),
|
|
1959
|
-
content: candidate.content
|
|
1976
|
+
content: candidate.content,
|
|
1977
|
+
...Array.isArray(candidate.files) ? { files: candidate.files } : {}
|
|
1960
1978
|
};
|
|
1961
1979
|
}
|
|
1962
1980
|
function resolveLocalePayload(candidate) {
|
|
@@ -2005,6 +2023,10 @@ function renderPostContent(parsed, options = {}) {
|
|
|
2005
2023
|
for (const element of paragraph) renderedParagraph += renderElement(element, attachments, mentionedOpenIds, options.renderMediaPlaceholders !== false);
|
|
2006
2024
|
paragraphs.push(renderedParagraph);
|
|
2007
2025
|
}
|
|
2026
|
+
if (options.includeTopLevelFiles !== false) {
|
|
2027
|
+
appendTopLevelPostFiles(attachments, payload.files);
|
|
2028
|
+
if (isRecord(parsed)) appendTopLevelPostFiles(attachments, parsed.files);
|
|
2029
|
+
}
|
|
2008
2030
|
return {
|
|
2009
2031
|
textContent: [escapeMarkdownText(payload.title.trim()), paragraphs.join("\n").trim()].filter(Boolean).join("\n\n").trim() || (options.emptyTextFallback ?? FALLBACK_POST_TEXT),
|
|
2010
2032
|
attachments,
|
|
@@ -1,3 +1,3 @@
|
|
|
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-DtxcN3Fx.mjs";
|
|
2
2
|
import "../setup-api.js";
|
|
3
3
|
export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
|
package/dist/api.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./.setup/conversation-id-C1ofUfU8.mjs";
|
|
2
|
-
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./.setup/channel-
|
|
3
|
-
import { J as feishuExternalToolResult, K as registerFeishuDriveTools, Q as assertFeishuApiSuccess, X as createFeishuToolClient, Y as unknownToolActionResult, Z as resolveFeishuToolAccount, dt as chunkFeishuMarkdown, mt as parseFeishuMarkdown, q as registerFeishuTool } from "./.setup/reply-delivery-result-
|
|
2
|
+
import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./.setup/channel-DtxcN3Fx.mjs";
|
|
3
|
+
import { J as feishuExternalToolResult, K as registerFeishuDriveTools, Q as assertFeishuApiSuccess, X as createFeishuToolClient, Y as unknownToolActionResult, Z as resolveFeishuToolAccount, dt as chunkFeishuMarkdown, mt as parseFeishuMarkdown, q as registerFeishuTool } from "./.setup/reply-delivery-result-DvHwvZCt.mjs";
|
|
4
4
|
import { t as getFeishuRuntime } from "./.setup/runtime-C5JxBWZp.mjs";
|
|
5
5
|
import { f as resolveConfiguredHttpTimeoutMs, r as createFeishuClient } from "./.setup/client-BYG-_IZl.mjs";
|
|
6
|
-
import { o as registerFeishuChatTools } from "./.setup/chat-
|
|
6
|
+
import { o as registerFeishuChatTools } from "./.setup/chat-Cjr4bdPV.mjs";
|
|
7
7
|
import { n as getFeishuThreadBindingManager, t as createFeishuThreadBindingManager } from "./.setup/thread-bindings-EdLXPXzw.mjs";
|
|
8
8
|
import { n as handleFeishuSubagentEnded, t as handleFeishuSubagentDeliveryTarget } from "./.setup/subagent-hooks-BaFoMu8W.mjs";
|
|
9
9
|
import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as feishuPlugin } from "./.setup/channel-
|
|
1
|
+
import { t as feishuPlugin } from "./.setup/channel-DtxcN3Fx.mjs";
|
|
2
2
|
export { feishuPlugin };
|
package/dist/setup-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./.setup/channel-
|
|
1
|
+
import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./.setup/channel-DtxcN3Fx.mjs";
|
|
2
2
|
export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
|
package/dist/setup-entry.js
CHANGED
|
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
|
|
|
4
4
|
var setup_entry_default = defineBundledChannelSetupEntry({
|
|
5
5
|
importMetaUrl: import.meta.url,
|
|
6
6
|
plugin: {
|
|
7
|
-
specifier: fileURLToPath(new URL(".setup/setup-api-
|
|
7
|
+
specifier: fileURLToPath(new URL(".setup/setup-api-CuzYzoyE.mjs", import.meta.url).href),
|
|
8
8
|
exportName: "feishuPlugin"
|
|
9
9
|
},
|
|
10
10
|
secrets: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/feishu",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.9",
|
|
4
4
|
"description": "OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"zod": "4.6.5"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"openclaw": ">=2026.9.
|
|
20
|
+
"openclaw": ">=2026.9.9"
|
|
21
21
|
},
|
|
22
22
|
"peerDependenciesMeta": {
|
|
23
23
|
"openclaw": {
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
"minHostVersion": ">=2026.5.29"
|
|
65
65
|
},
|
|
66
66
|
"compat": {
|
|
67
|
-
"pluginApi": ">=2026.9.
|
|
67
|
+
"pluginApi": ">=2026.9.9"
|
|
68
68
|
},
|
|
69
69
|
"build": {
|
|
70
70
|
"bundledDist": false,
|
|
71
|
-
"openclawVersion": "2026.9.
|
|
71
|
+
"openclawVersion": "2026.9.9"
|
|
72
72
|
},
|
|
73
73
|
"release": {
|
|
74
74
|
"publishToClawHub": true,
|