refactor: route shared channel sdk imports through plugin seams
This commit is contained in:
parent
0ed64f124d
commit
3a2c24e598
@ -1,9 +1,9 @@
|
||||
import { callGateway } from "../../gateway/call.js";
|
||||
import { logVerbose } from "../../globals.js";
|
||||
import {
|
||||
isTelegramExecApprovalApprover,
|
||||
isTelegramExecApprovalClientEnabled,
|
||||
} from "../../../extensions/telegram/src/exec-approvals.js";
|
||||
import { callGateway } from "../../gateway/call.js";
|
||||
import { logVerbose } from "../../globals.js";
|
||||
} from "../../plugin-sdk/telegram.js";
|
||||
import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_NAMES } from "../../utils/message-channel.js";
|
||||
import { requireGatewayClientScopeForInternalChannel } from "./command-gates.js";
|
||||
import type { CommandHandler } from "./commands-types.js";
|
||||
|
||||
@ -1,10 +1,3 @@
|
||||
import {
|
||||
buildModelsKeyboard,
|
||||
buildProviderKeyboard,
|
||||
calculateTotalPages,
|
||||
getModelsPageSize,
|
||||
type ProviderInfo,
|
||||
} from "../../../extensions/telegram/src/model-buttons.js";
|
||||
import { resolveAgentDir, resolveSessionAgentId } from "../../agents/agent-scope.js";
|
||||
import { resolveModelAuthLabel } from "../../agents/model-auth-label.js";
|
||||
import { loadModelCatalog } from "../../agents/model-catalog.js";
|
||||
@ -17,6 +10,13 @@ import {
|
||||
} from "../../agents/model-selection.js";
|
||||
import type { OpenClawConfig } from "../../config/config.js";
|
||||
import type { SessionEntry } from "../../config/sessions.js";
|
||||
import {
|
||||
buildModelsKeyboard,
|
||||
buildProviderKeyboard,
|
||||
calculateTotalPages,
|
||||
getModelsPageSize,
|
||||
type ProviderInfo,
|
||||
} from "../../plugin-sdk/telegram.js";
|
||||
import type { ReplyPayload } from "../types.js";
|
||||
import { rejectUnauthorizedCommand } from "./command-gates.js";
|
||||
import type { CommandHandler } from "./commands-types.js";
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import { buildBrowseProvidersButton } from "../../../extensions/telegram/src/model-buttons.js";
|
||||
import { resolveAuthStorePathForDisplay } from "../../agents/auth-profiles.js";
|
||||
import {
|
||||
type ModelAliasIndex,
|
||||
@ -9,6 +8,7 @@ import {
|
||||
} from "../../agents/model-selection.js";
|
||||
import type { OpenClawConfig } from "../../config/config.js";
|
||||
import type { SessionEntry } from "../../config/sessions.js";
|
||||
import { buildBrowseProvidersButton } from "../../plugin-sdk/telegram.js";
|
||||
import { shortenHomePath } from "../../utils.js";
|
||||
import { resolveSelectedAndActiveModel } from "../model-runtime.js";
|
||||
import type { ReplyPayload } from "../types.js";
|
||||
|
||||
@ -1,13 +1,11 @@
|
||||
import { createActionGate, jsonResult, readStringParam } from "../../../agents/tools/common.js";
|
||||
import {
|
||||
listEnabledSignalAccounts,
|
||||
resolveSignalAccount,
|
||||
} from "../../../../extensions/signal/src/accounts.js";
|
||||
import { resolveSignalReactionLevel } from "../../../../extensions/signal/src/reaction-level.js";
|
||||
import {
|
||||
sendReactionSignal,
|
||||
removeReactionSignal,
|
||||
} from "../../../../extensions/signal/src/send-reactions.js";
|
||||
import { createActionGate, jsonResult, readStringParam } from "../../../agents/tools/common.js";
|
||||
resolveSignalAccount,
|
||||
resolveSignalReactionLevel,
|
||||
sendReactionSignal,
|
||||
} from "../../../plugin-sdk/signal.js";
|
||||
import type { ChannelMessageActionAdapter, ChannelMessageActionName } from "../types.js";
|
||||
import { resolveReactionMessageId } from "./reaction-message-id.js";
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import { inspectSlackAccount } from "../../../extensions/slack/src/account-inspect.js";
|
||||
import type { OpenClawConfig } from "../../config/config.js";
|
||||
import {
|
||||
resolveChannelGroupRequireMention,
|
||||
@ -11,6 +10,7 @@ import type {
|
||||
GroupToolPolicyConfig,
|
||||
} from "../../config/types.tools.js";
|
||||
import { resolveExactLineGroupConfigKey } from "../../line/group-keys.js";
|
||||
import { inspectSlackAccount } from "../../plugin-sdk/slack.js";
|
||||
import { normalizeAtHashSlug, normalizeHyphenSlug } from "../../shared/string-normalization.js";
|
||||
import type { ChannelGroupContext } from "./types.js";
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { normalizeIMessageHandle } from "../../../../extensions/imessage/src/targets.js";
|
||||
import { normalizeIMessageHandle } from "../../../plugin-sdk/imessage-targets.js";
|
||||
import { looksLikeHandleOrPhoneTarget, trimMessagingTarget } from "./shared.js";
|
||||
|
||||
// Service prefixes that indicate explicit delivery method; must be preserved during normalization
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { parseSlackTarget } from "../../../../extensions/slack/src/targets.js";
|
||||
import { parseSlackTarget } from "../../../plugin-sdk/slack-targets.js";
|
||||
|
||||
export function normalizeSlackMessagingTarget(raw: string): string | undefined {
|
||||
const target = parseSlackTarget(raw, { defaultKind: "channel" });
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { isSlackInteractiveRepliesEnabled } from "../../../extensions/slack/src/interactive-replies.js";
|
||||
import {
|
||||
extractSlackToolSend,
|
||||
listSlackMessageActions,
|
||||
} from "../../../extensions/slack/src/message-actions.js";
|
||||
import { resolveSlackChannelId } from "../../../extensions/slack/src/targets.js";
|
||||
import { handleSlackAction, type SlackActionContext } from "../../agents/tools/slack-actions.js";
|
||||
import { handleSlackMessageAction } from "../../plugin-sdk/slack-message-actions.js";
|
||||
import {
|
||||
extractSlackToolSend,
|
||||
isSlackInteractiveRepliesEnabled,
|
||||
listSlackMessageActions,
|
||||
resolveSlackChannelId,
|
||||
} from "../../plugin-sdk/slack.js";
|
||||
import type { ChannelMessageActionAdapter } from "./types.js";
|
||||
|
||||
export function createSlackActions(providerId: string): ChannelMessageActionAdapter {
|
||||
|
||||
@ -1,15 +1,5 @@
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js";
|
||||
import {
|
||||
listTelegramAccountIds,
|
||||
resolveTelegramAccount,
|
||||
} from "../../extensions/telegram/src/accounts.js";
|
||||
import {
|
||||
isNumericTelegramUserId,
|
||||
normalizeTelegramAllowFromEntry,
|
||||
} from "../../extensions/telegram/src/allow-from.js";
|
||||
import { fetchTelegramChatId } from "../../extensions/telegram/src/api-fetch.js";
|
||||
import { normalizeChatChannelId } from "../channels/registry.js";
|
||||
import { formatCliCommand } from "../cli/command-format.js";
|
||||
import { resolveCommandSecretRefsViaGateway } from "../cli/command-secret-gateway.js";
|
||||
@ -32,6 +22,14 @@ import {
|
||||
normalizeTrustedSafeBinDirs,
|
||||
} from "../infra/exec-safe-bin-trust.js";
|
||||
import { readChannelAllowFromStore } from "../pairing/pairing-store.js";
|
||||
import {
|
||||
fetchTelegramChatId,
|
||||
inspectTelegramAccount,
|
||||
isNumericTelegramUserId,
|
||||
listTelegramAccountIds,
|
||||
normalizeTelegramAllowFromEntry,
|
||||
resolveTelegramAccount,
|
||||
} from "../plugin-sdk/telegram.js";
|
||||
import {
|
||||
formatChannelAccountsDefaultPath,
|
||||
formatSetExplicitDefaultInstruction,
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { loadWebMedia } from "../../../extensions/whatsapp/src/media.js";
|
||||
import { assertMediaNotDataUrl, resolveSandboxedMediaSource } from "../../agents/sandbox-paths.js";
|
||||
import { readStringParam } from "../../agents/tools/common.js";
|
||||
import type { ChannelId, ChannelMessageActionName } from "../../channels/plugins/types.js";
|
||||
@ -8,6 +7,7 @@ import type { OpenClawConfig } from "../../config/config.js";
|
||||
import { createRootScopedReadFile } from "../../infra/fs-safe.js";
|
||||
import { extensionForMime } from "../../media/mime.js";
|
||||
import { readBooleanParam as readBooleanParamShared } from "../../plugin-sdk/boolean-param.js";
|
||||
import { loadWebMedia } from "../../plugin-sdk/web-media.js";
|
||||
|
||||
export const readBooleanParam = readBooleanParamShared;
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import fs from "node:fs";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import { listTelegramAccountIds } from "../../extensions/telegram/src/accounts.js";
|
||||
import { resolveDefaultAgentId } from "../agents/agent-scope.js";
|
||||
import type { OpenClawConfig } from "../config/config.js";
|
||||
import {
|
||||
@ -16,6 +15,7 @@ import { canonicalizeMainSessionAlias } from "../config/sessions/main-session.js
|
||||
import type { SessionScope } from "../config/sessions/types.js";
|
||||
import { createSubsystemLogger } from "../logging/subsystem.js";
|
||||
import { resolveChannelAllowFromPath } from "../pairing/pairing-store.js";
|
||||
import { listTelegramAccountIds } from "../plugin-sdk/telegram.js";
|
||||
import {
|
||||
buildAgentMainSessionKey,
|
||||
DEFAULT_ACCOUNT_ID,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { loadWebMedia } from "../../extensions/whatsapp/src/media.js";
|
||||
import { loadWebMedia } from "../plugin-sdk/web-media.js";
|
||||
import { buildOutboundMediaLoadOptions } from "./load-options.js";
|
||||
import { saveMediaBuffer } from "./store.js";
|
||||
|
||||
|
||||
@ -44,6 +44,11 @@ export {
|
||||
listThreadBindingsBySessionKey,
|
||||
unbindThreadBindingsBySessionKey,
|
||||
} from "../../extensions/discord/src/monitor/thread-bindings.js";
|
||||
export type {
|
||||
ThreadBindingManager,
|
||||
ThreadBindingRecord,
|
||||
ThreadBindingTargetKind,
|
||||
} from "../../extensions/discord/src/monitor/thread-bindings.js";
|
||||
|
||||
export {
|
||||
buildComputedAccountStatusSnapshot,
|
||||
|
||||
1
src/plugin-sdk/imessage-targets.ts
Normal file
1
src/plugin-sdk/imessage-targets.ts
Normal file
@ -0,0 +1 @@
|
||||
export { normalizeIMessageHandle } from "../../extensions/imessage/src/targets.js";
|
||||
@ -15,6 +15,19 @@ export {
|
||||
looksLikeIMessageTargetId,
|
||||
normalizeIMessageMessagingTarget,
|
||||
} from "../channels/plugins/normalize/imessage.js";
|
||||
export {
|
||||
createAllowedChatSenderMatcher,
|
||||
parseChatAllowTargetPrefixes,
|
||||
parseChatTargetPrefixesOrThrow,
|
||||
resolveServicePrefixedChatTarget,
|
||||
resolveServicePrefixedAllowTarget,
|
||||
resolveServicePrefixedOrChatAllowTarget,
|
||||
resolveServicePrefixedTarget,
|
||||
} from "../../extensions/imessage/src/target-parsing-helpers.js";
|
||||
export type {
|
||||
ChatSenderAllowParams,
|
||||
ParsedChatTarget,
|
||||
} from "../../extensions/imessage/src/target-parsing-helpers.js";
|
||||
|
||||
export {
|
||||
resolveAllowlistProviderRuntimeGroupPolicy,
|
||||
|
||||
@ -61,16 +61,6 @@ export type {
|
||||
BaseTokenResolution,
|
||||
} from "../channels/plugins/types.js";
|
||||
export type { ChannelConfigSchema, ChannelPlugin } from "../channels/plugins/types.plugin.js";
|
||||
export type {
|
||||
ThreadBindingManager,
|
||||
ThreadBindingRecord,
|
||||
ThreadBindingTargetKind,
|
||||
} from "../../extensions/discord/src/monitor/thread-bindings.js";
|
||||
export {
|
||||
autoBindSpawnedDiscordSubagent,
|
||||
listThreadBindingsBySessionKey,
|
||||
unbindThreadBindingsBySessionKey,
|
||||
} from "../../extensions/discord/src/monitor/thread-bindings.js";
|
||||
export type {
|
||||
AcpRuntimeCapabilities,
|
||||
AcpRuntimeControl,
|
||||
@ -673,108 +663,107 @@ export type { SkillCommandSpec } from "../agents/skills.js";
|
||||
|
||||
// Channel: Discord
|
||||
export {
|
||||
autoBindSpawnedDiscordSubagent,
|
||||
collectDiscordAuditChannelIds,
|
||||
collectDiscordStatusIssues,
|
||||
discordSetupAdapter,
|
||||
discordSetupWizard,
|
||||
inspectDiscordAccount,
|
||||
listDiscordAccountIds,
|
||||
resolveDefaultDiscordAccountId,
|
||||
resolveDiscordAccount,
|
||||
type ResolvedDiscordAccount,
|
||||
} from "../../extensions/discord/src/accounts.js";
|
||||
export { inspectDiscordAccount } from "../../extensions/discord/src/account-inspect.js";
|
||||
export type { InspectedDiscordAccount } from "../../extensions/discord/src/account-inspect.js";
|
||||
export { collectDiscordAuditChannelIds } from "../../extensions/discord/src/audit.js";
|
||||
export { discordSetupWizard } from "../../extensions/discord/src/setup-surface.js";
|
||||
export { discordSetupAdapter } from "../../extensions/discord/src/setup-core.js";
|
||||
export {
|
||||
looksLikeDiscordTargetId,
|
||||
normalizeDiscordMessagingTarget,
|
||||
normalizeDiscordOutboundTarget,
|
||||
} from "../channels/plugins/normalize/discord.js";
|
||||
export { collectDiscordStatusIssues } from "../channels/plugins/status-issues/discord.js";
|
||||
resolveDefaultDiscordAccountId,
|
||||
resolveDiscordAccount,
|
||||
type InspectedDiscordAccount,
|
||||
type ResolvedDiscordAccount,
|
||||
type ThreadBindingManager,
|
||||
type ThreadBindingRecord,
|
||||
type ThreadBindingTargetKind,
|
||||
listThreadBindingsBySessionKey,
|
||||
unbindThreadBindingsBySessionKey,
|
||||
} from "./discord.js";
|
||||
|
||||
// Channel: iMessage
|
||||
export {
|
||||
createAllowedChatSenderMatcher,
|
||||
imessageSetupAdapter,
|
||||
imessageSetupWizard,
|
||||
listIMessageAccountIds,
|
||||
resolveDefaultIMessageAccountId,
|
||||
resolveIMessageAccount,
|
||||
type ResolvedIMessageAccount,
|
||||
} from "../../extensions/imessage/src/accounts.js";
|
||||
export { imessageSetupWizard } from "../../extensions/imessage/src/setup-surface.js";
|
||||
export { imessageSetupAdapter } from "../../extensions/imessage/src/setup-core.js";
|
||||
export {
|
||||
looksLikeIMessageTargetId,
|
||||
normalizeIMessageMessagingTarget,
|
||||
} from "../channels/plugins/normalize/imessage.js";
|
||||
export {
|
||||
createAllowedChatSenderMatcher,
|
||||
parseChatAllowTargetPrefixes,
|
||||
parseChatTargetPrefixesOrThrow,
|
||||
resolveServicePrefixedChatTarget,
|
||||
resolveServicePrefixedAllowTarget,
|
||||
resolveServicePrefixedOrChatAllowTarget,
|
||||
resolveServicePrefixedTarget,
|
||||
} from "../../extensions/imessage/src/target-parsing-helpers.js";
|
||||
export type {
|
||||
ChatSenderAllowParams,
|
||||
ParsedChatTarget,
|
||||
} from "../../extensions/imessage/src/target-parsing-helpers.js";
|
||||
resolveDefaultIMessageAccountId,
|
||||
resolveIMessageAccount,
|
||||
type ChatSenderAllowParams,
|
||||
type ParsedChatTarget,
|
||||
type ResolvedIMessageAccount,
|
||||
} from "./imessage.js";
|
||||
|
||||
// Channel: Slack
|
||||
export {
|
||||
buildSlackThreadingToolContext,
|
||||
extractSlackToolSend,
|
||||
inspectSlackAccount,
|
||||
listEnabledSlackAccounts,
|
||||
listSlackAccountIds,
|
||||
listSlackMessageActions,
|
||||
looksLikeSlackTargetId,
|
||||
normalizeSlackMessagingTarget,
|
||||
resolveDefaultSlackAccountId,
|
||||
resolveSlackAccount,
|
||||
resolveSlackReplyToMode,
|
||||
slackSetupAdapter,
|
||||
slackSetupWizard,
|
||||
type InspectedSlackAccount,
|
||||
type ResolvedSlackAccount,
|
||||
} from "../../extensions/slack/src/accounts.js";
|
||||
export { inspectSlackAccount } from "../../extensions/slack/src/account-inspect.js";
|
||||
export type { InspectedSlackAccount } from "../../extensions/slack/src/account-inspect.js";
|
||||
export {
|
||||
extractSlackToolSend,
|
||||
listSlackMessageActions,
|
||||
} from "../../extensions/slack/src/message-actions.js";
|
||||
export { slackSetupAdapter } from "../../extensions/slack/src/setup-core.js";
|
||||
export { slackSetupWizard } from "../../extensions/slack/src/setup-surface.js";
|
||||
export {
|
||||
looksLikeSlackTargetId,
|
||||
normalizeSlackMessagingTarget,
|
||||
} from "../channels/plugins/normalize/slack.js";
|
||||
export { buildSlackThreadingToolContext } from "../../extensions/slack/src/threading-tool-context.js";
|
||||
} from "./slack.js";
|
||||
|
||||
// Channel: Telegram
|
||||
export {
|
||||
buildBrowseProvidersButton,
|
||||
buildModelsKeyboard,
|
||||
buildProviderKeyboard,
|
||||
calculateTotalPages,
|
||||
fetchTelegramChatId,
|
||||
getModelsPageSize,
|
||||
inspectTelegramAccount,
|
||||
isNumericTelegramUserId,
|
||||
isTelegramExecApprovalApprover,
|
||||
isTelegramExecApprovalClientEnabled,
|
||||
listTelegramAccountIds,
|
||||
resolveDefaultTelegramAccountId,
|
||||
resolveTelegramAccount,
|
||||
type ResolvedTelegramAccount,
|
||||
} from "../../extensions/telegram/src/accounts.js";
|
||||
export { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js";
|
||||
export type { InspectedTelegramAccount } from "../../extensions/telegram/src/account-inspect.js";
|
||||
export { telegramSetupWizard } from "../../extensions/telegram/src/setup-surface.js";
|
||||
export { telegramSetupAdapter } from "../../extensions/telegram/src/setup-core.js";
|
||||
export {
|
||||
looksLikeTelegramTargetId,
|
||||
normalizeTelegramAllowFromEntry,
|
||||
normalizeTelegramMessagingTarget,
|
||||
} from "../channels/plugins/normalize/telegram.js";
|
||||
export { collectTelegramStatusIssues } from "../channels/plugins/status-issues/telegram.js";
|
||||
export {
|
||||
parseTelegramReplyToMessageId,
|
||||
parseTelegramThreadId,
|
||||
} from "../../extensions/telegram/src/outbound-params.js";
|
||||
export { type TelegramProbe } from "../../extensions/telegram/src/probe.js";
|
||||
resolveDefaultTelegramAccountId,
|
||||
resolveTelegramAccount,
|
||||
telegramSetupAdapter,
|
||||
telegramSetupWizard,
|
||||
type ResolvedTelegramAccount,
|
||||
type InspectedTelegramAccount,
|
||||
type ProviderInfo,
|
||||
type TelegramProbe,
|
||||
collectTelegramStatusIssues,
|
||||
} from "./telegram.js";
|
||||
|
||||
// Channel: Signal
|
||||
export {
|
||||
listSignalAccountIds,
|
||||
resolveDefaultSignalAccountId,
|
||||
resolveSignalAccount,
|
||||
type ResolvedSignalAccount,
|
||||
} from "../../extensions/signal/src/accounts.js";
|
||||
export { signalSetupWizard } from "../../extensions/signal/src/setup-surface.js";
|
||||
export { signalSetupAdapter } from "../../extensions/signal/src/setup-core.js";
|
||||
export {
|
||||
looksLikeSignalTargetId,
|
||||
normalizeSignalMessagingTarget,
|
||||
} from "../channels/plugins/normalize/signal.js";
|
||||
resolveDefaultSignalAccountId,
|
||||
resolveSignalAccount,
|
||||
signalSetupAdapter,
|
||||
signalSetupWizard,
|
||||
type ResolvedSignalAccount,
|
||||
} from "./signal.js";
|
||||
|
||||
// Channel: WhatsApp — WhatsApp-specific exports moved to extensions/whatsapp/src/
|
||||
export { isWhatsAppGroupJid, normalizeWhatsAppTarget } from "../whatsapp/normalize.js";
|
||||
@ -786,12 +775,13 @@ export { collectBlueBubblesStatusIssues } from "../channels/plugins/status-issue
|
||||
// Channel: LINE
|
||||
export {
|
||||
listLineAccountIds,
|
||||
lineSetupAdapter,
|
||||
lineSetupWizard,
|
||||
normalizeAccountId as normalizeLineAccountId,
|
||||
resolveDefaultLineAccountId,
|
||||
resolveLineAccount,
|
||||
} from "../line/accounts.js";
|
||||
export { lineSetupAdapter, lineSetupWizard } from "../../extensions/line/src/setup-surface.js";
|
||||
export { LineConfigSchema } from "../line/config-schema.js";
|
||||
LineConfigSchema,
|
||||
} from "./line.js";
|
||||
export type {
|
||||
LineConfig,
|
||||
LineAccountConfig,
|
||||
@ -815,7 +805,7 @@ export {
|
||||
export type { ProcessedLineMessage } from "../line/markdown-to-line.js";
|
||||
|
||||
// Media utilities
|
||||
export { loadWebMedia, type WebMediaResult } from "../../extensions/whatsapp/src/media.js";
|
||||
export { loadWebMedia, type WebMediaResult } from "./web-media.js";
|
||||
|
||||
// Context engine
|
||||
export type {
|
||||
|
||||
@ -27,6 +27,12 @@ export {
|
||||
buildTokenChannelStatusSummary,
|
||||
} from "./status-helpers.js";
|
||||
|
||||
export {
|
||||
listLineAccountIds,
|
||||
normalizeAccountId,
|
||||
resolveDefaultLineAccountId,
|
||||
resolveLineAccount,
|
||||
} from "../line/accounts.js";
|
||||
export { lineSetupAdapter } from "../../extensions/line/src/setup-core.js";
|
||||
export { lineSetupWizard } from "../../extensions/line/src/setup-surface.js";
|
||||
export { LineConfigSchema } from "../line/config-schema.js";
|
||||
|
||||
@ -96,7 +96,7 @@ export {
|
||||
} from "./group-access.js";
|
||||
export { formatDocsLink } from "../terminal/links.js";
|
||||
export { sleep } from "../utils.js";
|
||||
export { loadWebMedia } from "../../extensions/whatsapp/src/media.js";
|
||||
export { loadWebMedia } from "./web-media.js";
|
||||
export type { WizardPrompter } from "../wizard/prompts.js";
|
||||
export { keepHttpServerTaskAlive } from "./channel-lifecycle.js";
|
||||
export { withFileLock } from "./file-lock.js";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { loadWebMedia } from "../../extensions/whatsapp/src/media.js";
|
||||
import { loadWebMedia } from "./web-media.js";
|
||||
|
||||
export type OutboundMediaLoadOptions = {
|
||||
maxBytes?: number;
|
||||
|
||||
@ -3,10 +3,16 @@ export type { ResolvedSignalAccount } from "../../extensions/signal/src/accounts
|
||||
export type { SignalAccountConfig } from "../config/types.js";
|
||||
export * from "./channel-plugin-common.js";
|
||||
export {
|
||||
listEnabledSignalAccounts,
|
||||
listSignalAccountIds,
|
||||
resolveDefaultSignalAccountId,
|
||||
resolveSignalAccount,
|
||||
} from "../../extensions/signal/src/accounts.js";
|
||||
export { resolveSignalReactionLevel } from "../../extensions/signal/src/reaction-level.js";
|
||||
export {
|
||||
removeReactionSignal,
|
||||
sendReactionSignal,
|
||||
} from "../../extensions/signal/src/send-reactions.js";
|
||||
export {
|
||||
looksLikeSignalTargetId,
|
||||
normalizeSignalMessagingTarget,
|
||||
|
||||
6
src/plugin-sdk/slack-targets.ts
Normal file
6
src/plugin-sdk/slack-targets.ts
Normal file
@ -0,0 +1,6 @@
|
||||
export {
|
||||
parseSlackTarget,
|
||||
resolveSlackChannelId,
|
||||
type SlackTarget,
|
||||
type SlackTargetKind,
|
||||
} from "../../extensions/slack/src/targets.js";
|
||||
@ -4,6 +4,7 @@ export type { InspectedSlackAccount } from "../../extensions/slack/src/account-i
|
||||
export type { ResolvedSlackAccount } from "../../extensions/slack/src/accounts.js";
|
||||
export * from "./channel-plugin-common.js";
|
||||
export {
|
||||
listEnabledSlackAccounts,
|
||||
listSlackAccountIds,
|
||||
resolveDefaultSlackAccountId,
|
||||
resolveSlackAccount,
|
||||
@ -24,6 +25,7 @@ export {
|
||||
looksLikeSlackTargetId,
|
||||
normalizeSlackMessagingTarget,
|
||||
} from "../channels/plugins/normalize/slack.js";
|
||||
export { parseSlackTarget, resolveSlackChannelId } from "./slack-targets.js";
|
||||
export {
|
||||
extractSlackToolSend,
|
||||
listSlackMessageActions,
|
||||
|
||||
@ -53,8 +53,25 @@ export {
|
||||
parseTelegramReplyToMessageId,
|
||||
parseTelegramThreadId,
|
||||
} from "../../extensions/telegram/src/outbound-params.js";
|
||||
export {
|
||||
isNumericTelegramUserId,
|
||||
normalizeTelegramAllowFromEntry,
|
||||
} from "../../extensions/telegram/src/allow-from.js";
|
||||
export { fetchTelegramChatId } from "../../extensions/telegram/src/api-fetch.js";
|
||||
export { collectTelegramStatusIssues } from "../channels/plugins/status-issues/telegram.js";
|
||||
export { sendTelegramPayloadMessages } from "../../extensions/telegram/src/outbound-adapter.js";
|
||||
export {
|
||||
buildBrowseProvidersButton,
|
||||
buildModelsKeyboard,
|
||||
buildProviderKeyboard,
|
||||
calculateTotalPages,
|
||||
getModelsPageSize,
|
||||
type ProviderInfo,
|
||||
} from "../../extensions/telegram/src/model-buttons.js";
|
||||
export {
|
||||
isTelegramExecApprovalApprover,
|
||||
isTelegramExecApprovalClientEnabled,
|
||||
} from "../../extensions/telegram/src/exec-approvals.js";
|
||||
|
||||
export {
|
||||
resolveAllowlistProviderRuntimeGroupPolicy,
|
||||
|
||||
1
src/plugin-sdk/web-media.ts
Normal file
1
src/plugin-sdk/web-media.ts
Normal file
@ -0,0 +1 @@
|
||||
export { loadWebMedia, type WebMediaResult } from "../../extensions/whatsapp/src/media.js";
|
||||
@ -6,4 +6,4 @@ export {
|
||||
export {
|
||||
isNumericTelegramUserId,
|
||||
normalizeTelegramAllowFromEntry,
|
||||
} from "../../extensions/telegram/src/allow-from.js";
|
||||
} from "../plugin-sdk/telegram.js";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user