Skip to content

test-harness/dist/providers

Interfaces

CategoryOperationDeclaration

Properties

alias
alias: string;
audiences?
optional audiences?: string[];
capability?
optional capability?: string;
changesWorkflow?
optional changesWorkflow?: boolean;
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
extension?
optional extension?: boolean;
externallyVisible?
optional externallyVisible?: boolean;
inputSchema?
optional inputSchema?: unknown;
inputSchemaName?
optional inputSchemaName?: string;
inputSchemaRef?
optional inputSchemaRef?: string;
level?
optional level?: CategoryOperationLevel;
metadata?
optional metadata?: Record<string, unknown>;
outputSchema?
optional outputSchema?: unknown;
outputSchemaName?
optional outputSchemaName?: string;
outputSchemaRef?
optional outputSchemaRef?: string;
providerObject?
optional providerObject?: string;
providerObjects?
optional providerObjects?: {
  kind: string;
  label?: string;
}[];
kind
kind: string;
label?
optional label?: string;
requiredPolicyIds?
optional requiredPolicyIds?: string[];
sideEffect?
optional sideEffect?: boolean;

ProviderCategoryCoverage

Properties

category
category: string;
claimedCoverageLevel?
optional claimedCoverageLevel?: ProviderCategoryCoverageLevel;
coverageLevel
coverageLevel: ProviderCategoryCoverageLevel;
implementedOperations
implementedOperations: string[];
invalidExtensions
invalidExtensions: {
  alias: string;
  missing: string[];
}[];
alias
alias: string;
missing
missing: string[];
missingOptional
missingOptional: string[];
missingRecommended
missingRecommended: string[];
missingRequired
missingRequired: string[];
operationCounts
operationCounts: {
  extension: number;
  implemented: number;
  optional: number;
  recommended: number;
  required: number;
};
extension
extension: number;
implemented
implemented: number;
optional
optional: number;
recommended: number;
required
required: number;
overstatedCoverage?
optional overstatedCoverage?: boolean;
profileId?
optional profileId?: string;
unsupportedOperations
unsupportedOperations: {
  alias: string;
  capability: string;
}[];
alias
alias: string;
capability
capability: string;

ProviderConformanceCheckResult

Properties

details?
optional details?: Record<string, unknown>;
id
id: string;
message
message: string;
status
status: ProviderConformanceStatus;

ProviderConformanceInput

Properties

