packages/integration-kit/dist/testing
Interfaces
Properties
alias
code
code: IntegrationConformanceIssueCode;
message
Properties
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";
operations
operations: Record<string, unknown>;
Type Aliases
type IntegrationConformanceIssueCode =
| "missing-operation-handler"
| "extra-operation-handler"
| "invalid-extension-operation-alias";
Functions
function assertIntegrationConformance(subject): OperationBindingReport;
Parameters
Returns
OperationBindingReport
function collectIntegrationConformanceIssues(subject): IntegrationConformanceIssue[];
Parameters
Returns
IntegrationConformanceIssue[]
createOperationHandlerStubs()
function createOperationHandlerStubs(manifest, handler?): Record<string, IntegrationOperationHandler>;
Parameters
Returns
Record\<string, IntegrationOperationHandler>
expectProviderExtensionAliasNamespace()
function expectProviderExtensionAliasNamespace(manifest, alias): void;
Parameters
| Parameter |
Type |
manifest |
Pick\<ProviderManifest, "id" | "provider" | "packageName"> |
alias |
string |
Returns
void