From 78448c0a26e1119492a498e7092c4fb7cc6738f5 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 13 Apr 2026 11:18:37 +0100 Subject: [PATCH] fix(feishu): avoid sdk facade cycles --- extensions/feishu/contract-api.ts | 9 +++++++++ src/plugin-sdk/feishu-conversation.ts | 4 ++-- src/plugin-sdk/feishu-setup.ts | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/extensions/feishu/contract-api.ts b/extensions/feishu/contract-api.ts index 973d9fd6a76..da97cb7f378 100644 --- a/extensions/feishu/contract-api.ts +++ b/extensions/feishu/contract-api.ts @@ -1,7 +1,16 @@ export { createFeishuThreadBindingManager } from "./src/thread-bindings.js"; +export { __testing as feishuThreadBindingTesting } from "./src/thread-bindings.js"; export { collectRuntimeConfigAssignments, secretTargetRegistryEntries, } from "./src/secret-contract.js"; export { collectFeishuSecurityAuditFindings } from "./src/security-audit.js"; export { messageActionTargetAliases } from "./src/message-action-contract.js"; +export { + buildFeishuConversationId, + parseFeishuConversationId, + parseFeishuDirectConversationId, + parseFeishuTargetId, +} from "./src/conversation-id.js"; + +export const feishuSessionBindingAdapterChannels = ["feishu"] as const; diff --git a/src/plugin-sdk/feishu-conversation.ts b/src/plugin-sdk/feishu-conversation.ts index 2928ad078fa..8457967f8be 100644 --- a/src/plugin-sdk/feishu-conversation.ts +++ b/src/plugin-sdk/feishu-conversation.ts @@ -1,5 +1,5 @@ // Manual facade. Keep loader boundary explicit. -type FacadeModule = typeof import("@openclaw/feishu/api.js"); +type FacadeModule = typeof import("@openclaw/feishu/contract-api.js"); import { createLazyFacadeArrayValue, createLazyFacadeObjectValue, @@ -9,7 +9,7 @@ import { function loadFacadeModule(): FacadeModule { return loadBundledPluginPublicSurfaceModuleSync({ dirName: "feishu", - artifactBasename: "api.js", + artifactBasename: "contract-api.js", }); } export const buildFeishuConversationId: FacadeModule["buildFeishuConversationId"] = ((...args) => diff --git a/src/plugin-sdk/feishu-setup.ts b/src/plugin-sdk/feishu-setup.ts index b470dd61456..a00a8cd111f 100644 --- a/src/plugin-sdk/feishu-setup.ts +++ b/src/plugin-sdk/feishu-setup.ts @@ -1,5 +1,5 @@ // Manual facade. Keep loader boundary explicit. -type FacadeModule = typeof import("@openclaw/feishu/api.js"); +type FacadeModule = typeof import("@openclaw/feishu/setup-api.js"); import { createLazyFacadeObjectValue, loadBundledPluginPublicSurfaceModuleSync, @@ -8,7 +8,7 @@ import { function loadFacadeModule(): FacadeModule { return loadBundledPluginPublicSurfaceModuleSync({ dirName: "feishu", - artifactBasename: "api.js", + artifactBasename: "setup-api.js", }); } export const feishuSetupAdapter: FacadeModule["feishuSetupAdapter"] = createLazyFacadeObjectValue(