fix(slack): restore callable directory facade exports

This commit is contained in:
Vincent Koc 2026-04-01 04:51:36 +09:00
parent ffa2143d20
commit a4f45c55b2
2 changed files with 29 additions and 20 deletions

View File

@ -936,6 +936,13 @@ export const GENERATED_PLUGIN_SDK_FACADES = [
{
subpath: "slack-surface",
source: pluginSource("slack", "api.js"),
functionExports: [
"listSlackAccountIds",
"listSlackDirectoryGroupsFromConfig",
"listSlackDirectoryPeersFromConfig",
"resolveDefaultSlackAccountId",
"resolveSlackRuntimeGroupPolicy",
],
exports: [
"buildSlackThreadingToolContext",
"createSlackWebClient",
@ -1375,6 +1382,7 @@ export function buildPluginSdkFacadeModule(entry, params = {}) {
const sourceExportKinds = params.repoRoot
? resolveFacadeSourceExportKinds(params.repoRoot, entry.source)
: new Map();
const explicitFunctionExports = new Set(entry.functionExports ?? []);
const exportNames = entry.exportAll
? Array.from(sourceExportKinds.keys()).toSorted((left, right) => left.localeCompare(right))
: entry.runtimeApiPreExportsPath
@ -1459,11 +1467,12 @@ export function buildPluginSdkFacadeModule(entry, params = {}) {
);
for (const exportName of valueExports) {
const kind = sourceExportKinds.get(exportName);
const isExplicitFunctionExport = explicitFunctionExports.has(exportName);
const sourcePath = entry.exportSources?.[exportName] ?? entry.source;
const sourceIndex = sourceIndexByPath.get(sourcePath) ?? 0;
const loaderSuffix = sourceIndex === 0 ? "" : String(sourceIndex + 1);
const moduleTypeName = sourceIndex === 0 ? "FacadeModule" : `FacadeModule${sourceIndex + 1}`;
if (kind?.functionLike || kind?.callable) {
if (isExplicitFunctionExport || kind?.functionLike || kind?.callable) {
lines.push(
`export const ${exportName}: ${moduleTypeName}[${JSON.stringify(exportName)}] = ((...args) =>`,
);

View File

@ -2,10 +2,7 @@
import type { PluginSdkFacadeTypeMap } from "../generated/plugin-sdk-facade-type-map.generated.js";
type FacadeEntry = PluginSdkFacadeTypeMap["slack-surface"];
type FacadeModule = FacadeEntry["module"];
import {
createLazyFacadeObjectValue,
loadBundledPluginPublicSurfaceModuleSync,
} from "./facade-runtime.js";
import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-runtime.js";
function loadFacadeModule(): FacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<FacadeModule>({
@ -45,17 +42,18 @@ export const listEnabledSlackAccounts: FacadeModule["listEnabledSlackAccounts"]
loadFacadeModule()["listEnabledSlackAccounts"](
...args,
)) as FacadeModule["listEnabledSlackAccounts"];
export const listSlackAccountIds: FacadeModule["listSlackAccountIds"] = createLazyFacadeObjectValue(
() => loadFacadeModule()["listSlackAccountIds"] as object,
) as FacadeModule["listSlackAccountIds"];
export const listSlackAccountIds: FacadeModule["listSlackAccountIds"] = ((...args) =>
loadFacadeModule()["listSlackAccountIds"](...args)) as FacadeModule["listSlackAccountIds"];
export const listSlackDirectoryGroupsFromConfig: FacadeModule["listSlackDirectoryGroupsFromConfig"] =
createLazyFacadeObjectValue(
() => loadFacadeModule()["listSlackDirectoryGroupsFromConfig"] as object,
) as FacadeModule["listSlackDirectoryGroupsFromConfig"];
((...args) =>
loadFacadeModule()["listSlackDirectoryGroupsFromConfig"](
...args,
)) as FacadeModule["listSlackDirectoryGroupsFromConfig"];
export const listSlackDirectoryPeersFromConfig: FacadeModule["listSlackDirectoryPeersFromConfig"] =
createLazyFacadeObjectValue(
() => loadFacadeModule()["listSlackDirectoryPeersFromConfig"] as object,
) as FacadeModule["listSlackDirectoryPeersFromConfig"];
((...args) =>
loadFacadeModule()["listSlackDirectoryPeersFromConfig"](
...args,
)) as FacadeModule["listSlackDirectoryPeersFromConfig"];
export const listSlackEmojis: FacadeModule["listSlackEmojis"] = ((...args) =>
loadFacadeModule()["listSlackEmojis"](...args)) as FacadeModule["listSlackEmojis"];
export const listSlackMessageActions: FacadeModule["listSlackMessageActions"] = ((...args) =>
@ -79,9 +77,10 @@ export const recordSlackThreadParticipation: FacadeModule["recordSlackThreadPart
...args,
)) as FacadeModule["recordSlackThreadParticipation"];
export const resolveDefaultSlackAccountId: FacadeModule["resolveDefaultSlackAccountId"] =
createLazyFacadeObjectValue(
() => loadFacadeModule()["resolveDefaultSlackAccountId"] as object,
) as FacadeModule["resolveDefaultSlackAccountId"];
((...args) =>
loadFacadeModule()["resolveDefaultSlackAccountId"](
...args,
)) as FacadeModule["resolveDefaultSlackAccountId"];
export const resolveSlackAutoThreadId: FacadeModule["resolveSlackAutoThreadId"] = ((...args) =>
loadFacadeModule()["resolveSlackAutoThreadId"](
...args,
@ -93,9 +92,10 @@ export const resolveSlackGroupRequireMention: FacadeModule["resolveSlackGroupReq
...args,
)) as FacadeModule["resolveSlackGroupRequireMention"];
export const resolveSlackRuntimeGroupPolicy: FacadeModule["resolveSlackRuntimeGroupPolicy"] =
createLazyFacadeObjectValue(
() => loadFacadeModule()["resolveSlackRuntimeGroupPolicy"] as object,
) as FacadeModule["resolveSlackRuntimeGroupPolicy"];
((...args) =>
loadFacadeModule()["resolveSlackRuntimeGroupPolicy"](
...args,
)) as FacadeModule["resolveSlackRuntimeGroupPolicy"];
export const resolveSlackGroupToolPolicy: FacadeModule["resolveSlackGroupToolPolicy"] = ((
...args
) =>