Plugins: internalize discord SDK imports

This commit is contained in:
Vincent Koc
2026-03-17 20:35:56 -07:00
parent a8f433d611
commit f253f14b0b
13 changed files with 77 additions and 37 deletions

View File

@@ -1,18 +1,16 @@
import {
DEFAULT_ACCOUNT_ID,
normalizeAccountId,
type OpenClawConfig,
} from "openclaw/plugin-sdk/account-resolution";
import {
hasConfiguredSecretInput,
normalizeSecretInputString,
} from "openclaw/plugin-sdk/config-runtime";
import type { DiscordAccountConfig } from "openclaw/plugin-sdk/discord";
import {
mergeDiscordAccountConfig,
resolveDefaultDiscordAccountId,
resolveDiscordAccountConfig,
} from "./accounts.js";
import {
DEFAULT_ACCOUNT_ID,
normalizeAccountId,
hasConfiguredSecretInput,
normalizeSecretInputString,
type OpenClawConfig,
type DiscordAccountConfig,
} from "./runtime-api.js";
export type DiscordCredentialStatus = "available" | "configured_unavailable" | "missing";

View File

@@ -4,8 +4,9 @@ import {
normalizeAccountId,
resolveAccountEntry,
type OpenClawConfig,
} from "openclaw/plugin-sdk/account-resolution";
import type { DiscordAccountConfig, DiscordActionConfig } from "openclaw/plugin-sdk/discord";
type DiscordAccountConfig,
type DiscordActionConfig,
} from "./runtime-api.js";
import { resolveDiscordToken } from "./token.js";
export type ResolvedDiscordAccount = {

View File

@@ -1,4 +1,5 @@
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
import { getPresence } from "../monitor/presence-cache.js";
import {
type ActionGate,
jsonResult,
@@ -7,8 +8,7 @@ import {
readStringArrayParam,
readStringParam,
type DiscordActionConfig,
} from "openclaw/plugin-sdk/discord-core";
import { getPresence } from "../monitor/presence-cache.js";
} from "../runtime-api.js";
import {
addRoleDiscord,
createChannelDiscord,

View File

@@ -1,5 +1,5 @@
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
import { readDiscordComponentSpec } from "../components.js";
import {
assertMediaNotDataUrl,
type ActionGate,
@@ -12,8 +12,8 @@ import {
type DiscordActionConfig,
type OpenClawConfig,
withNormalizedTimestamp,
} from "openclaw/plugin-sdk/discord-core";
import { readDiscordComponentSpec } from "../components.js";
readBooleanParam,
} from "../runtime-api.js";
import {
createThreadDiscord,
deleteMessageDiscord,

View File

@@ -1,5 +1,5 @@
import { PermissionFlagsBits } from "discord-api-types/v10";
import { readNumberParam, readStringParam } from "openclaw/plugin-sdk/discord-core";
import { readNumberParam, readStringParam } from "../runtime-api.js";
export type DiscordModerationAction = "timeout" | "kick" | "ban";

View File

@@ -4,7 +4,7 @@ import {
jsonResult,
readStringParam,
type DiscordActionConfig,
} from "openclaw/plugin-sdk/discord-core";
} from "../runtime-api.js";
import {
banMemberDiscord,
hasAnyGuildPermissionDiscord,

View File

@@ -1,12 +1,12 @@
import type { Activity, UpdatePresenceData } from "@buape/carbon/gateway";
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
import { getGateway } from "../monitor/gateway-registry.js";
import {
type ActionGate,
jsonResult,
readStringParam,
type DiscordActionConfig,
} from "openclaw/plugin-sdk/discord-core";
import { getGateway } from "../monitor/gateway-registry.js";
} from "../runtime-api.js";
const ACTIVITY_TYPE_MAP: Record<string, number> = {
playing: 0,

View File

@@ -1,4 +1,4 @@
import { readStringParam } from "openclaw/plugin-sdk/discord-core";
import { readStringParam } from "../runtime-api.js";
export function readDiscordParentIdParam(
params: Record<string, unknown>,

View File

@@ -1,6 +1,6 @@
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
import { readStringParam, type OpenClawConfig } from "openclaw/plugin-sdk/discord-core";
import { createDiscordActionGate } from "../accounts.js";
import { readStringParam, type OpenClawConfig } from "../runtime-api.js";
import { handleDiscordGuildAction } from "./runtime.guild.js";
import { handleDiscordMessagingAction } from "./runtime.messaging.js";
import { handleDiscordModerationAction } from "./runtime.moderation.js";

View File

@@ -1,5 +1,5 @@
import { type ChannelPlugin } from "openclaw/plugin-sdk/discord";
import { type ResolvedDiscordAccount } from "./accounts.js";
import { type ChannelPlugin } from "./runtime-api.js";
import { discordSetupAdapter } from "./setup-core.js";
import { createDiscordPluginBase } from "./shared.js";

View File

@@ -14,6 +14,8 @@ import { buildOutboundBaseSessionKey, normalizeOutboundThreadId } from "openclaw
import {
buildComputedAccountStatusSnapshot,
buildTokenChannelStatusSummary,
type ChannelMessageActionAdapter,
type ChannelPlugin,
DEFAULT_ACCOUNT_ID,
getChatChannelMeta,
listDiscordDirectoryGroupsFromConfig,
@@ -21,10 +23,8 @@ import {
PAIRING_APPROVED_MESSAGE,
projectCredentialSnapshotFields,
resolveConfiguredFromCredentialStatuses,
type ChannelMessageActionAdapter,
type ChannelPlugin,
type OpenClawConfig,
} from "openclaw/plugin-sdk/discord";
} from "./runtime-api.js";
import { resolveThreadSessionKeys, type RoutePeer } from "openclaw/plugin-sdk/routing";
import {
listDiscordAccountIds,

View File

@@ -0,0 +1,43 @@
export {
buildComputedAccountStatusSnapshot,
buildTokenChannelStatusSummary,
listDiscordDirectoryGroupsFromConfig,
listDiscordDirectoryPeersFromConfig,
PAIRING_APPROVED_MESSAGE,
projectCredentialSnapshotFields,
resolveConfiguredFromCredentialStatuses,
} from "openclaw/plugin-sdk/discord";
export {
buildChannelConfigSchema,
getChatChannelMeta,
jsonResult,
readNumberParam,
readStringArrayParam,
readStringParam,
type ActionGate,
type ChannelPlugin,
type OpenClawConfig,
} from "openclaw/plugin-sdk/discord-core";
export { DiscordConfigSchema } from "openclaw/plugin-sdk/discord-core";
export { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
export {
createAccountActionGate,
createAccountListHelpers,
DEFAULT_ACCOUNT_ID,
normalizeAccountId,
resolveAccountEntry,
} from "openclaw/plugin-sdk/account-resolution";
export type {
ChannelMessageActionAdapter,
ChannelMessageActionName,
} from "openclaw/plugin-sdk/channel-runtime";
export { withNormalizedTimestamp } from "../../../src/agents/date-time.js";
export { assertMediaNotDataUrl } from "../../../src/agents/sandbox-paths.js";
export { parseAvailableTags, readReactionParams } from "openclaw/plugin-sdk/discord-core";
export { resolvePollMaxSelections } from "../../../src/polls.js";
export type { DiscordAccountConfig, DiscordActionConfig } from "../config/types.js";
export {
hasConfiguredSecretInput,
normalizeResolvedSecretInputString,
normalizeSecretInputString,
} from "../../../src/config/types.secrets.js";

View File

@@ -1,15 +1,5 @@
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
import {
createScopedAccountConfigAccessors,
createScopedChannelConfigBase,
} from "openclaw/plugin-sdk/channel-config-helpers";
import { createChannelPluginBase } from "openclaw/plugin-sdk/core";
import {
buildChannelConfigSchema,
DiscordConfigSchema,
getChatChannelMeta,
type ChannelPlugin,
} from "openclaw/plugin-sdk/discord-core";
import { inspectDiscordAccount } from "./account-inspect.js";
import {
listDiscordAccountIds,
@@ -17,6 +7,14 @@ import {
resolveDiscordAccount,
type ResolvedDiscordAccount,
} from "./accounts.js";
import {
createScopedAccountConfigAccessors,
createScopedChannelConfigBase,
buildChannelConfigSchema,
DiscordConfigSchema,
getChatChannelMeta,
type ChannelPlugin,
} from "./runtime-api.js";
import { createDiscordSetupWizardProxy } from "./setup-core.js";
export const DISCORD_CHANNEL = "discord" as const;