/** * Framework-owned integration taxonomy and metadata. * * This module deliberately describes integrations without implementing them. * Runtime behavior stays in adapters and plugins; consumers must use * availability and support maturity before offering a connection flow. */ export declare const INTEGRATION_CATEGORIES: readonly ["channel", "provider", "automation", "agent-runtime", "tool-protocol"]; export type IntegrationCategory = (typeof INTEGRATION_CATEGORIES)[number]; export type IntegrationAvailability = "available" | "preview" | "planned" | "unavailable"; export type IntegrationSupportMaturity = "built-in" | "blueprint" | "experimental"; export type IntegrationIconKey = "slack" | "telegram" | "whatsapp" | "microsoft-teams" | "discord" | "email" | "n8n" | "zapier"; export interface IntegrationCredentialRequirement { /** Stable runtime key; this is a name only, never a credential value. */ readonly key: string; readonly label: string; readonly required: boolean; readonly helpText?: string; /** * Credential groups model alternatives such as Resend or SendGrid. At least * one credential in a group must be configured when `required` is true. */ readonly alternativeGroup?: string; } export interface ChannelCapabilities { readonly inboundText: boolean; readonly replyText: boolean; readonly proactiveMessages: boolean; readonly directMessages?: boolean; readonly mentions?: boolean; readonly nativeThreads?: boolean; readonly contextualReplies?: boolean; readonly interactionOnly?: boolean; readonly webhookSetup?: "automatic" | "manual"; } export interface AutomationCapabilities { /** * `configured-webhook` uses the generic automation runtime after an app * owner supplies a workflow URL and credentials. `blueprint-only` has no * generic execution path in Agent Native. */ readonly runtime: "configured-webhook" | "blueprint-only"; readonly invokeWorkflow: boolean; readonly receiveCallback: boolean; readonly responseModes: readonly ("synchronous" | "asynchronous")[]; readonly idempotency: boolean; } export interface IntegrationCatalogEntry { readonly id: string; readonly name: string; readonly categories: readonly IntegrationCategory[]; readonly availability: IntegrationAvailability; readonly supportMaturity: IntegrationSupportMaturity; /** A semantic key for consumers to map to their own icon library or asset. */ readonly iconKey: IntegrationIconKey; readonly description: string; readonly caveats: readonly string[]; readonly documentation: { readonly href: string; readonly externalHref?: string; readonly externalLabel?: string; }; readonly setup: { readonly steps: readonly string[]; }; readonly credentialRequirements: readonly IntegrationCredentialRequirement[]; readonly channelCapabilities?: ChannelCapabilities; readonly automationCapabilities?: AutomationCapabilities; } export type BuiltInChannelId = "slack" | "microsoft-teams" | "discord" | "telegram" | "whatsapp" | "email"; export declare const BUILT_IN_INTEGRATION_CATALOG: readonly IntegrationCatalogEntry[]; export declare function listIntegrationCatalog(category?: IntegrationCategory): readonly IntegrationCatalogEntry[]; export declare function getIntegrationCatalogEntry(id: string): IntegrationCatalogEntry | undefined; export declare function listBuiltInChannelIntegrations(): readonly IntegrationCatalogEntry[]; //# sourceMappingURL=catalog.d.ts.map