packages/integration-kit/dist¶
Classes¶
IntegrationError¶
Extends¶
Error
Implements¶
Constructors¶
Constructor¶
Parameters¶
| Parameter | Type |
|---|---|
code |
IntegrationErrorCode |
message |
string |
context? |
IntegrationErrorContext & { cause?: unknown; } |
Returns¶
Overrides¶
Properties¶
code¶
Implementation of¶
NormalizedIntegrationErrorShape.code
details?¶
Implementation of¶
NormalizedIntegrationErrorShape.details
name¶
Implementation of¶
NormalizedIntegrationErrorShape.name
Overrides¶
operationAlias?¶
Implementation of¶
NormalizedIntegrationErrorShape.operationAlias
provider?¶
Implementation of¶
NormalizedIntegrationErrorShape.provider
providerPackageId?¶
Implementation of¶
NormalizedIntegrationErrorShape.providerPackageId
requestId?¶
Implementation of¶
NormalizedIntegrationErrorShape.requestId
retryable?¶
Implementation of¶
NormalizedIntegrationErrorShape.retryable
statusCode?¶
Implementation of¶
NormalizedIntegrationErrorShape.statusCode
Interfaces¶
CursorPaginationInput¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Cursor extends string |
string |
Properties¶
cursor?¶
limit?¶
DefinedIntegration¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Manifest extends ProviderManifestAuthorInput |
- |
Credentials |
unknown |
Handlers extends IntegrationOperationHandlers\<Credentials> |
IntegrationOperationHandlers\<Credentials> |
Properties¶
bindingReport¶
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";
} & Manifest;
Type Declaration¶
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¶
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¶
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;
}[];
metadata?¶
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¶
metadata?¶
operationAliases¶
operations¶
Methods¶
getOperationHandler()¶
Type Parameters¶
| Type Parameter |
|---|
Alias extends string |
Parameters¶
| Parameter | Type |
|---|---|
alias |
Alias |
Returns¶
Handlers[Alias]
requireOperationHandler()¶
Type Parameters¶
| Type Parameter |
|---|
Alias extends string |
Parameters¶
| Parameter | Type |
|---|---|
alias |
Alias |
Returns¶
Handlers[Alias]
run()¶
Type Parameters¶
| Type Parameter |
|---|
Alias extends string |
Parameters¶
| Parameter | Type |
|---|---|
alias |
Alias |
input |
Parameters\<Handlers[Alias]>[0] |
context? |
Partial\<IntegrationOperationContext\<Credentials>> |
Returns¶
Promise\<Awaited\<ReturnType\<Handlers[Alias]>>>
DefineIntegrationInput¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Manifest extends ProviderManifestAuthorInput |
- |
Credentials |
unknown |
Handlers extends IntegrationOperationHandlers\<Credentials> |
IntegrationOperationHandlers\<Credentials> |
Properties¶
credentials?¶
instrumentation?¶
manifest¶
metadata?¶
operations¶
IntegrationErrorContext¶
Extended by¶
Properties¶
details?¶
operationAlias?¶
provider?¶
providerPackageId?¶
requestId?¶
retryable?¶
statusCode?¶
IntegrationInstrumentationEvent¶
Properties¶
durationMs?¶
error?¶
metadata?¶
operationAlias¶
phase¶
provider?¶
providerPackageId¶
startedAt¶
IntegrationInstrumentationHooks¶
Methods¶
onOperationError()?¶
Parameters¶
| Parameter | Type |
|---|---|
event |
IntegrationInstrumentationEvent |
Returns¶
void
onOperationStart()?¶
Parameters¶
| Parameter | Type |
|---|---|
event |
IntegrationInstrumentationEvent |
Returns¶
void
onOperationSuccess()?¶
Parameters¶
| Parameter | Type |
|---|---|
event |
IntegrationInstrumentationEvent |
Returns¶
void
IntegrationOperationContext¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Credentials |
unknown |
Properties¶
abortSignal?¶
credentials?¶
metadata?¶
operationAlias¶
provider¶
providerPackageId¶
IntegrationPage¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Item |
- |
Cursor extends string |
string |
Properties¶
items¶
pageInfo¶
raw?¶
IntegrationProviderProfileAttachment¶
Properties¶
conformant¶
coverage¶
extensionOperations¶
id¶
matchedOperations¶
missingOptionalOperations¶
missingRecommendedOperations¶
missingRequiredOperations¶
IntegrationReadinessSummary¶
Properties¶
blockingRequirementIds¶
expiredRequirementIds¶
insufficientScopeRequirementIds¶
missingRequirementIds¶
permissionBlockedRequirementIds¶
providerPackageId?¶
ready¶
statuses¶
statuses: {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[];
expiresAt?¶
message?¶
providerPackageId?¶
requirementId¶
scopes¶
state¶
state:
| "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
NormalizedIntegrationErrorShape¶
Extends¶
Properties¶
cause?¶
code¶
details?¶
Inherited from¶
IntegrationErrorContext.details
message¶
name¶
operationAlias?¶
Inherited from¶
IntegrationErrorContext.operationAlias
provider?¶
Inherited from¶
IntegrationErrorContext.provider
providerPackageId?¶
Inherited from¶
IntegrationErrorContext.providerPackageId
requestId?¶
Inherited from¶
IntegrationErrorContext.requestId
retryable?¶
Inherited from¶
IntegrationErrorContext.retryable
statusCode?¶
Inherited from¶
IntegrationErrorContext.statusCode
OffsetPaginationInput¶
Properties¶
limit?¶
offset?¶
OperationBindingReport¶
Properties¶
declaredOperationAliases¶
extraHandlerAliases¶
handlerOperationAliases¶
invalidExtensionOperationAliases¶
missingHandlerAliases¶
PageInfo¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Cursor extends string |
string |
Properties¶
hasNextPage¶
hasPreviousPage?¶
nextCursor?¶
previousCursor?¶
ParsedWebhookEvent¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Payload |
unknown |
Properties¶
eventId?¶
eventType¶
metadata?¶
payload¶
providerPackageId¶
rawBody?¶
receivedAt¶
ProviderJsonRequestInput¶
Properties¶
accessToken?¶
apiKey?¶
apiKeyHeaderName?¶
authorizationHeader?¶
baseUrl¶
body?¶
fetch?¶
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
URL | RequestInfo |
init? |
RequestInit |
Returns¶
Promise\<Response>
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
string | Request | URL |
init? |
RequestInit |
Returns¶
Promise\<Response>
headers?¶
idempotencyKey?¶
method?¶
path¶
pathParams?¶
providerName?¶
query?¶
retry?¶
signal?¶
timeoutMs?¶
ProviderJsonRetryOptions¶
Properties¶
attempts?¶
baseDelayMs?¶
maxDelayMs?¶
statusCodes?¶
ProviderManifestAuthorInput¶
Properties¶
category¶
id¶
metadata?¶
name¶
operations?¶
packageName¶
provider¶
WebhookHandlerResult¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Payload |
unknown |
Properties¶
event?¶
response?¶
body?¶
headers?¶
status¶
verification¶
WebhookVerificationResult¶
Properties¶
eventId?¶
eventType?¶
headers?¶
metadata?¶
providerPackageId?¶
reason?¶
status¶
Type Aliases¶
ExactIntegrationOperationHandlers¶
type ExactIntegrationOperationHandlers<Manifest, Handlers> = Handlers & MissingOperationHandlers<Manifest, Handlers> & ExtraOperationHandlers<Manifest, Handlers>;
Type Parameters¶
| Type Parameter |
|---|
Manifest |
Handlers extends AnyIntegrationOperationHandlers |
IntegrationErrorCode¶
type IntegrationErrorCode =
| "contract-violation"
| "credential-missing"
| "not-ready"
| "provider-auth"
| "provider-permission"
| "provider-rate-limited"
| "provider-timeout"
| "provider-unavailable"
| "provider-validation"
| "webhook-verification-failed"
| "unknown";
IntegrationOperationHandler¶
type IntegrationOperationHandler<Input, Output, Credentials> = (input, context) => Output | Promise<Output>;
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Input |
unknown |
Output |
unknown |
Credentials |
unknown |
Parameters¶
| Parameter | Type |
|---|---|
input |
Input |
context |
IntegrationOperationContext\<Credentials> |
Returns¶
Output | Promise\<Output>
IntegrationOperationHandlers¶
type IntegrationOperationHandlers<Credentials> = Record<string, IntegrationOperationHandler<any, any, Credentials>>;
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Credentials |
unknown |
ManifestOperationAlias¶
type ManifestOperationAlias<Manifest> = Manifest extends {
operations: readonly infer Operation[];
} ? Operation extends {
alias: infer Alias;
} ? Alias : never : Manifest extends {
operations?: readonly infer Operation[];
} ? Operation extends {
alias: infer Alias;
} ? Alias : never : never;
Type Parameters¶
| Type Parameter |
|---|
Manifest |
ProviderHttpMethod¶
ProviderNamespacedOperationAlias¶
Type Parameters¶
| Type Parameter |
|---|
Provider extends string |
ProviderQueryValue¶
type ProviderQueryValue =
| string
| number
| boolean
| null
| undefined
| readonly (string | number | boolean)[];
WebhookVerificationStatus¶
Functions¶
assertIntegrationReady()¶
Parameters¶
| Parameter | Type |
|---|---|
summary |
IntegrationReadinessSummary |
Returns¶
void
collectIntegrationPages()¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Item |
- |
Cursor extends string |
string |
Parameters¶
| Parameter | Type |
|---|---|
firstPage |
CursorPaginationInput\<Cursor> |
loadPage |
(input) => | IntegrationPage\<Item, Cursor> | Promise\<IntegrationPage\<Item, Cursor>> |
options? |
{ maxPages?: number; } |
options.maxPages? |
number |
Returns¶
Promise\<Item[]>
createOperationBindingReport()¶
Parameters¶
| Parameter | Type |
|---|---|
manifest |
Pick\<ProviderManifest, "operations" | "provider" | "id" | "category" | "packageName"> |
handlers |
Record\<string, unknown> |
Returns¶
createOperationInstrumentation()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
{ hooks?: IntegrationInstrumentationHooks; metadata?: Record\<string, unknown>; operationAlias: string; provider?: string; providerPackageId: string; } |
input.hooks? |
IntegrationInstrumentationHooks |
input.metadata? |
Record\<string, unknown> |
input.operationAlias |
string |
input.provider? |
string |
input.providerPackageId |
string |
Returns¶
| Name | Type |
|---|---|
error() |
(error, metadata?) => void |
success() |
(metadata?) => void |
credentialConfigured()¶
function credentialConfigured(input): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
};
Parameters¶
| Parameter | Type |
|---|---|
input |
{ message?: string; providerPackageId?: string; requirementId: string; scopes?: readonly string[]; } |
input.message? |
string |
input.providerPackageId? |
string |
input.requirementId |
string |
input.scopes? |
readonly string[] |
Returns¶
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}
| Name | Type |
|---|---|
expiresAt? |
string |
message? |
string |
providerPackageId? |
string |
requirementId |
string |
scopes? |
string[] |
state |
| "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable" |
credentialMissing()¶
function credentialMissing(input): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
};
Parameters¶
| Parameter | Type |
|---|---|
input |
{ message?: string; providerPackageId?: string; requirementId: string; scopes?: readonly string[]; } |
input.message? |
string |
input.providerPackageId? |
string |
input.requirementId |
string |
input.scopes? |
readonly string[] |
Returns¶
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}
| Name | Type |
|---|---|
expiresAt? |
string |
message? |
string |
providerPackageId? |
string |
requirementId |
string |
scopes? |
string[] |
state |
| "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable" |
credentialNotRequired()¶
function credentialNotRequired(input): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
};
Parameters¶
| Parameter | Type |
|---|---|
input |
{ message?: string; providerPackageId?: string; requirementId: string; } |
input.message? |
string |
input.providerPackageId? |
string |
input.requirementId |
string |
Returns¶
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}
| Name | Type |
|---|---|
expiresAt? |
string |
message? |
string |
providerPackageId? |
string |
requirementId |
string |
scopes? |
string[] |
state |
| "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable" |
credentialStatusesFromManifest()¶
function credentialStatusesFromManifest(manifest, configuredRequirementIds): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[];
Parameters¶
| Parameter | Type |
|---|---|
manifest |
Pick\<ProviderManifest, "id" | "credentialRequirements"> |
configuredRequirementIds |
Iterable\<string> |
Returns¶
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[]
defineIntegration()¶
function defineIntegration<Manifest, Credentials, Handlers>(input): DefinedIntegration<Manifest, Credentials, Handlers>;
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Manifest extends ProviderManifestAuthorInput |
- |
Credentials |
unknown |
Handlers extends IntegrationOperationHandlers\<Credentials> |
IntegrationOperationHandlers\<Credentials> |
Parameters¶
| Parameter | Type |
|---|---|
input |
DefineIntegrationInput\<Manifest, Credentials, Handlers> |
Returns¶
DefinedIntegration\<Manifest, Credentials, Handlers>
defineIntegrationProviderPackage()¶
function defineIntegrationProviderPackage<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";
} & Manifest;
Type Parameters¶
| Type Parameter |
|---|
Manifest extends ProviderManifestAuthorInput |
Parameters¶
| Parameter | Type |
|---|---|
manifest |
Manifest |
Returns¶
{
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";
} & Manifest
integrationErrorToJSON()¶
Parameters¶
| Parameter | Type |
|---|---|
error |
IntegrationError |
Returns¶
NormalizedIntegrationErrorShape
integrationPage()¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
Item |
- |
Cursor extends string |
string |
Parameters¶
| Parameter | Type |
|---|---|
input |
{ hasNextPage?: boolean; hasPreviousPage?: boolean; items: readonly Item[]; nextCursor?: Cursor; previousCursor?: Cursor; raw?: unknown; } |
input.hasNextPage? |
boolean |
input.hasPreviousPage? |
boolean |
input.items |
readonly Item[] |
input.nextCursor? |
Cursor |
input.previousCursor? |
Cursor |
input.raw? |
unknown |
Returns¶
IntegrationPage\<Item, Cursor>
isProviderNamespacedOperationAlias()¶
Parameters¶
| Parameter | Type |
|---|---|
alias |
string |
manifest |
Pick\<ProviderManifest, "id" | "provider" | "packageName"> |
Returns¶
boolean
normalizeIntegrationError()¶
Parameters¶
| Parameter | Type |
|---|---|
error |
unknown |
context? |
IntegrationErrorContext |
Returns¶
parsedWebhookEvent()¶
Type Parameters¶
| Type Parameter |
|---|
Payload |
Parameters¶
| Parameter | Type |
|---|---|
input |
{ eventId?: string; eventType: string; metadata?: Record\<string, unknown>; payload: Payload; providerPackageId: string; rawBody?: string | Uint8Array\<ArrayBufferLike>; receivedAt?: string; } |
input.eventId? |
string |
input.eventType |
string |
input.metadata? |
Record\<string, unknown> |
input.payload |
Payload |
input.providerPackageId |
string |
input.rawBody? |
string | Uint8Array\<ArrayBufferLike> |
input.receivedAt? |
string |
Returns¶
ParsedWebhookEvent\<Payload>
providerJsonRequest()¶
Type Parameters¶
| Type Parameter | Default type |
|---|---|
T |
unknown |
Parameters¶
| Parameter | Type |
|---|---|
input |
ProviderJsonRequestInput |
Returns¶
Promise\<T>
providerOperationAliasNamespaces()¶
Parameters¶
| Parameter | Type |
|---|---|
manifest |
Pick\<ProviderManifest, "id" | "provider" | "packageName"> |
Returns¶
readonly string[]
providerRequestUrl()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
Pick\<ProviderJsonRequestInput, "baseUrl" | "path" | "pathParams" | "query"> |
Returns¶
string
rejectedWebhook()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
Omit\<WebhookVerificationResult, "status"> & { reason: string; } |
Returns¶
skippedWebhookVerification()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
Omit\<WebhookVerificationResult, "status"> & { reason: string; } |
Returns¶
summarizeIntegrationReadiness()¶
Parameters¶
| Parameter | Type |
|---|---|
statusesInput |
readonly { expiresAt?: string; message?: string; providerPackageId?: string; requirementId: string; scopes?: string[]; state: | "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable"; }[] |
options? |
{ providerPackageId?: string; requiredRequirementIds?: readonly string[]; } |
options.providerPackageId? |
string |
options.requiredRequirementIds? |
readonly string[] |
Returns¶
verifiedWebhook()¶
Parameters¶
| Parameter | Type |
|---|---|
input? |
Omit\<WebhookVerificationResult, "status"> |
Returns¶
References¶
CategoryCoverageLevel¶
Re-exports CategoryCoverageLevel
CategoryDataSourceDeclaration¶
Re-exports CategoryDataSourceDeclaration
CategoryEventDeclaration¶
Re-exports CategoryEventDeclaration
CategoryOperationAliasMap¶
Re-exports CategoryOperationAliasMap
CategoryOperationDeclaration¶
Re-exports CategoryOperationDeclaration
CategoryOperationLevel¶
Re-exports CategoryOperationLevel
CategoryOutputDeclaration¶
Re-exports CategoryOutputDeclaration
ChannelCapabilityDeclaration¶
Re-exports ChannelCapabilityDeclaration
contactCenterCategoryProfile¶
Re-exports contactCenterCategoryProfile
ContactCenterOperationAlias¶
Re-exports ContactCenterOperationAlias
contactCenterOperationAliasMap¶
Re-exports contactCenterOperationAliasMap
ecommerceCategoryProfile¶
Re-exports ecommerceCategoryProfile
EcommerceOperationAlias¶
Re-exports EcommerceOperationAlias
ecommerceOperationAliasMap¶
Re-exports ecommerceOperationAliasMap
emailCategoryProfile¶
Re-exports emailCategoryProfile
EmailOperationAlias¶
Re-exports EmailOperationAlias
emailOperationAliasMap¶
Re-exports emailOperationAliasMap
getIntegrationCategoryProfile¶
Re-exports getIntegrationCategoryProfile
handoffCategoryProfile¶
Re-exports handoffCategoryProfile
integrationCategoryOperationAliasMaps¶
Re-exports integrationCategoryOperationAliasMaps
IntegrationCategoryProfile¶
Re-exports IntegrationCategoryProfile
IntegrationCategoryProfileId¶
Re-exports IntegrationCategoryProfileId
integrationCategoryProfiles¶
Re-exports integrationCategoryProfiles
integrationCategoryProfilesByCategory¶
Re-exports integrationCategoryProfilesByCategory
messagingCategoryProfile¶
Re-exports messagingCategoryProfile
OperationSchemaDescriptor¶
Re-exports OperationSchemaDescriptor
ProviderCapabilityCoverage¶
Re-exports ProviderCapabilityCoverage
ProviderCredentialRequirement¶
Re-exports ProviderCredentialRequirement
ProviderCredentialStatus¶
Re-exports ProviderCredentialStatus
ProviderCredentialStatusInput¶
Re-exports ProviderCredentialStatusInput
ProviderManifest¶
Re-exports ProviderManifest
ProviderManifestInput¶
Re-exports ProviderManifestInput
ProviderOperationDeclaration¶
Re-exports ProviderOperationDeclaration
ProviderOperationDeclarationInput¶
Re-exports ProviderOperationDeclarationInput
requireIntegrationCategoryProfile¶
Re-exports requireIntegrationCategoryProfile
smsCategoryProfile¶
Re-exports smsCategoryProfile
SmsOperationAlias¶
Re-exports SmsOperationAlias
smsOperationAliasMap¶
Re-exports smsOperationAliasMap
ticketingCategoryProfile¶
Re-exports ticketingCategoryProfile
TicketingOperationAlias¶
Re-exports TicketingOperationAlias
ticketingOperationAliasMap¶
Re-exports ticketingOperationAliasMap
voiceCategoryProfile¶
Re-exports voiceCategoryProfile
VoiceOperationAlias¶
Re-exports VoiceOperationAlias
voiceOperationAliasMap¶
Re-exports voiceOperationAliasMap
workplaceCategoryProfile¶
Re-exports workplaceCategoryProfile
WorkplaceOperationAlias¶
Re-exports WorkplaceOperationAlias
workplaceOperationAliasMap¶
Re-exports workplaceOperationAliasMap