mirror of
https://fastgit.cc/github.com/openclaw/openclaw
synced 2026-05-01 15:42:39 +08:00
fix(clawsweeper): address review for clawsweeper-commit-openclaw-openclaw-587b537b4745 (1)
This commit is contained in:
committed by
Peter Steinberger
parent
4e115c5dbb
commit
63fe2e12d7
@@ -1,11 +1,27 @@
|
||||
export { discordPlugin } from "./src/channel.js";
|
||||
export { discordSetupPlugin } from "./src/channel.setup.js";
|
||||
export { inspectDiscordAccount } from "./src/account-inspect.js";
|
||||
export {
|
||||
handleDiscordSubagentDeliveryTarget,
|
||||
handleDiscordSubagentEnded,
|
||||
handleDiscordSubagentSpawning,
|
||||
} from "./src/subagent-hooks.js";
|
||||
export {
|
||||
type DiscordCredentialStatus,
|
||||
inspectDiscordAccount,
|
||||
type InspectedDiscordAccount,
|
||||
} from "./src/account-inspect.js";
|
||||
export {
|
||||
createDiscordActionGate,
|
||||
listDiscordAccountIds,
|
||||
listEnabledDiscordAccounts,
|
||||
mergeDiscordAccountConfig,
|
||||
type ResolvedDiscordAccount,
|
||||
resolveDefaultDiscordAccountId,
|
||||
resolveDiscordAccount,
|
||||
resolveDiscordAccountConfig,
|
||||
resolveDiscordMaxLinesPerMessage,
|
||||
} from "./src/accounts.js";
|
||||
export { tryHandleDiscordMessageActionGuildAdmin } from "./src/actions/handle-action.guild-admin.js";
|
||||
export { buildDiscordComponentMessage } from "./src/components.js";
|
||||
export {
|
||||
listDiscordDirectoryGroupsFromConfig,
|
||||
@@ -33,16 +49,38 @@ export const handleDiscordMessageAction: HandleDiscordMessageAction = (async (..
|
||||
}) as HandleDiscordMessageAction;
|
||||
|
||||
export {
|
||||
buildDiscordInteractiveComponents,
|
||||
buildDiscordComponentCustomId,
|
||||
buildDiscordComponentMessageFlags,
|
||||
buildDiscordInteractiveComponents,
|
||||
buildDiscordModalCustomId,
|
||||
createDiscordFormModal,
|
||||
DISCORD_COMPONENT_ATTACHMENT_PREFIX,
|
||||
DISCORD_COMPONENT_CUSTOM_ID_KEY,
|
||||
DISCORD_MODAL_CUSTOM_ID_KEY,
|
||||
DiscordFormModal,
|
||||
formatDiscordComponentEventText,
|
||||
parseDiscordComponentCustomId,
|
||||
parseDiscordComponentCustomIdForInteraction,
|
||||
parseDiscordModalCustomId,
|
||||
parseDiscordModalCustomIdForInteraction,
|
||||
readDiscordComponentSpec,
|
||||
resolveDiscordComponentAttachmentName,
|
||||
type ComponentData,
|
||||
type DiscordComponentBlock,
|
||||
type DiscordComponentBuildResult,
|
||||
type DiscordComponentButtonSpec,
|
||||
type DiscordComponentButtonStyle,
|
||||
type DiscordComponentEntry,
|
||||
type DiscordComponentMessageSpec,
|
||||
type DiscordComponentModalFieldType,
|
||||
type DiscordComponentSectionAccessory,
|
||||
type DiscordComponentSelectOption,
|
||||
type DiscordComponentSelectSpec,
|
||||
type DiscordComponentSelectType,
|
||||
type DiscordModalEntry,
|
||||
type DiscordModalFieldDefinition,
|
||||
type DiscordModalFieldSpec,
|
||||
type DiscordModalSpec,
|
||||
} from "./src/components.js";
|
||||
export {
|
||||
parseDiscordComponentCustomIdForInteraction as parseDiscordComponentCustomIdForCarbon,
|
||||
@@ -54,6 +92,17 @@ export {
|
||||
isDiscordExecApprovalClientEnabled,
|
||||
shouldSuppressLocalDiscordExecApprovalPrompt,
|
||||
} from "./src/exec-approvals.js";
|
||||
export type {
|
||||
DiscordInteractiveHandlerContext,
|
||||
DiscordInteractiveHandlerRegistration,
|
||||
} from "./src/interactive-dispatch.js";
|
||||
export {
|
||||
type DiscordPluralKitConfig,
|
||||
fetchPluralKitMessageInfo,
|
||||
type PluralKitMemberInfo,
|
||||
type PluralKitMessageInfo,
|
||||
type PluralKitSystemInfo,
|
||||
} from "./src/pluralkit.js";
|
||||
export {
|
||||
fetchDiscordApplicationId,
|
||||
fetchDiscordApplicationSummary,
|
||||
@@ -65,6 +114,7 @@ export {
|
||||
type DiscordPrivilegedIntentStatus,
|
||||
type DiscordProbe,
|
||||
} from "./src/probe.js";
|
||||
export { normalizeExplicitDiscordSessionKey } from "./src/session-key-normalization.js";
|
||||
export { parseDiscordSendTarget, type SendDiscordTarget } from "./src/send-target-parsing.js";
|
||||
export {
|
||||
parseDiscordTarget,
|
||||
@@ -74,6 +124,8 @@ export {
|
||||
type DiscordTargetKind,
|
||||
type DiscordTargetParseOptions,
|
||||
} from "./src/targets.js";
|
||||
export { collectDiscordSecurityAuditFindings } from "./src/security-audit.js";
|
||||
export { resolveDiscordRuntimeGroupPolicy } from "./src/runtime-group-policy.js";
|
||||
export {
|
||||
DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
|
||||
DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
|
||||
@@ -81,3 +133,6 @@ export {
|
||||
DISCORD_DEFAULT_LISTENER_TIMEOUT_MS,
|
||||
mergeAbortSignals,
|
||||
} from "./src/monitor/timeouts.js";
|
||||
export type { DiscordSendComponents, DiscordSendEmbeds } from "./src/send.shared.js";
|
||||
export type { DiscordSendResult } from "./src/send.types.js";
|
||||
export type { DiscordTokenResolution } from "./src/token.js";
|
||||
|
||||
@@ -9,6 +9,108 @@ import {
|
||||
} from "./component-custom-id.js";
|
||||
|
||||
const API_SOURCE_PATH = resolve(dirname(fileURLToPath(import.meta.url)), "../api.ts");
|
||||
const itOnSupportedNode = Number(process.versions.node.split(".")[0]) >= 22 ? it : it.skip;
|
||||
|
||||
const FORMER_PUBLIC_API_EXPORTS = [
|
||||
"DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS",
|
||||
"DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS",
|
||||
"DISCORD_COMPONENT_ATTACHMENT_PREFIX",
|
||||
"DISCORD_COMPONENT_CUSTOM_ID_KEY",
|
||||
"DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS",
|
||||
"DISCORD_DEFAULT_LISTENER_TIMEOUT_MS",
|
||||
"DISCORD_MODAL_CUSTOM_ID_KEY",
|
||||
"DiscordApplicationSummary",
|
||||
"DiscordComponentBlock",
|
||||
"DiscordComponentBuildResult",
|
||||
"DiscordComponentButtonSpec",
|
||||
"DiscordComponentButtonStyle",
|
||||
"DiscordComponentEntry",
|
||||
"DiscordComponentMessageSpec",
|
||||
"DiscordComponentModalFieldType",
|
||||
"DiscordComponentSectionAccessory",
|
||||
"DiscordComponentSelectOption",
|
||||
"DiscordComponentSelectSpec",
|
||||
"DiscordComponentSelectType",
|
||||
"DiscordCredentialStatus",
|
||||
"DiscordFormModal",
|
||||
"DiscordInteractiveHandlerContext",
|
||||
"DiscordInteractiveHandlerRegistration",
|
||||
"DiscordModalEntry",
|
||||
"DiscordModalFieldDefinition",
|
||||
"DiscordModalFieldSpec",
|
||||
"DiscordModalSpec",
|
||||
"DiscordPluralKitConfig",
|
||||
"DiscordPrivilegedIntentStatus",
|
||||
"DiscordPrivilegedIntentsSummary",
|
||||
"DiscordProbe",
|
||||
"DiscordSendComponents",
|
||||
"DiscordSendEmbeds",
|
||||
"DiscordSendResult",
|
||||
"DiscordTarget",
|
||||
"DiscordTargetKind",
|
||||
"DiscordTargetParseOptions",
|
||||
"DiscordTokenResolution",
|
||||
"InspectedDiscordAccount",
|
||||
"PluralKitMemberInfo",
|
||||
"PluralKitMessageInfo",
|
||||
"PluralKitSystemInfo",
|
||||
"ResolvedDiscordAccount",
|
||||
"buildDiscordComponentCustomId",
|
||||
"buildDiscordComponentMessage",
|
||||
"buildDiscordComponentMessageFlags",
|
||||
"buildDiscordInteractiveComponents",
|
||||
"buildDiscordModalCustomId",
|
||||
"collectDiscordSecurityAuditFindings",
|
||||
"collectDiscordStatusIssues",
|
||||
"createDiscordActionGate",
|
||||
"createDiscordFormModal",
|
||||
"discordPlugin",
|
||||
"discordSetupPlugin",
|
||||
"fetchDiscordApplicationId",
|
||||
"fetchDiscordApplicationSummary",
|
||||
"fetchPluralKitMessageInfo",
|
||||
"formatDiscordComponentEventText",
|
||||
"getDiscordExecApprovalApprovers",
|
||||
"handleDiscordMessageAction",
|
||||
"handleDiscordSubagentDeliveryTarget",
|
||||
"handleDiscordSubagentEnded",
|
||||
"handleDiscordSubagentSpawning",
|
||||
"inspectDiscordAccount",
|
||||
"isDiscordExecApprovalApprover",
|
||||
"isDiscordExecApprovalClientEnabled",
|
||||
"listDiscordAccountIds",
|
||||
"listDiscordDirectoryGroupsFromConfig",
|
||||
"listDiscordDirectoryPeersFromConfig",
|
||||
"listEnabledDiscordAccounts",
|
||||
"looksLikeDiscordTargetId",
|
||||
"mergeDiscordAccountConfig",
|
||||
"normalizeDiscordMessagingTarget",
|
||||
"normalizeDiscordOutboundTarget",
|
||||
"normalizeExplicitDiscordSessionKey",
|
||||
"parseApplicationIdFromToken",
|
||||
"parseDiscordComponentCustomId",
|
||||
"parseDiscordComponentCustomIdForCarbon",
|
||||
"parseDiscordComponentCustomIdForInteraction",
|
||||
"parseDiscordModalCustomId",
|
||||
"parseDiscordModalCustomIdForCarbon",
|
||||
"parseDiscordModalCustomIdForInteraction",
|
||||
"parseDiscordTarget",
|
||||
"probeDiscord",
|
||||
"readDiscordComponentSpec",
|
||||
"resolveDefaultDiscordAccountId",
|
||||
"resolveDiscordAccount",
|
||||
"resolveDiscordAccountConfig",
|
||||
"resolveDiscordChannelId",
|
||||
"resolveDiscordComponentAttachmentName",
|
||||
"resolveDiscordGroupRequireMention",
|
||||
"resolveDiscordGroupToolPolicy",
|
||||
"resolveDiscordMaxLinesPerMessage",
|
||||
"resolveDiscordPrivilegedIntentsFromFlags",
|
||||
"resolveDiscordRuntimeGroupPolicy",
|
||||
"resolveDiscordTarget",
|
||||
"shouldSuppressLocalDiscordExecApprovalPrompt",
|
||||
"tryHandleDiscordMessageActionGuildAdmin",
|
||||
] as const;
|
||||
|
||||
function collectExportedNames(): Set<string> {
|
||||
const source = ts.createSourceFile(
|
||||
@@ -46,24 +148,27 @@ describe("discord public API barrel", () => {
|
||||
it("keeps compatibility exports for existing @openclaw/discord/api.js consumers", () => {
|
||||
const exportedNames = collectExportedNames();
|
||||
|
||||
for (const exportName of [
|
||||
"DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS",
|
||||
"buildDiscordInteractiveComponents",
|
||||
"handleDiscordMessageAction",
|
||||
"isDiscordExecApprovalApprover",
|
||||
"isDiscordExecApprovalClientEnabled",
|
||||
"parseApplicationIdFromToken",
|
||||
"parseDiscordComponentCustomIdForCarbon",
|
||||
"parseDiscordSendTarget",
|
||||
"parseDiscordTarget",
|
||||
"probeDiscord",
|
||||
"resolveDiscordChannelId",
|
||||
"resolveDiscordPrivilegedIntentsFromFlags",
|
||||
]) {
|
||||
for (const exportName of FORMER_PUBLIC_API_EXPORTS) {
|
||||
expect(exportedNames).toContain(exportName);
|
||||
}
|
||||
});
|
||||
|
||||
itOnSupportedNode("links restored runtime compatibility exports", async () => {
|
||||
const api = await import("../api.js");
|
||||
|
||||
for (const exportName of [
|
||||
"DISCORD_COMPONENT_CUSTOM_ID_KEY",
|
||||
"buildDiscordComponentMessageFlags",
|
||||
"createDiscordFormModal",
|
||||
"handleDiscordSubagentSpawning",
|
||||
"listEnabledDiscordAccounts",
|
||||
"resolveDiscordRuntimeGroupPolicy",
|
||||
"tryHandleDiscordMessageActionGuildAdmin",
|
||||
]) {
|
||||
expect(api).toHaveProperty(exportName);
|
||||
}
|
||||
});
|
||||
|
||||
it("keeps legacy Carbon component parser aliases aligned with interaction parsers", () => {
|
||||
const exportedNames = collectExportedNames();
|
||||
const customId = buildDiscordComponentCustomId({
|
||||
|
||||
Reference in New Issue
Block a user