import { ConnectorRegistry, type CredentialAccessor } from "@tactical-media-broadcast-hub/connector-sdk"; // eslint-disable-next-line no-restricted-syntax -- Connector composition boundary. import { createInstagramConnector } from "@tactical-media-broadcast-hub/connector-instagram"; // eslint-disable-next-line no-restricted-syntax -- Connector composition boundary. import { createMastodonConnector } from "@tactical-media-broadcast-hub/connector-mastodon"; // eslint-disable-next-line no-restricted-syntax -- Connector composition boundary. import { createPeerTubeConnector } from "../../../../packages/connector-peertube/src/index.js"; // eslint-disable-next-line no-restricted-syntax -- Connector composition boundary. import { createTelegramConnector } from "@tactical-media-broadcast-hub/connector-telegram"; /** Composition boundary only: services resolve manifests rather than branch on providers. */ export function connectionRegistry(credentials: CredentialAccessor, fetchImpl: typeof fetch = fetch): ConnectorRegistry { const registry = new ConnectorRegistry(); const options = { credentials, fetchImpl, env: process.env }; registry.register(createMastodonConnector(options)); registry.register(createPeerTubeConnector(options)); registry.register(createTelegramConnector(options)); registry.register(createInstagramConnector(options)); return registry; }