Skip to content

integrations/email/imap/dist/manifest

Variables

imapEmailProviderManifest

const imapEmailProviderManifest: {
  capabilities: {
     audiences?: ("customer-facing" | "mixed" | "internal-support")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension?: boolean;
     label?: string;
     metadata?: Record<string, unknown>;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: Record<string, unknown>;
        schemaName?: string;
     }[];
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  category: string;
  channelAudiences: ("customer-facing" | "mixed" | "internal-support")[];
  coverage: {
     evidence: {
        label: string;
        url?: string;
     }[];
     notes: string[];
     scope:   | "local-protocol"
        | "support-workflow-subset"
        | "provider-api-subset"
        | "connector-required"
        | "full-provider-api";
  };
  credentialRequirements: {
     description?: string;
     id: string;
     label?: string;
     metadata?: Record<string, unknown>;
     required: boolean;
     scopes: string[];
  }[];
  directions: (
     | "inbound-only"
     | "receive-only"
     | "send-only"
     | "outbound-only"
    | "bidirectional")[];
  id: string;
  limitations: string[];
  maintainers: {
     name: string;
     type: "official" | "community" | "unknown" | "partner";
     url?: string;
  }[];
  metadata?: Record<string, unknown>;
  name: string;
  operations: {
     alias: string;
     audience?: "customer-facing" | "mixed" | "internal-support";
     audiences?: ("customer-facing" | "mixed" | "internal-support")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     metadata?: Record<string, unknown>;
     outputSchema?: unknown;
     outputSchemaName?: string;
     outputSchemaRef?: string;
     providerObject?: string;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: Record<string, unknown>;
        schemaName?: string;
     }[];
     providerOperation?: string;
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  packageName: string;
  privacyNotes: string[];
  provider: string;
  trustLevel: "official" | "community" | "verified" | "experimental";
} & {
  capabilities: readonly [{
     audiences: readonly ["customer-facing", "mixed"];
     capability: "read-provider-object";
     description: "Checks mailbox readiness and fetches explicitly requested message data through ImapFlow.";
     exposesSensitiveData: true;
     label: "Read IMAP mailbox data";
     providerObjects: readonly [{
        kind: "imapMailbox";
        label: "IMAP Mailbox";
      }, {
        kind: "emailMessage";
        label: "Email Message";
     }];
     requiresCredential: true;
   }, {
     audiences: readonly ["internal-support", "mixed"];
     capability: "search-provider-object";
     description: "Runs SDK-user supplied IMAP searches through ImapFlow.";
     exposesSensitiveData: true;
     label: "Search IMAP mailbox";
     providerObjects: readonly [{
        kind: "emailMessage";
        label: "Email Message";
     }];
     requiresCredential: true;
  }];
  category: "email";
  channelAudiences: readonly ["customer-facing", "mixed"];
  coverage: {
     evidence: readonly [{
        label: "RFC 9051 IMAP4rev2";
        url: "https://datatracker.ietf.org/doc/html/rfc9051";
      }, {
        label: "ImapFlow";
        url: "https://imapflow.com/";
     }];
     notes: readonly ["Coverage is a focused Cognidesk IMAP protocol adapter backed by ImapFlow.", "This package does not claim full mailbox synchronization, MIME parsing, retention policy, attachment policy, or outbound SMTP support."];
     scope: "local-protocol";
  };
  credentialRequirements: readonly [{
     description: "Mailbox host, port, TLS mode, and mailbox folder configuration.";
     id: "imap-server";
     label: "IMAP server settings";
     required: true;
   }, {
     description: "Mailbox username with password, OAuth2 access token, or externally supplied auth.";
     id: "imap-mailbox-credentials";
     label: "IMAP mailbox credentials";
     required: true;
  }];
  directions: readonly ["inbound-only"];
  id: "email.imap";
  limitations: readonly ["This package does not implement full mailbox synchronization, storage, retention, MIME parsing policy, attachment handling policy, deletion policy, or outbound SMTP.", "SDK users own mailbox selection, search scope, flag mutation policy, retention, redaction, and concurrency limits."];
  maintainers: readonly [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     channelCoverage: {
        fullMailboxSync: "not-covered";
        mailboxReadiness: "provider-supported-via-protocol-library";
        messageFetch: "provider-supported-via-protocol-library";
        messageSearch: "provider-supported-via-protocol-library";
        mimeParsingAttachments: "not-covered";
        outboundSmtp: "not-covered";
     };
     directSliceMetadata: {
        allowlist: readonly ["connect", "logout", "mailboxOpen", "status", "search", "fetch"];
        checksum: "npm:imapflow@1.4.2";
        source: "RFC 9051 plus ImapFlow 1.4.2 declarations";
     };
     implementation: {
        integrationKitStatus: "implemented";
        libraryPackage: "imapflow";
        libraryVersionRange: "^1.4.2";
        manifestImport: "no-sdk-client-initialization";
        protocolSource: "RFC 9051";
        strategy: "protocol-library";
        verifiedAt: "2026-06-21";
        verifiedPackageVersion: "1.4.2";
     };
     rawClientEscapeHatch: "ImapFlow client exposed from createImapEmailClient().rawClient";
  };
  name: "IMAP Mailbox";
  operations: readonly [{
     alias: "imap.mailbox.check";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     extension: true;
     providerObject: "imapMailbox";
   }, {
     alias: "email.thread.search";
     capability: "search-provider-object";
     exposesSensitiveData: true;
     providerObject: "emailMessage";
   }, {
     alias: "email.thread.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObject: "emailMessage";
  }];
  packageName: "@cognidesk/integration-email-imap";
  privacyNotes: readonly ["IMAP messages can contain customer content, addresses, headers, attachments, and mailbox folder metadata.", "Mailbox credentials stay server-side and are represented only as readiness state."];
  provider: "imap";
  trustLevel: "official";
};

