test-harness/dist/providers
Interfaces
CategoryOperationDeclaration
Properties
alias
audiences?
optional audiences?: string[];
capability?
optional capability?: string;
changesWorkflow?
optional changesWorkflow?: boolean;
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
extension?
optional extension?: boolean;
externallyVisible?
optional externallyVisible?: boolean;
optional inputSchema?: unknown;
optional inputSchemaName?: string;
optional inputSchemaRef?: string;
level?
optional level?: CategoryOperationLevel;
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
label?
requiredPolicyIds?
optional requiredPolicyIds?: string[];
sideEffect?
optional sideEffect?: boolean;
ProviderCategoryCoverage
Properties
category
claimedCoverageLevel?
optional claimedCoverageLevel?: ProviderCategoryCoverageLevel;
coverageLevel
coverageLevel: ProviderCategoryCoverageLevel;
implementedOperations
implementedOperations: string[];
invalidExtensions
invalidExtensions: {
alias: string;
missing: string[];
}[];
alias
missing
missingOptional
missingOptional: string[];
missingRecommended
missingRecommended: string[];
missingRequired
missingRequired: string[];
operationCounts
operationCounts: {
extension: number;
implemented: number;
optional: number;
recommended: number;
required: number;
};
extension
implemented
optional
recommended
required
overstatedCoverage?
optional overstatedCoverage?: boolean;
profileId?
optional profileId?: string;
unsupportedOperations
unsupportedOperations: {
alias: string;
capability: string;
}[];
alias
capability
Properties
details?
optional details?: Record<string, unknown>;
id
message
status
status: ProviderConformanceStatus;
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[];
optional enabledForTools?: string[];
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
behavior.allowMarkdown?
optional allowMarkdown?: boolean;
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;
optional media?: unknown;
behavior.sensitiveData?
optional sensitiveData?: unknown;
behavior.tone?
channel
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;
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
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;
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
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
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
limitations?
optional limitations?: string[];
maintainers?
optional maintainers?: {
name: string;
type?: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
name
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
privacyNotes?
optional privacyNotes?: string[];
provider
trustLevel?
optional trustLevel?: "community" | "official" | "verified" | "experimental";
signal?
optional signal?: AbortSignal;
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
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
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
limitations
maintainers
maintainers: {
name: string;
type: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
name
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
privacyNotes
provider
trustLevel
trustLevel: "community" | "official" | "verified" | "experimental";
passed
status
status: "failed" | "passed" | "credential-blocked";
ProviderLiveCheck
Properties
description?
optional description?: string;
id
requiredCredentialIds?
optional requiredCredentialIds?: string[];
Methods
run()
run(context): Promise<
| void
| {
details?: Record<string, unknown>;
}>;
Parameters
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
scopes
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
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
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
limitations
maintainers
maintainers: {
name: string;
type: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
name
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
privacyNotes
provider
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
ProviderCategoryCoverageLevel
type ProviderCategoryCoverageLevel = "none" | "partial" | "standard" | "full";
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
function runProviderConformance(input): Promise<ProviderConformanceResult>;
Parameters
Returns
Promise\<ProviderConformanceResult>