Skip to content

integrations/voice/deepgram/dist/manifest

Variables

deepgramVoiceProviderManifest

const deepgramVoiceProviderManifest: {
  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:   | "provider-api-subset"
        | "support-workflow-subset"
        | "connector-required"
        | "local-protocol"
        | "full-provider-api";
  };
  credentialRequirements: {
     description?: string;
     id: string;
     label?: string;
     metadata?: Record<string, unknown>;
     required: boolean;
     scopes: string[];
  }[];
  directions: (
     | "receive-only"
     | "send-only"
     | "bidirectional"
     | "inbound-only"
    | "outbound-only")[];
  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"];
     capability: "receive";
     description: "Transcribes customer PCM/WAV voice input with Deepgram speech-to-text.";
     exposesSensitiveData: true;
     label: "Transcribe speech";
     providerObjects: readonly [{
        kind: "deepgramTranscript";
        label: "Deepgram Transcript";
     }];
     requiresCredential: true;
   }, {
     audiences: readonly ["customer-facing"];
     capability: "send";
     description: "Synthesizes Cognidesk assistant text with Deepgram text-to-speech.";
     exposesSensitiveData: true;
     label: "Synthesize speech";
     providerObjects: readonly [{
        kind: "deepgramSpeechSynthesis";
        label: "Deepgram Speech Synthesis";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: readonly ["customer-facing", "internal-support"];
     capability: "media";
     description: "Exchanges buffered PCM input and synthesized audio for Cognidesk voice sessions.";
     exposesSensitiveData: true;
     label: "Speech audio media";
     providerObjects: readonly [{
        kind: "voiceTranscript";
        label: "Voice Transcript";
      }, {
        kind: "voiceAudio";
        label: "Voice Audio";
     }];
     requiresCredential: true;
  }];
  category: "voice";
  channelAudiences: readonly ["customer-facing", "mixed"];
  coverage: {
     evidence: readonly [{
        label: "Deepgram SDK package";
        url: "https://www.npmjs.com/package/@deepgram/sdk";
      }, {
        label: "Deepgram prerecorded audio STT";
        url: "https://developers.deepgram.com/docs/pre-recorded-audio";
      }, {
        label: "Deepgram Text-to-Speech REST";
        url: "https://developers.deepgram.com/docs/text-to-speech";
     }];
     notes: readonly ["Implements normalized Cognidesk speech-to-text and text-to-speech operations with the official Deepgram SDK.", "Raw Deepgram SDK access is exposed as an escape hatch, but Cognidesk does not claim ownership of the full Deepgram provider API.", "Deepgram Voice Agent, Flux streaming sessions, account administration, telephony setup, self-hosted deployment management, and custom model administration remain outside this normalized adapter."];
     scope: "provider-api-subset";
  };
  credentialRequirements: readonly [{
     description: "Server-side Deepgram API key used by the official SDK for speech API requests.";
     id: "deepgram-api-key";
     label: "Deepgram API key";
     metadata: {
        minimumAccess: readonly ["speech-to-text", "text-to-speech"];
        scopeKind: "provider-permission";
     };
     required: true;
  }];
  directions: readonly ["receive-only", "send-only", "bidirectional"];
  id: "voice.deepgram";
  limitations: readonly ["This package implements SDK-backed STT/TTS for Cognidesk speech pipelines, not Deepgram Voice Agent or Flux websocket sessions.", "The background LLM is the Cognidesk Agent Model Set, not Deepgram."];
  maintainers: readonly [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     implementation: {
        sdkPackage: "@deepgram/sdk";
        strategy: "official-sdk";
        verifiedAt: "2026-06-21";
        verifiedVersion: "5.4.0";
     };
     rawClient: {
        coverage: "upstream-sdk";
        export: "getRawClient";
     };
  };
  name: "Deepgram Voice";
  operations: readonly [{
     alias: "voice.turn.finalize";
     audiences: readonly ["customer-facing"];
     capability: "receive";
     exposesSensitiveData: true;
     label: "Transcribe speech";
     providerObject: "voiceTranscript";
     providerOperation: "listen.v1.media.transcribeFile";
   }, {
     alias: "voice.speak";
     audiences: readonly ["customer-facing"];
     capability: "send";
     exposesSensitiveData: true;
     label: "Synthesize speech";
     providerObject: "voiceAudio";
     providerOperation: "speak.v1.audio.generate";
     sideEffect: true;
  }];
  packageName: "@cognidesk/integration-voice-deepgram";
  privacyNotes: readonly ["Customer audio is sent to Deepgram for transcription, and assistant response text is sent to Deepgram for synthesis.", "Deepgram API keys remain server-side and are never issued to browsers by this package."];
  provider: "deepgram";
  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: | "provider-api-subset" | "support-workflow-subset" | "connector-required" | "local-protocol" | "full-provider-api"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.scope | "provider-api-subset" | "support-workflow-subset" | "connector-required" | "local-protocol" | "full-provider-api"
credentialRequirements { description?: string; id: string; label?: string; metadata?: Record\<string, unknown>; required: boolean; scopes: string[]; }[]
directions ( | "receive-only" | "send-only" | "bidirectional" | "inbound-only" | "outbound-only")[]
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"]; capability: "receive"; description: "Transcribes customer PCM/WAV voice input with Deepgram speech-to-text."; exposesSensitiveData: true; label: "Transcribe speech"; providerObjects: readonly [{ kind: "deepgramTranscript"; label: "Deepgram Transcript"; }]; requiresCredential: true; }, { audiences: readonly ["customer-facing"]; capability: "send"; description: "Synthesizes Cognidesk assistant text with Deepgram text-to-speech."; exposesSensitiveData: true; label: "Synthesize speech"; providerObjects: readonly [{ kind: "deepgramSpeechSynthesis"; label: "Deepgram Speech Synthesis"; }]; requiresCredential: true; sideEffect: true; }, { audiences: readonly ["customer-facing", "internal-support"]; capability: "media"; description: "Exchanges buffered PCM input and synthesized audio for Cognidesk voice sessions."; exposesSensitiveData: true; label: "Speech audio media"; providerObjects: readonly [{ kind: "voiceTranscript"; label: "Voice Transcript"; }, { kind: "voiceAudio"; label: "Voice Audio"; }]; requiresCredential: true; }]
category "voice"
channelAudiences readonly ["customer-facing", "mixed"]
coverage { evidence: readonly [{ label: "Deepgram SDK package"; url: "https://www.npmjs.com/package/@deepgram/sdk"; }, { label: "Deepgram prerecorded audio STT"; url: "https://developers.deepgram.com/docs/pre-recorded-audio"; }, { label: "Deepgram Text-to-Speech REST"; url: "https://developers.deepgram.com/docs/text-to-speech"; }]; notes: readonly ["Implements normalized Cognidesk speech-to-text and text-to-speech operations with the official Deepgram SDK.", "Raw Deepgram SDK access is exposed as an escape hatch, but Cognidesk does not claim ownership of the full Deepgram provider API.", "Deepgram Voice Agent, Flux streaming sessions, account administration, telephony setup, self-hosted deployment management, and custom model administration remain outside this normalized adapter."]; scope: "provider-api-subset"; }
coverage.evidence readonly [{ label: "Deepgram SDK package"; url: "https://www.npmjs.com/package/@deepgram/sdk"; }, { label: "Deepgram prerecorded audio STT"; url: "https://developers.deepgram.com/docs/pre-recorded-audio"; }, { label: "Deepgram Text-to-Speech REST"; url: "https://developers.deepgram.com/docs/text-to-speech"; }]
coverage.notes readonly ["Implements normalized Cognidesk speech-to-text and text-to-speech operations with the official Deepgram SDK.", "Raw Deepgram SDK access is exposed as an escape hatch, but Cognidesk does not claim ownership of the full Deepgram provider API.", "Deepgram Voice Agent, Flux streaming sessions, account administration, telephony setup, self-hosted deployment management, and custom model administration remain outside this normalized adapter."]
coverage.scope "provider-api-subset"
credentialRequirements readonly [{ description: "Server-side Deepgram API key used by the official SDK for speech API requests."; id: "deepgram-api-key"; label: "Deepgram API key"; metadata: { minimumAccess: readonly ["speech-to-text", "text-to-speech"]; scopeKind: "provider-permission"; }; required: true; }]
directions readonly ["receive-only", "send-only", "bidirectional"]
id "voice.deepgram"
limitations readonly ["This package implements SDK-backed STT/TTS for Cognidesk speech pipelines, not Deepgram Voice Agent or Flux websocket sessions.", "The background LLM is the Cognidesk Agent Model Set, not Deepgram."]
maintainers readonly [{ name: "Cognidesk"; type: "official"; }]
metadata { implementation: { sdkPackage: "@deepgram/sdk"; strategy: "official-sdk"; verifiedAt: "2026-06-21"; verifiedVersion: "5.4.0"; }; rawClient: { coverage: "upstream-sdk"; export: "getRawClient"; }; }
metadata.implementation { sdkPackage: "@deepgram/sdk"; strategy: "official-sdk"; verifiedAt: "2026-06-21"; verifiedVersion: "5.4.0"; }
metadata.implementation.sdkPackage "@deepgram/sdk"
metadata.implementation.strategy "official-sdk"
metadata.implementation.verifiedAt "2026-06-21"
metadata.implementation.verifiedVersion "5.4.0"
metadata.rawClient { coverage: "upstream-sdk"; export: "getRawClient"; }
metadata.rawClient.coverage "upstream-sdk"
metadata.rawClient.export "getRawClient"
name "Deepgram Voice"
operations readonly [{ alias: "voice.turn.finalize"; audiences: readonly ["customer-facing"]; capability: "receive"; exposesSensitiveData: true; label: "Transcribe speech"; providerObject: "voiceTranscript"; providerOperation: "listen.v1.media.transcribeFile"; }, { alias: "voice.speak"; audiences: readonly ["customer-facing"]; capability: "send"; exposesSensitiveData: true; label: "Synthesize speech"; providerObject: "voiceAudio"; providerOperation: "speak.v1.audio.generate"; sideEffect: true; }]
packageName "@cognidesk/integration-voice-deepgram"
privacyNotes readonly ["Customer audio is sent to Deepgram for transcription, and assistant response text is sent to Deepgram for synthesis.", "Deepgram API keys remain server-side and are never issued to browsers by this package."]
provider "deepgram"
trustLevel "official"