Type Declaration

Name Type
capabilities { audiences?: ("customer-facing" | "mixed" | "internal-support")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension?: boolean; label?: string; metadata?: Record\<string, unknown>; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; requiresCredential?: boolean; sideEffect?: boolean; }[]
category string
channelAudiences ("customer-facing" | "mixed" | "internal-support")[]
coverage { evidence: { label: string; url?: string; }[]; notes: string[]; scope: | "local-protocol" | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "full-provider-api"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.scope | "local-protocol" | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "full-provider-api"
credentialRequirements { description?: string; id: string; label?: string; metadata?: Record\<string, unknown>; required: boolean; scopes: string[]; }[]
directions ( | "inbound-only" | "receive-only" | "send-only" | "outbound-only" | "bidirectional")[]
id string
limitations string[]
maintainers { name: string; type: "official" | "community" | "unknown" | "partner"; url?: string; }[]
metadata? Record\<string, unknown>
name string
operations { alias: string; audience?: "customer-facing" | "mixed" | "internal-support"; audiences?: ("customer-facing" | "mixed" | "internal-support")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; metadata?: Record\<string, unknown>; outputSchema?: unknown; outputSchemaName?: string; outputSchemaRef?: string; providerObject?: string; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; providerOperation?: string; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
packageName string
privacyNotes string[]
provider string
trustLevel "official" | "community" | "verified" | "experimental"

Type Declaration

Name Type
capabilities readonly [{ audiences: readonly ["customer-facing", "mixed"]; capability: "read-provider-object"; description: "Checks mailbox readiness and fetches explicitly requested message data through ImapFlow."; exposesSensitiveData: true; label: "Read IMAP mailbox data"; providerObjects: readonly [{ kind: "imapMailbox"; label: "IMAP Mailbox"; }, { kind: "emailMessage"; label: "Email Message"; }]; requiresCredential: true; }, { audiences: readonly ["internal-support", "mixed"]; capability: "search-provider-object"; description: "Runs SDK-user supplied IMAP searches through ImapFlow."; exposesSensitiveData: true; label: "Search IMAP mailbox"; providerObjects: readonly [{ kind: "emailMessage"; label: "Email Message"; }]; requiresCredential: true; }]
category "email"
channelAudiences readonly ["customer-facing", "mixed"]
coverage { evidence: readonly [{ label: "RFC 9051 IMAP4rev2"; url: "https://datatracker.ietf.org/doc/html/rfc9051"; }, { label: "ImapFlow"; url: "https://imapflow.com/"; }]; notes: readonly ["Coverage is a focused Cognidesk IMAP protocol adapter backed by ImapFlow.", "This package does not claim full mailbox synchronization, MIME parsing, retention policy, attachment policy, or outbound SMTP support."]; scope: "local-protocol"; }
coverage.evidence readonly [{ label: "RFC 9051 IMAP4rev2"; url: "https://datatracker.ietf.org/doc/html/rfc9051"; }, { label: "ImapFlow"; url: "https://imapflow.com/"; }]
coverage.notes readonly ["Coverage is a focused Cognidesk IMAP protocol adapter backed by ImapFlow.", "This package does not claim full mailbox synchronization, MIME parsing, retention policy, attachment policy, or outbound SMTP support."]
coverage.scope "local-protocol"
credentialRequirements readonly [{ description: "Mailbox host, port, TLS mode, and mailbox folder configuration."; id: "imap-server"; label: "IMAP server settings"; required: true; }, { description: "Mailbox username with password, OAuth2 access token, or externally supplied auth."; id: "imap-mailbox-credentials"; label: "IMAP mailbox credentials"; required: true; }]
directions readonly ["inbound-only"]
id "email.imap"
limitations readonly ["This package does not implement full mailbox synchronization, storage, retention, MIME parsing policy, attachment handling policy, deletion policy, or outbound SMTP.", "SDK users own mailbox selection, search scope, flag mutation policy, retention, redaction, and concurrency limits."]
maintainers readonly [{ name: "Cognidesk"; type: "official"; }]
metadata { channelCoverage: { fullMailboxSync: "not-covered"; mailboxReadiness: "provider-supported-via-protocol-library"; messageFetch: "provider-supported-via-protocol-library"; messageSearch: "provider-supported-via-protocol-library"; mimeParsingAttachments: "not-covered"; outboundSmtp: "not-covered"; }; directSliceMetadata: { allowlist: readonly ["connect", "logout", "mailboxOpen", "status", "search", "fetch"]; checksum: "npm:imapflow@1.4.2"; source: "RFC 9051 plus ImapFlow 1.4.2 declarations"; }; implementation: { integrationKitStatus: "implemented"; libraryPackage: "imapflow"; libraryVersionRange: "^1.4.2"; manifestImport: "no-sdk-client-initialization"; protocolSource: "RFC 9051"; strategy: "protocol-library"; verifiedAt: "2026-06-21"; verifiedPackageVersion: "1.4.2"; }; rawClientEscapeHatch: "ImapFlow client exposed from createImapEmailClient().rawClient"; }
metadata.channelCoverage { fullMailboxSync: "not-covered"; mailboxReadiness: "provider-supported-via-protocol-library"; messageFetch: "provider-supported-via-protocol-library"; messageSearch: "provider-supported-via-protocol-library"; mimeParsingAttachments: "not-covered"; outboundSmtp: "not-covered"; }
metadata.channelCoverage.fullMailboxSync "not-covered"
metadata.channelCoverage.mailboxReadiness "provider-supported-via-protocol-library"
metadata.channelCoverage.messageFetch "provider-supported-via-protocol-library"
metadata.channelCoverage.messageSearch "provider-supported-via-protocol-library"
metadata.channelCoverage.mimeParsingAttachments "not-covered"
metadata.channelCoverage.outboundSmtp "not-covered"
metadata.directSliceMetadata { allowlist: readonly ["connect", "logout", "mailboxOpen", "status", "search", "fetch"]; checksum: "npm:imapflow@1.4.2"; source: "RFC 9051 plus ImapFlow 1.4.2 declarations"; }
metadata.directSliceMetadata.allowlist readonly ["connect", "logout", "mailboxOpen", "status", "search", "fetch"]
metadata.directSliceMetadata.checksum "npm:imapflow@1.4.2"
metadata.directSliceMetadata.source "RFC 9051 plus ImapFlow 1.4.2 declarations"
metadata.implementation { integrationKitStatus: "implemented"; libraryPackage: "imapflow"; libraryVersionRange: "^1.4.2"; manifestImport: "no-sdk-client-initialization"; protocolSource: "RFC 9051"; strategy: "protocol-library"; verifiedAt: "2026-06-21"; verifiedPackageVersion: "1.4.2"; }
metadata.implementation.integrationKitStatus "implemented"
metadata.implementation.libraryPackage "imapflow"
metadata.implementation.libraryVersionRange "^1.4.2"
metadata.implementation.manifestImport "no-sdk-client-initialization"
metadata.implementation.protocolSource "RFC 9051"
metadata.implementation.strategy "protocol-library"
metadata.implementation.verifiedAt "2026-06-21"
metadata.implementation.verifiedPackageVersion "1.4.2"
metadata.rawClientEscapeHatch "ImapFlow client exposed from createImapEmailClient().rawClient"
name "IMAP Mailbox"
operations readonly [{ alias: "imap.mailbox.check"; capability: "read-provider-object"; exposesSensitiveData: true; extension: true; providerObject: "imapMailbox"; }, { alias: "email.thread.search"; capability: "search-provider-object"; exposesSensitiveData: true; providerObject: "emailMessage"; }, { alias: "email.thread.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObject: "emailMessage"; }]
packageName "@cognidesk/integration-email-imap"
privacyNotes readonly ["IMAP messages can contain customer content, addresses, headers, attachments, and mailbox folder metadata.", "Mailbox credentials stay server-side and are represented only as readiness state."]
provider "imap"
trustLevel "official"