availability?
optional availability?: {
  blockers?: {
     code: string;
     kind?:   | "unknown"
        | "permission-blocked"
        | "missing-policy"
        | "missing-configuration"
        | "missing-credentials"
        | "provider-unsupported";
     message: string;
  }[];
  capability?: string;
  enabledForAgents?: string[];
  enabledForChannels?: string[];
  enabledForJourneys?: string[];
  enabledForTools?: string[];
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId?: string;
  status:   | "enabled"
     | "registry-available"
     | "installed"
     | "configured"
     | "blocked";
}[];
blockers?
optional blockers?: {
  code: string;
  kind?:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
capability?
optional capability?: string;
enabledForAgents?
optional enabledForAgents?: string[];
enabledForChannels?
optional enabledForChannels?: string[];
enabledForJourneys?
optional enabledForJourneys?: string[];
enabledForTools?
optional enabledForTools?: string[];
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageId?
optional providerPackageId?: string;
status
status:
  | "enabled"
  | "registry-available"
  | "installed"
  | "configured"
  | "blocked";
categoryProfiles?
optional categoryProfiles?: IntegrationCategoryProfile[];
channels?
optional channels?: {
  audience?: "customer-facing" | "internal-support" | "mixed";
  behavior?: {
   [key: string]: unknown;
     allowMarkdown?: boolean;
     allowWidgets?: boolean;
     approval?: unknown;
     draftFirst?: boolean;
     handoff?: unknown;
     maxCharacters?: number;
     maxWords?: number;
     media?: unknown;
     sensitiveData?: unknown;
     tone?: string;
  };
  channel: string;
  channelSetIds?: string[];
  enabled?: boolean;
  enabledCapabilities?: string[];
  flowActivations?: {
     enabled?: boolean;
     journeyId: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds?: string[];
     providerPackageIds?: string[];
     reason?: string;
  }[];
  handoff?: {
     destinations?: string[];
     enabled?: boolean;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds?: string[];
     providerPackageIds?: string[];
     sdkControlled?: boolean;
  };
  id: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outbound?: {
     enabled?: boolean;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds?: string[];
     providerPackageIds?: string[];
     requiresProviderOutboundSupport?: boolean;
  };
  policies?: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageIds?: string[];
}[];
audience?
optional audience?: "customer-facing" | "internal-support" | "mixed";
behavior?
optional behavior?: {
[key: string]: unknown;
  allowMarkdown?: boolean;
  allowWidgets?: boolean;
  approval?: unknown;
  draftFirst?: boolean;
  handoff?: unknown;
  maxCharacters?: number;
  maxWords?: number;
  media?: unknown;
  sensitiveData?: unknown;
  tone?: string;
};
Index Signature
[key: string]: unknown
behavior.allowMarkdown?
optional allowMarkdown?: boolean;
behavior.allowWidgets?
optional allowWidgets?: boolean;
behavior.approval?
optional approval?: unknown;
behavior.draftFirst?
optional draftFirst?: boolean;
behavior.handoff?
optional handoff?: unknown;
behavior.maxCharacters?
optional maxCharacters?: number;
behavior.maxWords?
optional maxWords?: number;
behavior.media?
optional media?: unknown;
behavior.sensitiveData?
optional sensitiveData?: unknown;
behavior.tone?
optional tone?: string;
channel
channel: string;
channelSetIds?
optional channelSetIds?: string[];
enabled?
optional enabled?: boolean;
enabledCapabilities?
optional enabledCapabilities?: string[];
flowActivations?
optional flowActivations?: {
  enabled?: boolean;
  journeyId: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds?: string[];
  providerPackageIds?: string[];
  reason?: string;
}[];
handoff?
optional handoff?: {
  destinations?: string[];
  enabled?: boolean;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds?: string[];
  providerPackageIds?: string[];
  sdkControlled?: boolean;
};
handoff.destinations?
optional destinations?: string[];
handoff.enabled?
optional enabled?: boolean;
handoff.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
handoff.policyIds?
optional policyIds?: string[];
handoff.providerPackageIds?
optional providerPackageIds?: string[];
handoff.sdkControlled?
optional sdkControlled?: boolean;
id
id: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
outbound?
optional outbound?: {
  enabled?: boolean;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds?: string[];
  providerPackageIds?: string[];
  requiresProviderOutboundSupport?: boolean;
};
outbound.enabled?
optional enabled?: boolean;
outbound.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
outbound.policyIds?
optional policyIds?: string[];
outbound.providerPackageIds?
optional providerPackageIds?: string[];
outbound.requiresProviderOutboundSupport?
optional requiresProviderOutboundSupport?: boolean;
policies?
optional policies?: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageIds?
optional providerPackageIds?: string[];
credentialStatuses?
optional credentialStatuses?: {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes?: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];
expiresAt?
optional expiresAt?: string;
message?
optional message?: string;
providerPackageId?
optional providerPackageId?: string;
requirementId
requirementId: string;
scopes?
optional scopes?: string[];
state
state:
  | "required"
  | "configured"
  | "permission-blocked"
  | "not-required"
  | "missing"
  | "expired"
  | "insufficient-scope"
  | "unavailable";
expectedPackageName?
optional expectedPackageName?: string;
live?
optional live?: {
  checks?: ProviderLiveCheck[];
  enabled?: boolean;
};
checks?
optional checks?: ProviderLiveCheck[];
enabled?
optional enabled?: boolean;
manifest
manifest: {
  capabilities: {
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension?: boolean;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        schemaName?: string;
     }[];
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  category: string;
  channelAudiences?: ("customer-facing" | "internal-support" | "mixed")[];
  coverage?: {
     evidence?: {
        label: string;
        url?: string;
     }[];
     notes?: string[];
     scope?:   | "support-workflow-subset"
        | "provider-api-subset"
        | "connector-required"
        | "local-protocol"
        | "full-provider-api";
  };
  credentialRequirements?: {
     description?: string;
     id: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     required?: boolean;
     scopes?: string[];
  }[];
  directions: (
     | "receive-only"
     | "send-only"
     | "inbound-only"
     | "outbound-only"
    | "bidirectional")[];
  id: string;
  limitations?: string[];
  maintainers?: {
     name: string;
     type?: "community" | "official" | "unknown" | "partner";
     url?: string;
  }[];
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  name: string;
  operations?: {
     alias: string;
     audience?: "customer-facing" | "internal-support" | "mixed";
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension?: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     outputSchema?: unknown;
     outputSchemaName?: string;
     outputSchemaRef?: string;
     providerObject?: string;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        schemaName?: string;
     }[];
     providerOperation?: string;
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  packageName: string;
  privacyNotes?: string[];
  provider: string;
  trustLevel?: "community" | "official" | "verified" | "experimental";
};
capabilities
capabilities: {
  audiences?: ("customer-facing" | "internal-support" | "mixed")[];
  capability: string;
  changesWorkflow?: boolean;
  description?: string;
  exposesSensitiveData?: boolean;
  extension?: boolean;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerObjects?: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
  requiresCredential?: boolean;
  sideEffect?: boolean;
}[];
category
category: string;
channelAudiences?
optional channelAudiences?: ("customer-facing" | "internal-support" | "mixed")[];
coverage?
optional coverage?: {
  evidence?: {
     label: string;
     url?: string;
  }[];
  notes?: string[];
  scope?:   | "support-workflow-subset"
     | "provider-api-subset"
     | "connector-required"
     | "local-protocol"
     | "full-provider-api";
};
coverage.evidence?
optional evidence?: {
  label: string;
  url?: string;
}[];
coverage.notes?
optional notes?: string[];
coverage.scope?
optional scope?:
  | "support-workflow-subset"
  | "provider-api-subset"
  | "connector-required"
  | "local-protocol"
  | "full-provider-api";
credentialRequirements?
optional credentialRequirements?: {
  description?: string;
  id: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  required?: boolean;
  scopes?: string[];
}[];
directions
directions: (
  | "receive-only"
  | "send-only"
  | "inbound-only"
  | "outbound-only"
  | "bidirectional")[];
id
id: string;
limitations?
optional limitations?: string[];
maintainers?
optional maintainers?: {
  name: string;
  type?: "community" | "official" | "unknown" | "partner";
  url?: string;
}[];
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
name
name: string;
operations?
optional operations?: {
  alias: string;
  audience?: "customer-facing" | "internal-support" | "mixed";
  audiences?: ("customer-facing" | "internal-support" | "mixed")[];
  capability: string;
  changesWorkflow?: boolean;
  description?: string;
  exposesSensitiveData?: boolean;
  extension?: boolean;
  externallyVisible?: boolean;
  inputSchema?: unknown;
  inputSchemaName?: string;
  inputSchemaRef?: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema?: unknown;
  outputSchemaName?: string;
  outputSchemaRef?: string;
  providerObject?: string;
  providerObjects?: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
  providerOperation?: string;
  requiredPolicyIds?: string[];
  requiresApproval?: boolean;
  requiresCredential?: boolean;
  sideEffect?: boolean;
}[];
packageName
packageName: string;
privacyNotes?
optional privacyNotes?: string[];
provider
provider: string;
trustLevel?
optional trustLevel?: "community" | "official" | "verified" | "experimental";
signal?
optional signal?: AbortSignal;

ProviderConformanceResult

Properties

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

ProviderLiveCheck

Properties

description?
optional description?: string;
id
id: string;
requiredCredentialIds?
optional requiredCredentialIds?: string[];

Methods

run()
run(context): Promise<
  | void
  | {
  details?: Record<string, unknown>;
}>;
Parameters
Parameter Type
context ProviderLiveCheckContext
Returns

Promise\< | void | { details?: Record\<string, unknown>; }>


ProviderLiveCheckContext

Properties

credentialStatuses
credentialStatuses: {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];
expiresAt?
optional expiresAt?: string;
message?
optional message?: string;
providerPackageId?
optional providerPackageId?: string;
requirementId
requirementId: string;
scopes
scopes: string[];
state
state:
  | "required"
  | "configured"
  | "permission-blocked"
  | "not-required"
  | "missing"
  | "expired"
  | "insufficient-scope"
  | "unavailable";
manifest
manifest: {
  capabilities: {
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension?: boolean;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        schemaName?: string;
     }[];
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  category: string;
  channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
  coverage: {
     evidence: {
        label: string;
        url?: string;
     }[];
     notes: string[];
     scope:   | "support-workflow-subset"
        | "provider-api-subset"
        | "connector-required"
        | "local-protocol"
        | "full-provider-api";
  };
  credentialRequirements: {
     description?: string;
     id: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     required: boolean;
     scopes: string[];
  }[];
  directions: (
     | "receive-only"
     | "send-only"
     | "inbound-only"
     | "outbound-only"
    | "bidirectional")[];
  id: string;
  limitations: string[];
  maintainers: {
     name: string;
     type: "community" | "official" | "unknown" | "partner";
     url?: string;
  }[];
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  name: string;
  operations: {
     alias: string;
     audience?: "customer-facing" | "internal-support" | "mixed";
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     outputSchema?: unknown;
     outputSchemaName?: string;
     outputSchemaRef?: string;
     providerObject?: string;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        schemaName?: string;
     }[];
     providerOperation?: string;
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  packageName: string;
  privacyNotes: string[];
  provider: string;
  trustLevel: "community" | "official" | "verified" | "experimental";
};
capabilities
capabilities: {
  audiences?: ("customer-facing" | "internal-support" | "mixed")[];
  capability: string;
  changesWorkflow?: boolean;
  description?: string;
  exposesSensitiveData?: boolean;
  extension?: boolean;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerObjects?: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
  requiresCredential?: boolean;
  sideEffect?: boolean;
}[];
category
category: string;
channelAudiences
channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
coverage
coverage: {
  evidence: {
     label: string;
     url?: string;
  }[];
  notes: string[];
  scope:   | "support-workflow-subset"
     | "provider-api-subset"
     | "connector-required"
     | "local-protocol"
     | "full-provider-api";
};
coverage.evidence
evidence: {
  label: string;
  url?: string;
}[];
coverage.notes
notes: string[];
coverage.scope
scope:
  | "support-workflow-subset"
  | "provider-api-subset"
  | "connector-required"
  | "local-protocol"
  | "full-provider-api";
credentialRequirements
credentialRequirements: {
  description?: string;
  id: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  required: boolean;
  scopes: string[];
}[];
directions
directions: (
  | "receive-only"
  | "send-only"
  | "inbound-only"
  | "outbound-only"
  | "bidirectional")[];
id
id: string;
limitations
limitations: string[];
maintainers
maintainers: {
  name: string;
  type: "community" | "official" | "unknown" | "partner";
  url?: string;
}[];
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
name
name: string;
operations
operations: {
  alias: string;
  audience?: "customer-facing" | "internal-support" | "mixed";
  audiences?: ("customer-facing" | "internal-support" | "mixed")[];
  capability: string;
  changesWorkflow?: boolean;
  description?: string;
  exposesSensitiveData?: boolean;
  extension: boolean;
  externallyVisible?: boolean;
  inputSchema?: unknown;
  inputSchemaName?: string;
  inputSchemaRef?: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema?: unknown;
  outputSchemaName?: string;
  outputSchemaRef?: string;
  providerObject?: string;
  providerObjects?: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
  providerOperation?: string;
  requiredPolicyIds?: string[];
  requiresApproval?: boolean;
  requiresCredential?: boolean;
  sideEffect?: boolean;
}[];
packageName
packageName: string;
privacyNotes
privacyNotes: string[];
provider
provider: string;
trustLevel
trustLevel: "community" | "official" | "verified" | "experimental";
signal?
optional signal?: AbortSignal;

Type Aliases

CategoryOperationLevel

type CategoryOperationLevel = "required" | "recommended" | "optional" | "extension";

IntegrationCategoryProfile

type IntegrationCategoryProfile = Omit<IntegrationCategoryProfileInput, "category" | "metadata" | "operations"> & {
  category: string;
  id?: string;
  metadata?: Record<string, unknown>;
  operations?: CategoryOperationDeclaration[];
};

Type Declaration

Name Type
category string
id? string
metadata? Record\<string, unknown>
operations? CategoryOperationDeclaration[]

ProviderCategoryCoverageLevel

type ProviderCategoryCoverageLevel = "none" | "partial" | "standard" | "full";

ProviderConformanceStatus

type ProviderConformanceStatus = "passed" | "failed" | "credential-blocked" | "skipped";

Functions

deriveProviderCategoryCoverage()

function deriveProviderCategoryCoverage(input): ProviderCategoryCoverage;

Parameters

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

Returns

ProviderCategoryCoverage


runProviderConformance()

function runProviderConformance(input): Promise<ProviderConformanceResult>;

Parameters

Parameter Type
input ProviderConformanceInput

Returns

Promise\<ProviderConformanceResult>