@openclaw/feishu 2026.5.18 → 2026.5.19-beta.2

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 CHANGED
@@ -1,8 +1,8 @@
1
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-CdXCmxnp.js";
2
+ import { n as getFeishuThreadBindingManager, r as testing, t as createFeishuThreadBindingManager } from "./thread-bindings-MLidevCB.js";
3
+ import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-DTTHB-s3.js";
4
4
  import { r as listEnabledFeishuAccounts } from "./accounts-QNGhjZeI.js";
5
- import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-elV7bWCs.js";
5
+ import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-jWQWT5js.js";
6
6
  import { t as getFeishuRuntime } from "./runtime-Cc16UY23.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-CzLQuxes.js";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -2305,4 +2305,4 @@ function registerFeishuBitableTools(api) {
2305
2305
  //#region extensions/feishu/api.ts
2306
2306
  const feishuSessionBindingAdapterChannels = ["feishu"];
2307
2307
  //#endregion
2308
- export { __testing, __testing as feishuThreadBindingTesting, buildFeishuConversationId, buildFeishuModelOverrideParentCandidates, createClackPrompter, createFeishuThreadBindingManager, feishuPlugin, feishuSessionBindingAdapterChannels, feishuSetupAdapter, feishuSetupWizard, getFeishuThreadBindingManager, handleFeishuSubagentDeliveryTarget, handleFeishuSubagentEnded, handleFeishuSubagentSpawning, parseFeishuConversationId, parseFeishuDirectConversationId, parseFeishuTargetId, registerFeishuBitableTools, registerFeishuChatTools, registerFeishuDocTools, registerFeishuDriveTools, registerFeishuPermTools, registerFeishuWikiTools, runFeishuLogin, setFeishuNamedAccountEnabled };
2308
+ export { testing as __testing, testing as feishuThreadBindingTesting, testing, buildFeishuConversationId, buildFeishuModelOverrideParentCandidates, createClackPrompter, createFeishuThreadBindingManager, feishuPlugin, feishuSessionBindingAdapterChannels, feishuSetupAdapter, feishuSetupWizard, getFeishuThreadBindingManager, handleFeishuSubagentDeliveryTarget, handleFeishuSubagentEnded, handleFeishuSubagentSpawning, parseFeishuConversationId, parseFeishuDirectConversationId, parseFeishuTargetId, registerFeishuBitableTools, registerFeishuChatTools, registerFeishuDocTools, registerFeishuDriveTools, registerFeishuPermTools, registerFeishuWikiTools, runFeishuLogin, setFeishuNamedAccountEnabled };
@@ -755,6 +755,7 @@ const feishuSetupAdapter = {
755
755
  const t = createSetupTranslator();
756
756
  const channel = "feishu";
757
757
  const SCAN_TO_CREATE_TP = "ob_cli_app";
758
+ const FEISHU_SETUP_FLOW_KEY = "_flow";
758
759
  function normalizeString(value) {
759
760
  if (typeof value !== "string") return;
760
761
  return value.trim() || void 0;
@@ -1125,16 +1126,16 @@ const feishuSetupWizard = {
1125
1126
  prepare: async ({ cfg, credentialValues }) => {
1126
1127
  if (isFeishuConfigured(cfg)) return { credentialValues: {
1127
1128
  ...credentialValues,
1128
- _flow: "edit"
1129
+ [FEISHU_SETUP_FLOW_KEY]: "edit"
1129
1130
  } };
1130
1131
  return { credentialValues: {
1131
1132
  ...credentialValues,
1132
- _flow: "new"
1133
+ [FEISHU_SETUP_FLOW_KEY]: "new"
1133
1134
  } };
1134
1135
  },
1135
1136
  credentials: [],
1136
1137
  finalize: async ({ cfg, prompter, options, credentialValues }) => {
1137
- if ((credentialValues._flow ?? "new") === "edit") {
1138
+ if ((credentialValues[FEISHU_SETUP_FLOW_KEY] ?? "new") === "edit") {
1138
1139
  const result = await runEditFlow({
1139
1140
  cfg,
1140
1141
  prompter,
@@ -1188,7 +1189,7 @@ const meta = {
1188
1189
  aliases: ["lark"],
1189
1190
  order: 70
1190
1191
  };
1191
- const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-B80sZw_-.js"), "feishuChannelRuntime");
1192
+ const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Dmq7DpnS.js"), "feishuChannelRuntime");
1192
1193
  function toFeishuMessageSendResult(result, kind) {
1193
1194
  const receipt = result.receipt ?? createFeishuSendReceipt({
1194
1195
  messageId: result.messageId,
@@ -2031,7 +2032,7 @@ const feishuPlugin = createChatChannelPlugin({
2031
2032
  })
2032
2033
  }),
2033
2034
  gateway: { startAccount: async (ctx) => {
2034
- const { monitorFeishuProvider } = await import("./monitor-DyoC58EE.js");
2035
+ const { monitorFeishuProvider } = await import("./monitor-CfcgF5DQ.js");
2035
2036
  const account = resolveFeishuRuntimeAccount({
2036
2037
  cfg: ctx.cfg,
2037
2038
  accountId: ctx.accountId
@@ -1,2 +1,2 @@
1
- import { t as feishuPlugin } from "./channel-elV7bWCs.js";
1
+ import { t as feishuPlugin } from "./channel-jWQWT5js.js";
2
2
  export { feishuPlugin };
@@ -1,9 +1,9 @@
1
1
  import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount, y as parseFeishuCommentTarget } from "./accounts-QNGhjZeI.js";
2
- import { _ as listFeishuDirectoryPeers, g as listFeishuDirectoryGroups, y as createFeishuCardInteractionEnvelope } from "./channel-elV7bWCs.js";
2
+ import { _ as listFeishuDirectoryPeers, g as listFeishuDirectoryGroups, y as createFeishuCardInteractionEnvelope } from "./channel-jWQWT5js.js";
3
3
  import { r as createFeishuClient } from "./client-B18oTGHf.js";
4
4
  import { c as getChatInfo, l as getChatMembers, r as cleanupAmbientCommentTypingReaction, t as deliverCommentThreadText, u as getFeishuMemberInfo } from "./drive-CzLQuxes.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-Br5Gy-dU.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-DYLn9mIe.js";
7
7
  import { t as probeFeishu } from "./probe-DpPNslkb.js";
8
8
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { interactiveReplyToPresentation, normalizeInteractiveReply, normalizeMessagePresentation, renderMessagePresentationFallbackText, resolveInteractiveTextFallback } from "openclaw/plugin-sdk/interactive-runtime";
@@ -1,9 +1,9 @@
1
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";
2
+ import { r as testing, t as createFeishuThreadBindingManager } from "./thread-bindings-MLidevCB.js";
3
3
  import { t as messageActionTargetAliases } from "./security-audit-BzTLFO6g.js";
4
4
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DIpADEx7.js";
5
5
  import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-B6kEakHj.js";
6
6
  //#region extensions/feishu/contract-api.ts
7
7
  const feishuSessionBindingAdapterChannels = ["feishu"];
8
8
  //#endregion
9
- export { buildFeishuConversationId, collectFeishuSecurityAuditFindings, collectRuntimeConfigAssignments, createFeishuThreadBindingManager, feishuSessionBindingAdapterChannels, __testing as feishuThreadBindingTesting, messageActionTargetAliases, parseFeishuConversationId, parseFeishuDirectConversationId, parseFeishuTargetId, secretTargetRegistryEntries };
9
+ export { buildFeishuConversationId, collectFeishuSecurityAuditFindings, collectRuntimeConfigAssignments, createFeishuThreadBindingManager, feishuSessionBindingAdapterChannels, testing as feishuThreadBindingTesting, messageActionTargetAliases, parseFeishuConversationId, parseFeishuDirectConversationId, parseFeishuTargetId, secretTargetRegistryEntries };
@@ -3,7 +3,7 @@ import { l as fetchBotIdentityForMonitor } from "./monitor.state-D6ByOM5W.js";
3
3
  //#region extensions/feishu/src/monitor.ts
4
4
  let monitorAccountRuntimePromise;
5
5
  async function loadMonitorAccountRuntime() {
6
- monitorAccountRuntimePromise ??= import("./monitor.account-ByWHSzXQ.js");
6
+ monitorAccountRuntimePromise ??= import("./monitor.account-Cg_HyFTF.js");
7
7
  return await monitorAccountRuntimePromise;
8
8
  }
9
9
  async function monitorFeishuProvider(opts = {}) {
@@ -1,13 +1,13 @@
1
1
  import { t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
2
2
  import { i as resolveReceiveIdType } from "./targets-Bb05cFr4.js";
3
- import { n as createFeishuThreadBindingManager } from "./thread-bindings-D5kDxq_j.js";
3
+ import { t as createFeishuThreadBindingManager } from "./thread-bindings-MLidevCB.js";
4
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-QNGhjZeI.js";
5
- import { b as decodeFeishuCardAction, d as resolveFeishuDmIngressAccess, f as resolveFeishuGroupConfig, h as resolveFeishuReplyPolicy, l as hasExplicitFeishuGroupConfig, m as resolveFeishuGroupSenderActivationIngressAccess, p as resolveFeishuGroupConversationIngressAccess, u as normalizeFeishuAllowEntry, v as buildFeishuCardActionTextFallback, y as createFeishuCardInteractionEnvelope } from "./channel-elV7bWCs.js";
5
+ import { b as decodeFeishuCardAction, d as resolveFeishuDmIngressAccess, f as resolveFeishuGroupConfig, h as resolveFeishuReplyPolicy, l as hasExplicitFeishuGroupConfig, m as resolveFeishuGroupSenderActivationIngressAccess, p as resolveFeishuGroupConversationIngressAccess, u as normalizeFeishuAllowEntry, v as buildFeishuCardActionTextFallback, y as createFeishuCardInteractionEnvelope } from "./channel-jWQWT5js.js";
6
6
  import { t as getFeishuRuntime } from "./runtime-Cc16UY23.js";
7
7
  import { a as getFeishuUserAgent, i as createFeishuWSClient, n as createEventDispatcher, r as createFeishuClient } from "./client-B18oTGHf.js";
8
8
  import { c as getChatInfo, i as createCommentTypingReactionLifecycle, t as deliverCommentThreadText } from "./drive-CzLQuxes.js";
9
9
  import { buildAgentMediaPayload, createReplyPrefixContext, evaluateSupplementalContextVisibility, loadSessionStore, normalizeAgentId as normalizeAgentId$1, resolveChannelContextVisibilityMode, resolveSessionStoreEntry } from "./runtime-api.js";
10
- 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-Br5Gy-dU.js";
10
+ 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-DYLn9mIe.js";
11
11
  import { i as waitForAbortableDelay, r as raceWithTimeoutAndAbort } from "./probe-DpPNslkb.js";
12
12
  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-D6ByOM5W.js";
13
13
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1354,7 +1354,7 @@ function createFeishuReplyDispatcher(params) {
1354
1354
  let streamingCloseErroredForReply = false;
1355
1355
  const formatReasoningPrefix = (thinking) => {
1356
1356
  if (!thinking) return "";
1357
- return `> 💭 **Thinking**\n${thinking.replace(/^Reasoning:\n/, "").replace(/^_(.*)_$/gm, "$1").split("\n").map((line) => `> ${line}`).join("\n")}`;
1357
+ return `> 💭 **Thinking**\n${thinking.replace(/^(?:Reasoning:|Thinking\.{0,3})\s*/u, "").replace(/^_(.*)_$/gm, "$1").split("\n").map((line) => `> ${line}`).join("\n")}`;
1358
1358
  };
1359
1359
  const buildCombinedStreamText = (thinking, answer) => {
1360
1360
  const parts = [];
@@ -1,6 +1,6 @@
1
1
  import { i as resolveReceiveIdType, r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
2
2
  import { c as createFeishuApiError, f as isRecord$2, g as requestFeishuApi, s as resolveFeishuRuntimeAccount } from "./accounts-QNGhjZeI.js";
3
- import { c as toFeishuSendResult, o as assertFeishuMessageApiSuccess, s as resolveFeishuReceiptKind } from "./channel-elV7bWCs.js";
3
+ import { c as toFeishuSendResult, o as assertFeishuMessageApiSuccess, s as resolveFeishuReceiptKind } from "./channel-jWQWT5js.js";
4
4
  import { t as getFeishuRuntime } from "./runtime-Cc16UY23.js";
5
5
  import { r as createFeishuClient } from "./client-B18oTGHf.js";
6
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
package/dist/setup-api.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-elV7bWCs.js";
1
+ import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-jWQWT5js.js";
2
2
  export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
2
  import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Byq1c20x.js";
3
3
  import { r as normalizeFeishuTarget } from "./targets-Bb05cFr4.js";
4
- import { r as getFeishuThreadBindingManager } from "./thread-bindings-D5kDxq_j.js";
4
+ import { n as getFeishuThreadBindingManager } from "./thread-bindings-MLidevCB.js";
5
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({
@@ -1,8 +1,8 @@
1
- import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-CdXCmxnp.js";
1
+ import { n as handleFeishuSubagentEnded, r as handleFeishuSubagentSpawning, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-DTTHB-s3.js";
2
2
  //#region extensions/feishu/subagent-hooks-api.ts
3
3
  let feishuSubagentHooksPromise = null;
4
4
  function loadFeishuSubagentHooksModule() {
5
- feishuSubagentHooksPromise ??= import("./subagent-hooks-CdXCmxnp.js").then((n) => n.i);
5
+ feishuSubagentHooksPromise ??= import("./subagent-hooks-DTTHB-s3.js").then((n) => n.i);
6
6
  return feishuSubagentHooksPromise;
7
7
  }
8
8
  function registerFeishuSubagentHooks(api) {
@@ -213,10 +213,10 @@ function createFeishuThreadBindingManager(params) {
213
213
  function getFeishuThreadBindingManager(accountId) {
214
214
  return getState().managersByAccountId.get(normalizeAccountId(accountId)) ?? null;
215
215
  }
216
- const __testing = { resetFeishuThreadBindingsForTests() {
216
+ const testing = { resetFeishuThreadBindingsForTests() {
217
217
  for (const manager of getState().managersByAccountId.values()) manager.stop();
218
218
  getState().managersByAccountId.clear();
219
219
  getState().bindingsByAccountConversation.clear();
220
220
  } };
221
221
  //#endregion
222
- export { createFeishuThreadBindingManager as n, getFeishuThreadBindingManager as r, __testing as t };
222
+ export { getFeishuThreadBindingManager as n, testing as r, createFeishuThreadBindingManager as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/feishu",
3
- "version": "2026.5.18",
3
+ "version": "2026.5.19-beta.2",
4
4
  "description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "openclaw": "workspace:*"
18
18
  },
19
19
  "peerDependencies": {
20
- "openclaw": ">=2026.5.18"
20
+ "openclaw": ">=2026.5.19-beta.2"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "openclaw": {
@@ -48,10 +48,10 @@
48
48
  "minHostVersion": ">=2026.4.25"
49
49
  },
50
50
  "compat": {
51
- "pluginApi": ">=2026.5.18"
51
+ "pluginApi": ">=2026.5.19-beta.2"
52
52
  },
53
53
  "build": {
54
- "openclawVersion": "2026.5.18"
54
+ "openclawVersion": "2026.5.19-beta.2"
55
55
  },
56
56
  "release": {
57
57
  "publishToClawHub": true,